Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933624AbcLMQ33 (ORCPT ); Tue, 13 Dec 2016 11:29:29 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:49639 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932771AbcLMQ2Q (ORCPT ); Tue, 13 Dec 2016 11:28:16 -0500 Subject: Re: [PATCHSET/RFC v2] blk-mq scheduling framework To: Paolo Valente References: <1481228005-9245-1-git-send-email-axboe@fb.com> <9D1F7CB5-4043-448B-A553-D6A9804D5089@linaro.org> <20161213151739.GA32618@kernel.dk> CC: , Linux-Kernal , From: Jens Axboe Message-ID: Date: Tue, 13 Dec 2016 09:28:02 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [216.160.245.98] X-ClientProxiedBy: BLUPR14CA0004.namprd14.prod.outlook.com (10.163.77.142) To MWHPR15MB1198.namprd15.prod.outlook.com (10.175.2.140) X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1198;2:9a+CJQAVLpRSWY58KQoWC318sLwnC1+0Zu/6DDL4K4U6o6TtghhggxpYhAcRq8xPJB+1ZuSC6sL4ojweDwgCPdxa78dYetUCU3b/qSMHLstcQv5ZOivz1msVagwKxtfLbwcq+0MmOQxzAYLUkJJO8MnMm/jdZrTH/HwR/9k8NFA=;3:huBEktFynR2dbfe4+j+AZp3n6O30X2b7YJFP8LTxtNoSc4TLGtW+KSm9SeyonLGQB+DcmYXGJ6otCyqmBe7eoSgtP9EOyIs8sWNxiPuOLcZ1fUafpSLl3DukivXQY+cUt311Su5tVDkVLemPmxfr7X5ooyvThZm4KG3rkZu0i1g= X-MS-Office365-Filtering-Correlation-Id: fb365eae-1e03-42f1-d937-08d4237505b6 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:MWHPR15MB1198; X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1198;25:JSQLjMXTZ7BeHR6qJQrSnOCGmJBWrX33hhAzpHPSBhzcAXLcef/MjCtKe9n9LVI2SSNkGRu3EVx8tQN9XoKGw9GOap15pE/NRKscvjttSJTzZ+HPRj7huX0ojocm1q1JjNnVflC7o5vEaJ0UIWWvtTA6h1GNHCEJFl6bsiV7p5RnAvmBCFwIb2jG4vfLDib+Z+AVzMt4FrMJcJMClzKMNk6uFg1Llxjt3PyqFGf8EtPriqJiZXM178ISBYMjETPmNDbgfx8/4gIr5vooSi/ktpthr68Ni9G68zNEuGbybbUB4sh57IJRPvYb5tUNWJ4sXELV5+TSN+muJTxE3yJJFj0nPoM7045pgiMzZgjEcpXOXi23s8BbgxirFtkzyzKCOrsMxGjeJvW0RHAsbax1DEvR2Jg9d6oRKNqqqO0oR0t3q59te95c6wMgHDOvlyOvd3a4sGvbUSdsLjbNz/ih3pQD2aOyIkOVlaWx+CCAlbpC3GH0ntkUrt3u67+Lvb2XYpD+kdt8j6RlgoqeG7XWf6zJe4E18cDgwrQyj+xJNiAIQQP8mMVygjXCeIBQgNG+TATSolm+czMzKmHs/J8roC1gJPlRu1OO63+38pzKcr0M9ZMz9elqqvbZmgGNbQKU+euMJOSv7W9cShKHbdTlJLHHec2UjU2E/tTsiZVDkI7gtntOpFnpGXWUIb/FisxC12l2WQnC7R6aU48ll5eAAwWPRK8GDd/eW6MYBmkrrticxvzp4DdpQqcTSWki92OYnqCzzZ3iTHyija2rCtH2IViOHCF0LLdKXzAJwgYRBnID9N8krP/fVD4FFlOAkK7Q8bAwiBAA2JlGA6kPKaBvVN5a+PrXOILE9McwmqKc8TgNYmh1xZ4D3sw+Q++bzk53 X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1198;31:hoavE2p0zRzH5NxERBbwrYkAWUmbLeSp3vcL36yDpRssQOHCoFT1iNUstd8NkMYTqtEL6qOloL37uYeTuv0iIdfZN7gpZ/tRG2b58Eg0KHz6KWVxDY2BYEsvJdaxUJTHAkOBeDb4bea+PVCgiQLSqNKOty7W/ndAwZ5un4AHfIYvAnvNxPEMUF2dxCSqYOkzdxuG/r4FwM0tReZ0SD3movBe1KC3ZXwJ4p857RdXdLWmV3TbHj3vuoC3oFmnHacW;20:eFvLe8tirRAueGkvvtX+TohkviJgibOw/Rn3kETwOrGqSJCwpgQuDvqkYa8iB976SBaJ+4oMAeWvHJ5+S/ru4E/XVbYSWN1lcIaQOKPeDuF4jd2wCoG1ESyDgXy06S+VxzTx4PeXzVv0dxPDR1T36ftJnFb4ptoTJTxMXrcsLn51R6huTiSL01W03aKwszUJK2h7eDN4hT6ma8myRjjd2l3B5CkWReLdcB+a3S1xIIMv5YANNc+7/Nm1TpksuPXxyRRD0NGiZf7iiC+AU+FXWVrZVKQsUlbhvWm9Qlo8Iya4g/EPqPO0K9DjqJ+q+2fkh85+ZXdvsn8ZGNhxb58CTgVsGW25oLXR72rV06lzUWZa71P0hlBMDvzPdfKnOQ97UOinA6Op0A4kqcmA7xsAcpbSfwOSofZkEFcYBHZpSoXWRp2FrGVcx0MlhUgapd4mhLBiI1tMPvYB15iT3NcY5Z9RJ22MKs0MgS0NywQp+ee6MZaWPePoOGErRVDvtWAy X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148);SRVR:MWHPR15MB1198;BCL:0;PCL:0;RULEID:;SRVR:MWHPR15MB1198; X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1198;4:vdzm9rHl2IywyXWwtiRGKGZDvUrbxXxTiwBdIYZYt1VMGLPx3OHjmz+JP7iiKWD2RB0jH5CVqG3R356ZxsmEsTKmE73qzDGNjumrKKZ1VPZ6/6DH5IxolKKbhtPIz6JTs0SDge5gRBne6lnxrhwCFebtLEFD4GzkzwM6D2KYczzqYA/mDsvLsDkVK+Im7ljsJpCKIr9+vui/Nomcls9V4SSrKArFyF84hb/ItbVMsRGHHCmO1kaB+qDmxn3OMoifC2ZY3UaJiJP4iBsVcqTETYSOtuGO8gXRBC7aKRJvV4FingcjrSi6c6WWYfiQEF5PQebWOTAo5Ujk6EbuO99m3AOcIex7vAeErRCm8acgq7xjXJFtfahuqqVPi7KFhNKvUT6nIL7W7ZzWRB2gH6rGXYwQTGA7RyzoNRCG3Qpv7q8Jibq+d27eGKG2p5tMlgFL3FpTHvw1ypSaoJME77ehBvT07VL/9WbjmDJsow2EvZr2B8GMI1MJGq0d3/cT7dKX9WSnZEqkfI4Wvu7EGGg5vLkG02Fpv4CZxMgEXBaLqqQQrHktTKdgb0ODjKRMqn/+HLxfyJ0XnPjHZsYG9v1/G46q4yrVKRct+ON7DpwThyYF0a5FvEKBxPHrsvNz0S7e X-Forefront-PRVS: 01559F388D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(39450400003)(39850400002)(39840400002)(39410400002)(377454003)(199003)(189002)(24454002)(76176999)(230700001)(50466002)(50986999)(33646002)(65826007)(81166006)(64126003)(54356999)(5660300001)(101416001)(81156014)(110136003)(65806001)(92566002)(23746002)(105586002)(106356001)(6116002)(229853002)(42186005)(3846002)(47776003)(305945005)(36756003)(7736002)(66066001)(65956001)(8676002)(117156001)(6916009)(93886004)(4001350100001)(97736004)(4326007)(68736007)(2906002)(6666003)(86362001)(189998001)(83506001)(2950100002)(38730400001)(90366009)(31696002)(77096006)(6486002)(31686004)(6606295002);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR15MB1198;H:[192.168.1.129];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;MWHPR15MB1198;23:Boxs7Yp4qiQY7F2jahw/0LHZ83AkSFn20WMC/?= =?Windows-1252?Q?jIJ/D6hurlwEtgnRE+04cAJV+Zhz/PIcmmjqVPXHKJRb5+LKT0AT7kNi?= =?Windows-1252?Q?mllx6hzUwLeojPmw5TM7RA0neLBixyNO4bW+CDeRaEf8AIeOc3v+ocnc?= =?Windows-1252?Q?IOzPsmnM6oEJkYXfzHDb4bBw9JkqZ03zm31mdPC4xssNuqr/q3K8xljo?= =?Windows-1252?Q?U9TBcnPYOnMi/ci6OfD4LoXnqbzSHVRh7uh0V/cvlzkXTFDszdDpCNBB?= =?Windows-1252?Q?I8S7Ekhq21oGFNjItgYM7n4+K+6uSdNpNPwHPaA3kr2okMuTgF867W1N?= =?Windows-1252?Q?lRo1yLwSXbXzC/EWfu2aiEKGI5JYOqbJy8x4VQnNeWdu7YU0F642SzBN?= =?Windows-1252?Q?hXd0hSYShEyPUMfm8VUU0TiSFa4yDKtGUc5puotnek52L+sQ3WLazN3K?= =?Windows-1252?Q?MImD2Zr3aN/RjKJdO99eIixsNcjrZLh6YpMeERWOhnnqKllNwwr9Yklq?= =?Windows-1252?Q?gQMjydtRihDsHKvUjySM6XQYeBlr1wckBoNILtAncVOwqCokApaKvHXV?= =?Windows-1252?Q?bouCMKJgrFzmgj0sjixNbuclT7x1LzXnjLqTOjLebYD54OAgZ7LznpAQ?= =?Windows-1252?Q?O3y8abDBChxtAdyxuji4Ywm29GbZEpIPJ3nFQ9bmPZ+Ej+hDdMOMwzO4?= =?Windows-1252?Q?fkrxE3vPPOlPMH0OlY3giMVOH7DwINzoB1zjuK3ZWh/tCMISb5Oh/u30?= =?Windows-1252?Q?SGH9mxMF68rp5Rhg+ds//w81+Vjs4h0wwUNzAUhJwSgW2+LKiEvQABLi?= =?Windows-1252?Q?tzjgB5cGE6qtnmhlZdL/ko9qbQS5yMICNiMp9GrZt42TNs/J8ff2iCoF?= =?Windows-1252?Q?RrNhCCV+8ac75SGtqB7GJ+w8laQ6OK8RpOp7kg3L6cQ8FOI55gpMIOXk?= =?Windows-1252?Q?OhLYdsKMA7zOQfE88jDHqpKTXzqlfcEj7AhWun7+E+Mvp4QdCkmY6/kT?= =?Windows-1252?Q?URUrjNiMYSJcjVSVivbCpT5f43K+eiRfhcB94u5btGo9rJCgJn1LJY3o?= =?Windows-1252?Q?JlQA3U000MyiHTnLt6bs5ZrUOxxSdBGP3gs986CpA0N9yDZQb1A5D1Gl?= =?Windows-1252?Q?TwDsP6UsjEllbZSqFSjaNrHGDkgu87bWx0aEcoopmCcCiNms2TUD0gJh?= =?Windows-1252?Q?iCPhu7xdMRY0tiIgyG8IVa+UTC3Nwv0zirWhO/7LHXXplK9gvoeOh1ff?= =?Windows-1252?Q?G9+YyCMljKA0TmV9CPYdFRULrySL9iINdAA250AzflKbeeCaXqB7IBU8?= =?Windows-1252?Q?fTvYLaC7iR+dDSiHBpAGcfkQF36ko48awe5dmZPnrmXjGGuuqS9Boje/?= =?Windows-1252?Q?RT4g9io5GeLs36Aow9t/OIbfmLKYLKkK1UBewWxq1y4D+/BJ6jrOrxCi?= =?Windows-1252?Q?P9zoPxuCTqsl6CSrYO2W/U8DbVKAWkCIBWlVpqhIlXiplCeUoxfHxzYt?= =?Windows-1252?Q?ZpSIBjEZRZ4BfxFKZAO7Cei+3RRAe4AyR+akwCQ8w5mauNNHWO4M6QVW?= =?Windows-1252?Q?dM+24bwWMSVmyy2XWvJGYVuxpUEp0Xuy0Ck2OlCQlN61T4MblE+zaznQ?= =?Windows-1252?Q?mjZ7pCCZ84RAbpfCYL49qY=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1198;6:O+hL28DAG5KnOW9GNHZG91P9KEjYOD8kLNfHUqr6RsbQfhY3bOBOxKCMrSYnOAh58eyXQjVEuXyY618uVP928QOqQ3Yb07q1HIlCZz+T8Csh+VJjhUCBWE6A9NdzOYpisX3Mk/cAW1XeB/bv5zfie04lPqBkGRxOVrntvLfhGYsSh4ZK9sqNt3voVZ7Bdr3AZBWsUfxZFmNbyNdaC/TojDOw3KHRblH1z/MRiUyUYYq2XjJBrkDtNk499qP2u2T4q9RujLjgG3ExafUDa4Cy4qI5BPXQsvdWD27hmYi1Vt/l8Xm4bJ4/yEISDotb/PV9;5:z7HNFR7Hyg/I8ePMPMOOGUe6ksrlONSj1UpXIf7Czg0/7gaqfHXnKkSWB6Kv+UoQjaKNReZI5xmTCQT/kIUuINR2e5QHM/LCgb9LUYgFH2qHfQnQ/7qS9gmOrOmjU5tq5h8rWZZyhDy8m6usw36r4A==;24:I4mnMT596h/dvf2Aen+jrSSHWORhxRHHofTwEhOi8YNjF8JaPvkR2ReAaP37dgEZhE1wwG3htchaS799zfnQuKPo1yOqkZyIrvK/to0lNHM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1198;7:aKjiZfqZdp9TvRGypDDLrvfp2k1CTif7q1hYUXpO/QreKznIWTrK/zDOLSsd/NXSjB3Sc/2/W+wEsCKAoFsGF2IG5zVD5Q2QHqtsHsjloc7Kkil6ZXzAaMS0OaQZi09UBZD2KpnVvlVwomg6qIdRI9RWJUvQFgn0dPlnMQ1KCCCWoHiGUsHQN6r1xH7GhbyJXtPnhP/04iKD/8T36FYnYspxht0Qxa4AGKcJNnQT8Iw8yo1iqOBYexgydfMUkHz3at3VULxtApK16OcOBIMo8GMe8WMUVU1NmHsstwO18ye7i/KPRndrrfZsG0ArKF4MtY0+yENgKwQbz4iGOMH84HvzFjuBl60sWJ/Mq5vtc1w=;20:312Q2MF1HwxPeI5WEhnlPDr5rmkLzO9JMy7piJ9CA+P5dqfdi91NR9FFX8SmzSCTezEe9YkjjzennYQyJXzRSaFbbAwiD8WPy+s9XehIeCGAfJKt/72JHpUL0Ity9rLw6HLRs88Rnk5IeaFZ/eKaNoBh0mlonwtNhuATsKMfwEI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2016 16:28:06.7927 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR15MB1198 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-12-13_11:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2549 Lines: 61 On 12/13/2016 09:15 AM, Paolo Valente wrote: > >> Il giorno 13 dic 2016, alle ore 16:17, Jens Axboe ha scritto: >> >> On Tue, Dec 13 2016, Paolo Valente wrote: >>> >>>> Il giorno 08 dic 2016, alle ore 21:13, Jens Axboe ha scritto: >>>> >>>> As a followup to this posting from yesterday: >>>> >>>> https://marc.info/?l=linux-block&m=148115232806065&w=2 >>>> >>>> this is version 2. I wanted to post a new one fairly quickly, as there >>>> ended up being a number of potential crashes in v1. This one should be >>>> solid, I've run mq-deadline on both NVMe and regular rotating storage, >>>> and we handle the various merging cases correctly. >>>> >>>> You can download it from git as well: >>>> >>>> git://git.kernel.dk/linux-block blk-mq-sched.2 >>>> >>>> Note that this is based on for-4.10/block, which is in turn based on >>>> v4.9-rc1. I suggest pulling it into my for-next branch, which would >>>> then merge nicely with 'master' as well. >>>> >>> >>> Hi Jens, >>> this is just to tell you that I have finished running some extensive >>> tests on this patch series (throughput, responsiveness, low latency >>> for soft real time). No regression w.r.t. blk detected, and no >>> crashes or other anomalies. >>> >>> Starting to work on BFQ port. Please be patient with my little >>> expertise on mq environment, and with my next silly questions! >> >> No worries, ask away if you have questions. As you might have seen, it's >> still a little bit of a moving target, but it's getting closer every >> day. I'll post a v3 later today hopefully that will be a good fix point >> for you. I'll need to add the io context setup etc, that's not there >> yet, as only cfq/bfq uses that. >> > > You anticipated the question that was worrying me more, how to handle > iocontexts :) I'll go on studying your patches while waiting for this > (last, right?) missing piece for bfq. It's the last missing larger piece. We probably have a few hooks that BFQ/CFQ currently uses that aren't wired up yet in the elevator_ops for mq, so you'll probably have to do those as you go. I can take a look, but I would prefer if they be done one a as-needed basis. Perhaps we can get rid of some of them. > Should you implement a modified version of cfq, to test your last > extensions, I would of course appreciate very much to have a look at > it (if you are willing to share it, of course). I most likely won't do that, as it would be a waste of time on my end. If you need help with the BFQ parts, I'll help you out. -- Jens Axboe