From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934382AbcLTPqv (ORCPT ); Tue, 20 Dec 2016 10:46:51 -0500 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:45601 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752249AbcLTPqm (ORCPT ); Tue, 20 Dec 2016 10:46:42 -0500 Subject: Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler To: Paolo Valente References: <1481933536-12844-1-git-send-email-axboe@fb.com> <1481933536-12844-8-git-send-email-axboe@fb.com> <99111D0B-F051-4D8F-94EF-E7962F47FFD9@linaro.org> CC: Jens Axboe , , Linux-Kernal , From: Jens Axboe Message-ID: Date: Tue, 20 Dec 2016 08:46:19 -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: <99111D0B-F051-4D8F-94EF-E7962F47FFD9@linaro.org> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [66.29.164.166] X-ClientProxiedBy: SN1PR17CA0028.namprd17.prod.outlook.com (10.169.33.166) To CY4PR15MB1192.namprd15.prod.outlook.com (10.172.177.14) X-MS-Office365-Filtering-Correlation-Id: 7801980d-f991-4408-978d-08d428ef5c1a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CY4PR15MB1192; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;3:BtZF+y5nPOp9G5EtqI9s7lyHEiXlU5j/1F9p1SdjUhQlYXeaKbUN0PP/9GBxeJ6EoeljVdxYMlKFN8sakrVH/AsF6bDcvBI5l5JqTQUwiEB4ZiV30ElBSIG1FwGzfxG0G8OTRpkLArnmoDu1R0Zu1awNGbCQDHwgLeGthZPjMCBmI1RRBFP07AwmFtZ0f6K4sT4qzwRWrScXaYTC4k1/kwjYrkALIvpluslI46WVoARkS7LxOkvRxSRz7tUH7fS8ojYJnueG2+vLelUJei92lA== X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;25:7J7wDL/JRi2cJPpIw8ixEeEaS+5+eVAOhcYz0258odWeyrqdgFlQtliRk+226UoAj9tly7WvQM0ET2/yl3sS5KV0Jt+poHStLaLvqv8dt/6O0XBR34IJBzzos66HXV4MzISxCN1DdCw0a90YKKkWKyasTIUZdkwAyOiI8EuZBZ95B5WGK2ZxtGpOtpxBS23hcAlcQDQCz2r/XgaPRgEOXKgPcmI5Leo7kUAxWqFUa9ZJ2/tziNXvCQ+BlRZ0+amMD0hcJBHQtSikypNRXmII9YaVS4J6WIPIYPbtVjRIKTkhOENMBn+ON+ZaxJ7eaghtWIF7dhLeMULKv9PQk2i/smjZPKheKp+D24LqblBidjvBaJnzTSXrHX4hp2pPgbSqwSgAHt/shb5WRzsuzGsLTDtHvvrT2nY6eSo0E64K9Eh0W/I638E/PuLWzH8meBuDIGGB9dspUZToFEBRQILqvhzK0g2KOGpDjvDzXjSbnDIfhFL1q15BpXYZhw51cISDT1sphk4R0ELfN34gByuA2N6W9v4u5XuQN0LimwPrRJhx63aPPbyyAnrUld2DNvdiqSb9EpmG9zcZqb4vcKEA9ewjARbbhQKPbgEYL8wXDD1LdwYStfP/kH25VP4MtpuO4gUo4Jmg2PYjwpYrKbOOr3EvRbhbmKf84U4cdoKYcQFWYLQjgRHxGxRcuTgAS9O5fSFdcsnWcbqWOspFR1o1xjJJ38wmDZixHBioTdHTKUOtV/2jwF3XyLpCnsjMVYib3AQV9S/Nqh5ytmVM8yu7cg== X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;31:OB7rSvnvDqMr6bMTAhff/G9b/lh3Q5ahjWRnUxMnjObPxvu/LWoauvkadteAStsbRRzr82HRse+T5LY81EAGv18EfuXoLxPDFETwcErIgNfZxC+6wDRSiylllsR7CytdppV76DuKQMGrgwFp+dXdbkCf+UoE/tHGcSBs7AXCnTsOl5VEUL89C+zIBw3JWgVVhKeCypW1woMTB7Ks88QRGD1mICbwfIapOgodEU3vM622VOonjcZh1seqd1e4ZKWR;20:4XbacsFVBR1D+lebbup9qGjWEgS/mkRn9mKnYvgueb13CwF5eSwAir71R7HTD4UaP5qkHI4332nyypehrHfDrw+g+RNOAW6aJi4puxNdUg1jYOHk28ydm6TIsLDLRORRk/fzP56y9/7dGbW793zRiO/p9pDvsAUj419o7xoxhPJTjPQuToh7XPdHQ2TVSUjoHOm0hPUajBpD3F+Q4h9WPpM/JmdGxrtuypjRgPwRa4re8igDSVRR4/Dq/oxnapOhtcl+5BDqa4zGtV0VCPFVBdkQdk0nFgF37ZkrFst9IKMPUG/XnBtHY9vuezvqz7EDS9zkjMKts3Qz4s52OeDDZ8zcY1nAkxChkmh7VvqVEvIoO+TwkB3tS4rP2h9obs/DZz8oabAZF2d+7faCz8984jOHX5GoqzHyNFOtGcbrKu4LEY1EdUQvHgpCUQY8D5CTzNA9/Po7+3EjMLsaScMUEtiQOjLHY9IVKs4IiHp/30Iqfio1BVKC/fy7KVd5ux9j 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)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(6072148);SRVR:CY4PR15MB1192;BCL:0;PCL:0;RULEID:;SRVR:CY4PR15MB1192; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;4:QHKhyhkWatg/2QIi+A34eVhXL4olq0S285yQT5A2V0AmdXBLnwNxCJp7vmYsOLR9vGrXrBLxif8QiR0OY9akgjzQ6cIRznYyN/FbhWhCaUJCLPyR/LmNaM7yJutTHYxbgYvIyQ/lM9CKZCLI6lrxXorHJi4hQamPwiam22ynUIqSmG11XkkoC1Ch1Zo5eb6sP/Iu3EKLWg6bkQhL2v7ZMu78ft5JubYNRekM8fcuwBw+A9hfX2KggkmfsWp3vleErzITV1WuBkQMYL+dcNM6CfvLvbJCq7VEtlStxCqV7nuv36gFTab38AUSDnG0zWdRb80jxioecwTTiSWZIVpFYuGAnz/lr6a+P54MIH4mAHBoA9kKOSkIWJtjyuZW/jvarbJjOMjHq/dfc9QIgPheOpTZrUGTUcRd6YOLgFWmxDB8qoZwvAkqkT4wfPPBTh9AOP7XWvhwq2UG307ZHONK6CuswLcRUkR2MyN3elF2HUGxVgNK+N4JAIcNG2kFEdWxfskMGgfSgR0NJ6YdgvCRuDZDeY2YMmMoxTOSUEzd6a1u9crFZGdA2g2Sy1xaoeMAK3fh4ypyEwwktWu1nTq6utUx4GuCU9M/p2jdY9GMlX2m84FJAqgrJlMy5dIhsgrr X-Forefront-PRVS: 0162ACCC24 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(39830400002)(39450400003)(39410400002)(199003)(377454003)(24454002)(189002)(54356999)(86362001)(105586002)(76176999)(4001350100001)(23746002)(5660300001)(42186005)(31686004)(65826007)(6666003)(101416001)(68736007)(110136003)(189998001)(50986999)(81166006)(50466002)(6916009)(106356001)(305945005)(33646002)(7736002)(90366009)(97736004)(77096006)(230700001)(229853002)(81156014)(3846002)(117156001)(66066001)(92566002)(8676002)(38730400001)(6486002)(47776003)(25786008)(65806001)(6116002)(36756003)(2950100002)(83506001)(4326007)(31696002)(64126003)(65956001)(2906002);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR15MB1192;H:[192.168.1.176];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY4PR15MB1192;23:IaUAG8XTqF6LSjSxRB5bwRgs4LZTZSEQiGl8G?= =?Windows-1252?Q?tHX3rXyvUIi7DePAP3fMxxYxrNBZJ6/WAmH9wkrdw9F24zCQemgkTxWM?= =?Windows-1252?Q?cFNj4ABk/KEHmeUkdXP4iCV7bFYQIniBOSWUYyF7YN21Map852o+lBFD?= =?Windows-1252?Q?135nPpVrrD8mCLkoF8X5klY1XzGht/S2e8caqNAaevdrdjn2dhpe2SSR?= =?Windows-1252?Q?cBDzSHjoJm3Cq1bv/tT5ALqBH/W8ksLdXj/s0crksjoKiJ15BxhMqjTz?= =?Windows-1252?Q?oYHZOzMIWBgKJYzKeuF62VCWw06eDJGTXTmqUTNZxMFsxcD8y4NW9Eij?= =?Windows-1252?Q?WpGRZMef4PcXZGJ4pnzU7oDRTttgKvdRJOcwCptFeDEz5Rpgf7elUf1a?= =?Windows-1252?Q?KzF/Z8cpA3sbhKiSFX4umCN08CLgBRmDHZB8eng5ijZwYH6hisQuF5U6?= =?Windows-1252?Q?xaI2Lw7R6czdOPVZcEhIDvDQlcZbAcpGMuy1GGyCaFRE3PFWHM3yPOs9?= =?Windows-1252?Q?YEbY07pb4y9/XwoaN+LTdQt8DPnmio9SUMansLO8jGR6vfdKASTaK08t?= =?Windows-1252?Q?HyxuAAIkVqEv8vIWy+CuWD4LXUZM+KTULW6VwNrL/ixOC5F0mxGdYxL+?= =?Windows-1252?Q?WWz1Igd4vQMqlQ8OAuD1NoU16KRPLRnvzC0cknPG9FCEQGT2t7uXPNaf?= =?Windows-1252?Q?LyzlLNe+gP5z4OMJuh9n02ac71vgytrRL7K62QSdDqmHUKtt2VNAN280?= =?Windows-1252?Q?/QVkiulIYqTU2cpCN+bLWglhJyqFZakiF/eHOBV2AGEPwN7aOPV9/mcF?= =?Windows-1252?Q?MTR1Ah0hzuwXHABLscBv3ltKq3HMrmLvHHzc1WdOuGgwTBn2xCL7McM/?= =?Windows-1252?Q?eIdS00oJTLmuQjNgr8ekH4xk9jUeB4AAZMgQwifa18ZueHr2TX+ju0QN?= =?Windows-1252?Q?Hkb6RpQS++xO7EKayTfty/rztXdgMdoTm9okIH0RdJsNynHtWCiTjMmC?= =?Windows-1252?Q?M4mL4NvRDxt7rzu1RtIY5mZPUKsitq6GWgMFVLhUyEFg3IZ0hxfgoWqY?= =?Windows-1252?Q?+feUD/N0ocfqd/NlckoTjnff9ugPL48uoFhozNZHtEFRN4f23RrsbGgf?= =?Windows-1252?Q?KSULrEfBErUkaO94Ri8P3mqJN7IMHOUdP4tfqOOGo+3eHICwyTeTJa7h?= =?Windows-1252?Q?Z83m/sqZ6bfk9pARhTzhroDH/dsZEHjHrq+l78Sxf+JIs3tZvqabLFFD?= =?Windows-1252?Q?AFKk0jKkz1mqm75wvU43FtktuLMfkDbxB1ldRo5AXqXHPphVddXIqohK?= =?Windows-1252?Q?7RCXoUhJwzBfEE1z4Remt1Ujtmkb1gy5GWM9t9oZp8E8QHTzccZKFDAW?= =?Windows-1252?Q?YetgqUtZD2IP/tUxcoGjQqWCfNNvprGTV/Y4JP7cUCEL2J2UTHgHu39D?= =?Windows-1252?Q?PuMSE6X4AUpgcx79hfftCix0Y9L0VWKK/d/a9Pw+rNVktbGcjdjY2GkV?= =?Windows-1252?Q?32UwNZ4nK0IC5xeVlAKpX9BdpuILDKaYzyCDOdCw7rfrT52ig=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;6:5TZuxfdPyX+tS50UmTLEL8CQvMFTGdj50gVYi3DvshQ3cQCJZSZwcOC4i78aa4OeXAb6X2S6ExO7pqQ5v6aA4+hnlOx1ITkyG61wmIz+LenYexQKg5RDyvRcfsuYfacITvUiaLZ1igGML+Md7DvbnXN+RSykFQ9oo0Bfb53nl29bYxEIMInSqL8fp3xXkJHB+GvaR12svw1tismBiVelcAxpAwIxv9XGaR5tH2HRtdgbHJeTT/gv6hlpjwA3ITnN87bv4AdN+CIK91v79TqmfH/Kpwo/7jMUhxYTKAU9p4XoipixvaSdGcpd9Md40GFcBvdcH1TuTXCbgMFLScfnYIS5A1kv2fgF942QiVla+HTbvWpENThwO1AEwQMW+tV/voZy78cG1912/yJSMcqeLoG6r+pPWiaRa89s+Zrw954=;5:BTtvUURggFn/aO5/7vW8+ogQ4YkvHiK/sZzkJR4Oxmg717blxnZlQdkcV06jrqksjZOULNpjTTILDNdO8hipB9SSegmhp5rD/kfd8OgJBMZzkTQ/9u3EgYvx3fuvj2sqozKY+98OKXLHcABMXZTsWcN5lS2IFHcKV7OS7ltdVH0=;24:TDVRCpY7hu1I62IzCvjtigEZlAK1JsT5dW3lrigxGw8OXKO/IE8hSxWWpPL/ZJAirATCMjgVGa7HC4ibPPlnF3/UTziyzm1V0iLALKZNKMM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1192;7:yaXwgH8n9wnUmX97en/FKn+tveuRoYKyZyIwOkmGvVk4AZBBRCyFGwciNNXmuZnsEzVq5YffLiP3XLdW6z4tgBCPgb9CT9LgLWngaRPGm+UuMVMF34eb9RVCP8A17LE0xs7V+Gxoeitp9Z8BkKbVnKGTQaPUnTL4+eQzC8MZhBFqyVcc1KudFYmn4x0S2reMhPy+8gDnEiINVW/e3tOwhlNGhFZncCmxONYOJcJhW6HtngHgIbVY/FhNJphBv0jseWMrQeaVfom95YcHHJ5Dg8wAUfB9Da8yO8lDlnIP0xF+Acz/4BxE8TQHaU0wm/bNhmFcz2GUqDswao6JNZDw68OJgbP0CIUXQTxWwCEPGY/uRvMYmwDd92stb1An8xSA1f51nQFSPoEysTzeKMLicvFGp+0FhQKBcpDfKXKJVTUaN8n5aXn1JqRgijhMTx9WWrtLORFN5EUxmzEIlEfVKw==;20:1jrMgAX+d6BDCY247SC+6YrTxlk759BJwcDRs8SJjviDGT7HSUAGECCw6bhMpmBC01yq6yS1fi+tEyN0sTGUvOS0Agcahfg3Zf/uWte2qlTjpXDdFq13cqoesUlP39HydqU+oI2ZD+ZjSQrMF6KjaT37chAB1cI/XEKBXQJgdHk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2016 15:46:24.3870 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR15MB1192 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-20_10:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/20/2016 02:34 AM, Paolo Valente wrote: > >> Il giorno 17 dic 2016, alle ore 01:12, Jens Axboe ha scritto: >> >> This is basically identical to deadline-iosched, except it registers >> as a MQ capable scheduler. This is still a single queue design. >> >> Signed-off-by: Jens Axboe >> ... >> + >> +static bool dd_has_work(struct blk_mq_hw_ctx *hctx) >> +{ >> + struct deadline_data *dd = hctx->queue->elevator->elevator_data; >> + >> + return !list_empty_careful(&dd->dispatch) || >> + !list_empty_careful(&dd->fifo_list[0]) || >> + !list_empty_careful(&dd->fifo_list[1]); > > Just a request for clarification: if I'm not mistaken, > list_empty_careful can be used safely only if the only possible other > concurrent access is a delete. Or am I missing something? We can "solve" that with memory barriers. For now, it's safe to ignore on your end. -- Jens Axboe