From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Bart Van Assche To: "tj@kernel.org" , "paolo.valente@linaro.org" , "axboe@kernel.dk" CC: "ulf.hansson@linaro.org" , "linux-kernel@vger.kernel.org" , "fchecconi@gmail.com" , "avanzini.arianna@gmail.com" , "linux-block@vger.kernel.org" , "linus.walleij@linaro.org" , "broonie@kernel.org" Subject: Re: [PATCH RFC 00/14] Add the BFQ I/O Scheduler to blk-mq Date: Tue, 7 Mar 2017 01:00:03 +0000 Message-ID: <1488848390.3125.14.camel@sandisk.com> References: <20170304160131.57366-1-paolo.valente@linaro.org> In-Reply-To: <20170304160131.57366-1-paolo.valente@linaro.org> Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Return-Path: Bart.VanAssche@sandisk.com List-ID: On Sat, 2017-03-04 at 17:01 +0100, Paolo Valente wrote: > Finally, a few details on the patchset. >=20 > The first two patches introduce BFQ-v0, which is more or less the > first version of BFQ submitted a few years ago [1]. The remaining > patches turn progressively BFQ-v0 into BFQ-v8r8, the current version > of BFQ. Hello Paolo, Thank you for having done the work to improve, test, fix and post the BFQ scheduler as a patch series. However, from what I have seen in the patches there is a large number of tunable constants in the code for which no scientific approach exists to chose an optimal value. Additionally, the complexity of the code is huge. Just like for CFQ, sooner or later someone will run into a bug or a performance issue and will post a patch to fix it. However, the complexity of BFQ is such that a source code review alone won't be sufficient to verify whether or not such a patch negatively affects a workload or device that has not been tested by the author of the patch. This makes me wonder what process should be followed to verify future BFQ patches? Thanks, Bart.= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754606AbdCGBlL (ORCPT ); Mon, 6 Mar 2017 20:41:11 -0500 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:50934 "EHLO esa1.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753106AbdCGBlH (ORCPT ); Mon, 6 Mar 2017 20:41:07 -0500 X-IronPort-AV: E=Sophos;i="5.35,256,1483977600"; d="scan'208";a="103403272" Authentication-Results: spf=pass (sender IP is 74.221.232.55) smtp.mailfrom=sandisk.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac1c2134-b9d8b98000005688-32-58be0630cf51 From: Bart Van Assche To: "tj@kernel.org" , "paolo.valente@linaro.org" , "axboe@kernel.dk" CC: "ulf.hansson@linaro.org" , "linux-kernel@vger.kernel.org" , "fchecconi@gmail.com" , "avanzini.arianna@gmail.com" , "linux-block@vger.kernel.org" , "linus.walleij@linaro.org" , "broonie@kernel.org" Subject: Re: [PATCH RFC 00/14] Add the BFQ I/O Scheduler to blk-mq Thread-Topic: [PATCH RFC 00/14] Add the BFQ I/O Scheduler to blk-mq Thread-Index: AQHSlt4n6EhQqtIJ/E2VQBtgwWFX/Q== Date: Tue, 7 Mar 2017 01:00:03 +0000 Message-ID: <1488848390.3125.14.camel@sandisk.com> References: <20170304160131.57366-1-paolo.valente@linaro.org> In-Reply-To: <20170304160131.57366-1-paolo.valente@linaro.org> Accept-Language: nl-NL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.28.1.254] Content-Type: text/plain; charset="iso-8859-1" Content-ID: <74A7BCA91106F342BB31BC67197014CA@sandisk.com> MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrBIsWRmVeSWpSXmKPExsWyRobxn64B274Ig4835S2+vfvCZLH6bj+b xdSHT9gsbmy7z2wx5c9yJou9t7QtLu+aw2bx6s9eJotfy48yWhxfG+7A5bFz1l12j8tnSz02 repk87hzbQ+bx+dNcgGsUVw2Kak5mWWpRfp2CVwZzfNqC55yVGz8tpatgfE/WxcjJ4eEgIlE 15T7TCC2kMASJolt3y26GLmA7POMEu8aZzKDJNgEjCRmT9jDApIQEWhklJjdfpMdxGEWaGWW uLTsOgtIlbCAk8SRlVMYQWwRAWeJVzNesEDYehJPNn4Hs1kEVCT23j0BNpUXaOqb3YdYIVbb Stxo3gFWwylgJzFz5RKgOAcHo4CsRMtrbpAws4C4xK0n85kgrhaQWLLnPDOELSrx8vE/Vghb QeLzin9sEPV6EjemToGyrSTuz1/MCGFrSyxb+BrqBEGJkzOfsExgFJuFZMUsJO2zkLTPQtI+ C0n7AkbWVYxixYnJxbnpqQWGpnrFiXkpmcXZesn5uZsYwfGraLKDsWOj+yFGAQ5GJR5ejsy9 EUKsiWXFlbmHGCU4mJVEeBccBArxpiRWVqUW5ccXleakFh9ilOZgURLnXao9NUJIID2xJDU7 NbUgtQgmy8TBKdXAKOy9ynQB077pi4PWpMu/WWvscyd9l+hfS+nDDhuDFcOlQk0ZvrN5v6iv ZpvaOq/dpO6Wz+lV0fFfhJzVe/MimX+rnRFNPfdyv2B7cOsKlexN6471FLFO2M1ZpPrpP0Pd 5ghTw3Suq9WuN1g/bjU2VmJnkIi355dNVU/gYFjTopLrbdfAe1eJpTgj0VCLuag4EQARopOw 2wIAAA== X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:74.221.232.55;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(7916002)(39410400002)(39450400003)(39850400002)(39860400002)(39840400002)(2980300002)(438002)(24454002)(199003)(189002)(377424004)(9170700003)(53936002)(54906002)(2270400002)(5660300001)(47776003)(8936002)(626004)(103116003)(33646002)(2201001)(305945005)(86362001)(345774005)(2501003)(23756003)(7736002)(2906002)(6116002)(8746002)(7416002)(102836003)(2900100001)(76176999)(54356999)(50986999)(229853002)(106116001)(50466002)(36756003)(106466001)(6246003)(4326008)(92566002)(38730400002)(39060400002)(8676002)(2950100002)(356003)(81166006)(3846002)(189998001)(7099028)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0401MB1503;H:sacsmgep15.sandisk.com;FPR:;SPF:Pass;MLV:ovrnspm;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;SN1NAM04FT051;1:r+gYPMskOkUr8NAEz0qsAcoRp5FLcSvfJ6BJD78AkBazRY+6qvbvNcNKfr3caEe5wSmeScjnp5HmKsSja29zA0sDet6i7Oq1Qund4eAphOmdYlzLXeeFp/zx9XD5CDCi7bmGr9StvXkxTLpuVYhX4gvuWdjL47B+XRlFnLXk7YtTb9L93o1tHiZOf2HhoHl5fHdmTGUC7Fc+WC4zEv//KbA1/CICVHXk8s2+H1y/LBJ2jTBaSwWDly/nvQssUIv5PtLbyTtZ5aNZYxSuPNfOQpHLT8t3j/z3LW7z75ovfHHiqj6y+02prQw6ijximCc0K5So62NE1fva3suwI9Xqs/WFZ5BLD3SubcB5i3BlE2Pp38gtgclK6lEuHERNgNQQ9qNrGkE3kG7GH1O4xCR/kpu1hCA0MHCL9bGf/cxzpC14dMe76rfy5irZUsjtCJo+32V+PwW8aPa+FkDu4yflFqN7ICrBcPUtxgYDfQAJjtBDAC9bZPQ4CO8mNBjMDICxGZlyz4FU8JWTEq0r+UgoAfcb10sjkx7s/rb7wKQzTMRF4qgX7Wy9lfn92vfnJgSQ2swJ4bbWkl2Jp6NsB2TZaw== X-MS-Office365-Filtering-Correlation-Id: 15748b44-bced-4408-5e4f-08d464f55d18 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:CY1PR0401MB1503; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0401MB1503;3:uB3emyAzpCsZJz4N+T6L1KZKvwJ7Qo/e4Gu9nsT9LQlIgpwuMWMwRqbxnKvUxwOff8F+iBE22ixuYBqLtbc0gr+a7i8GG8eETPVffpXYhrfadiBqPsqPcUehQ3nHKIgYR/5cZmnx55jvP20MwkDEv5O01q/zeohJYOcwEaDc8pag5cAZyCTGxvnHBVEyCtYHjVuQa6OiDB7U0oxKe6g3g5CQZ/VQ9jylMq9vKPo7sRVg0klIAUyJP2Ke5Xtp+llx5QdVVXYVuu98pQpeZwF2nXuthLQQkwvTPvRV4/PvNUHtEbvmaqEMPT5RXnI8DizBqLlH/HdN7JUCyfboOFuStGrCBtd59Nse4HK9j8nuNhqwekl6KpYqVTQ3nPtbILA/tvgNEWsofVDk3HFYQUwyJg==;25:tpzgbIlDiSy+K05Ift2jBmioxGiio6+d5UHHjevCPi1L1t5U/gKMGETHYHPRT4DNzYSynZvPMb65PTqkVkUe1TI76OeTU16DwSaphionjR1pvwZZwyEQ1N6oR1TnpG/rfW01jElapo6MEV682rQCBsy3BkX44YHOW9KpT5pBACLCs1v3JlnuiCE4Y3E+sNhkBU33Eg9xno41o3hkmVDH69qM3Q9IxkK6H0XNTemrz2jHT+5pa4nbUORhjf4S36aMLiOKZv9XBc5fdE2p3TBKHU0Tue4gVGNkgEf3O+iEyX3RL4099E9zK+Kss7aAM3g9uT9lN36adF5+0QbtH8+uLqsClf/ZPhjtmN2LGjbenhoYwQMFBAkMeaDet5UWkJnfCuOMkUGcHomJAh8pD5LYQSkLfCNvTrsjMG4X6ePsKYm0K5bKkRAARWWbzb6nK188nLMw3GTF2AEZ58J7eV0sbA== X-Microsoft-Exchange-Diagnostics: 1;CY1PR0401MB1503;31:MDBfapa6M6rRIRtG+7DgoRgIS7un+2chYWq/4db3dsysSWUr1EGz0p34YvymIJZVExhQU+2lF8ZKQV07Vy7hB1RHER6riUNTWqTstN97jb07rCGDJ9plgFfFWRYG18kzMZ4VpJfuKgOi2udR4p7akEt5uvpNsYW0/t0nuZw8SaKtB4+1zwoPUv6DPMTpHoenIz3Ty/eow3zeDwfnzZ07ZaD7/kd9I15tEafhCniJH7mlTMkwccJepYe8o5PU++ZRFk83CTTkZYKuhs/Tb+ooew==;20:lF5AFYZmdWgngc8CLlvfcOxEc8A+x6505oBN4e6YfGn4dO4Y7ZiIvzBqASUTHHv+jh6R8G53FWFDYa5Es6tKCXP0n5tAmRfiNuIzVDCI13Q41ubJuBAoP6sCQ8s4xy5AnrKBDjznk+qEDVLvlT3sHg+ztHe57+aE15JJ57dV0rDWyLcD+Ie9nLDWoLpZqcfoMbREr5y/nQd6KQkzDbynhrU8C0YJGnN5+aeieClAra843Z9gXl4o326rhBsO43uF3yDmmPr6g1ObGHAZkOIXv4lJIpqAtWkPhfM+fKpCodBj4g6Q5mt02GMhHonKRF6pR5ZTDbK09oICkU+t0Y38QbPlNL/6XtDdZdVggTymM/KPArM2RC6y3rOaH2Uvt9TeadaUl1fNKqpsCzBJ9J6D8dDBBcYWMkiBUpNFMafk0D6cooKiHXcY0/5NyI4mBV0Ha+blJm8jo4kTSszc8FSB0EsKFbBq4bB7WQSVvL5FMEQ0ZgXaMJEi+z6O2p3LeejB X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(13024025)(13018025)(13023025)(13015025)(13017025)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123560025)(20161123558025)(20161123564025)(20161123555025)(20161123562025)(6072148);SRVR:CY1PR0401MB1503;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0401MB1503; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0401MB1503;4:etFwH1XEFO2ZL9Oevv5XPA718D1dQOZI+JBi1oNwLonaMmamaOmyVEnFYUantiCjGiMgXN65u+f5pV3Ogd5iNTiF/RU85bxHGGN+tuaBIYWKaccJufrdrfzTUM0KOb8K91JWoYPri3YyVI412hoIgcS34cQNHCglcLWsuvlxnT/Ffn37eQ05id2VLsOMOThNfXD/8t+NizzY4vk8kfF7He6+bfFB5FBQ2Tib88xVTRBEB2hj2pIlzuMXMH9NWUrqYfDyV5C8+VqLi69q0jqbmzfOgmCab2B+Ex+S34/SlzPAXpCNuNW/RUBQ7TtUSYyvYEqnwn70THQjFU6xwXWfS8ug2m/TDxzOhDzLCW+yC4OgMlXFRFKK0gOqJdtrJh2ey5PpdLqRYoSqIMvN0zjLN7qJAdN9XsRe9IwkNXzzKsBxlVxJ6yuBcrAHix3LbO5GQMzXnXT77Dxx/JQEBaab6KlbsPdu8hi4+UYlBTPPnikY3LS5qwI7M2a7dpRHIhrjm3T+dKjVPyUqQa8qk01kd6EL4fde4FN/PJShw4ZuzP5z/otdXpGap1EkwO29LUWVqLjVJ8DFnNr4in3/qmi4Qs7mCkVUwxfyLPBcqkz+ICLQtuTuAAPq4GtuSZvKAWZpsNq/KJCIRwdXbGliv+uS4XXXCLpF1bihnq0pL2pNKu5CDjv6aSoKeSAeUXnI3gG32w6xH0zZG8kaiwo4adKj4g== X-Forefront-PRVS: 0239D46DB6 X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;CY1PR0401MB1503;23:UTz27mkrlUt0iJUe5fntWjIPhGbpywVIYI9Gw?= =?iso-8859-1?Q?M8Kp5bDlO40/Oxu6GcUF+tko3jtjKgNmUpv3lCRfUF4P40wi9eHbPI+fqx?= =?iso-8859-1?Q?bdRnnlmg9zdTeuyF7qAKMYfSKPYa61TlxyYrE9gzJ+YF36XFWTB1nrbwxe?= =?iso-8859-1?Q?V+FRPVszjGp00prk6jpalKD1c99ZIVRlzvpLe8GD49Dl8c+t3ek32flnFf?= =?iso-8859-1?Q?y8Yn1e5FsqjHHoaf0Oj0bI4X1aRjm2wsrFeVcHKXUCJNFY3IE+rNMZyJGK?= =?iso-8859-1?Q?xAZ6K9MwD/IGgL7AJIDRZT8la5ay/ndLpi/IDZR5XKqdd06RskEbRcC0yg?= =?iso-8859-1?Q?PL96T+pXWmcD8O/cNcDEbpoEeokqezinlNQtI6sbpCL0c3sMo2/Rwzz0h7?= =?iso-8859-1?Q?1iu4OQNqpoJmc0/U8d9RnbYCx8kHL1Ux/dG3NbI+Hxuve0wJnhaLk/CU5N?= =?iso-8859-1?Q?+uwABKq+J+knEP7NCmxGBHs6xjs1tRzx6A51Wz7TAobJIoUHxwUgEnt+OP?= =?iso-8859-1?Q?ryM9MIM5lEH4pYnQ+F3RJ/jeQ2by3bvlP9bG1o1C5vK73Q/kfLEtx7qkDv?= =?iso-8859-1?Q?OTBZfe2drHhNPY/NTEPV3lfWgdmlYTPfQ8JxJ+3S0fo+8oB+KJUMs0dKwN?= =?iso-8859-1?Q?zutW2eH/tf8W3dA+VrhpRgwrq3MASmoz3iFoExoXU8LsoPrdcM2c8NMMX0?= =?iso-8859-1?Q?lsxyTqwSTdMQgXmia4IYCAQFGx5EQ0riaK1qto5ls3o/4BceCU1TX/LHT+?= =?iso-8859-1?Q?m6K6OUTGeANaMkousF0uZnwLOx1F9dVx3PBLhN4Zrbf3XBntqEfSPg+5lF?= =?iso-8859-1?Q?aeNpUNsuRnXp8wMJVPki3uVid8JTJ36Uv5rout1F6KI1AJEtYSHWpc+6pr?= =?iso-8859-1?Q?seXGX6Mptr40GKljwvzZFHra7ss4jKt428GtHQwIC8jv3J3adjOG+4UBb2?= =?iso-8859-1?Q?AqH5F1ugH3zBxdTOLdOcVyo6A14mcctW5pvDLoJXAgDpm+wi8Q+7zRWeGP?= =?iso-8859-1?Q?beeSL8iBq8MKyhrTupj40J3uRlHoqn+iO7T7aFvPLGx2T4cdmka9Yu3Gtd?= =?iso-8859-1?Q?I7SSBzA89jRlFZfDWEgLxboazkPFGuh899Ty2Jt/Mty7YWZZdO3NkYvPS3?= =?iso-8859-1?Q?gi9TzF0LS5fLBc8K9gSU8lDHG8axQRZXp7GSGvDAVJL6qyF9Rtx1mk4Gy+?= =?iso-8859-1?Q?IzX06s/lOl/YDJhAf32IYQ7qV9xjEISY/jeQ9TCAC1TiUaWNJs1Docn0iU?= =?iso-8859-1?Q?vmK8z5wk4ojaNGep+QVePUCCB0G36239WMkI6m4xpqtQbrF74YmwvKYROD?= =?iso-8859-1?Q?O7sAenKLys8deP3zhz9jL1302xaYxVlN7sH3lmTrQJTJgUVSxFMf45hTHg?= =?iso-8859-1?Q?5j0t17P5NpPCUihTpMXBJ9hLE0xJdlHS+jiioANSYUSOV/T3z8aaw=3D?= =?iso-8859-1?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0401MB1503;6:8z7wNS5rwTzQ0jertMkVX5NIe2SutpJ7Q48xnxmMIT+UPDS26WhdScYdy1Mj1EA2yPaxfhiu+6AUjhlSY6nmzEwf5pS8OFwuh3alD1+BGAycxT+zeyU7p3UE2ZN6O7KmAPFC+hqphLOsE2owcIhfZnbFG8GDxKGAPsuG3+rkGpx5V0m4/8c6SeUngITGdOhvCinMohScCoXmovN1orkINmTFbpiaxMWQobN+RFXbVCG/s7DG2tx3pKKxKcWHGwAMnBX299D8zdtfNCtPiKXvDQrF30RKCgbhuWYRdHx/7ioRqk4YBQaz50hqbVmh9xstAu/TPWgvmp/QZLkD/p9dUOOoHFdg/mjzRN5f/WqflWqmMzi09tFVzk8lhvKw16r1+rbU0f46xmjPhpTNo0NuGOeH/RhTTkFXqIiuNMhTRDw=;5:/8ljfBUKhxU6RsGimXi0LMbYjhkNk74wxNK//2cSE2JX+P10ix8tadTJFO3yYvXnBajCRIPAWpAaAv3GAZ6tREe0yBKUGW+zDtoSnH7WI+kPN/GkCTFcO+Kaa4EUsnBJF8CkyjfDABn0vnLUKYRwIQ==;24:1IP6OCgftx67ak5KZSEdsl7q0UPuODzm2SJXENzOWMiEkYNT/B4rSw4alBZJB3ySMudUH0I/+NY5btazWnP8PgZTezyS/VvIZjbNGwcIFH4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR0401MB1503;7:PeZo1bc0OcilhXGECWlf5KQOFyRogIJo4MJS04UIFxhoRB3fAJYVN2J2aUR63F8VbJ8YB4Y4HGkwr/Y4Xb6MTq2AqBIb/+iy+6R8qy96j4SWUayM49I8I6JVYDrCaK9qHYIihYQldgS44pCExhNJM711HZlcL2y3YymHJsjC9iOoCIQMR1WSGx8LUcQ+XkHMR6ibc5UL1FlcOYLTEzCZpPeEmmHd2TjQytavsLr0lvMCGLH7vyq7S/xXHHcLvG285zVR3yjSI3Z4YdWC4Ad2zIOWnsqyKY0K+lYfG4vJlFW4tZn+fIl1RJWEHd4Q1q79jHNs7t84uU34QujxGWWl0A==;20:Novt/pi7Uj2NozQU2pSZEM4S7CzPdOgXGGoueIR9NNw7RPtSyTt2JCLXaj+rYyStSjwt7CmQs8Utnfv6LoMnEHwVnC/7CqwyrduYGqc77RLzKWRMAIX/kmD9cJjpT3XyOKY6vb1pAK5orKspOmwXcMMu+RfGsPbMCwkUUfdmmsg= X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2017 01:00:34.8975 (UTC) X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=b61c8803-16f3-4c35-9b17-6f65f441df86;Ip=[74.221.232.55];Helo=[sacsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0401MB1503 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v271fPZn011585 On Sat, 2017-03-04 at 17:01 +0100, Paolo Valente wrote: > Finally, a few details on the patchset. > > The first two patches introduce BFQ-v0, which is more or less the > first version of BFQ submitted a few years ago [1]. The remaining > patches turn progressively BFQ-v0 into BFQ-v8r8, the current version > of BFQ. Hello Paolo, Thank you for having done the work to improve, test, fix and post the BFQ scheduler as a patch series. However, from what I have seen in the patches there is a large number of tunable constants in the code for which no scientific approach exists to chose an optimal value. Additionally, the complexity of the code is huge. Just like for CFQ, sooner or later someone will run into a bug or a performance issue and will post a patch to fix it. However, the complexity of BFQ is such that a source code review alone won't be sufficient to verify whether or not such a patch negatively affects a workload or device that has not been tested by the author of the patch. This makes me wonder what process should be followed to verify future BFQ patches? Thanks, Bart.