From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752031AbdBBPas (ORCPT ); Thu, 2 Feb 2017 10:30:48 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:38762 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751036AbdBBPao (ORCPT ); Thu, 2 Feb 2017 10:30:44 -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> <84DA10A3-5055-4D48-A990-6CB5A5D34F0C@linaro.org> <21ff7888-ec08-0dab-a997-872ad0027fe2@fb.com> <4C7AD847-C02D-47FF-83B7-F0BB8FBED5F5@linaro.org> CC: Jens Axboe , , Linux-Kernal , From: Jens Axboe Message-ID: Date: Thu, 2 Feb 2017 08:30:35 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <4C7AD847-C02D-47FF-83B7-F0BB8FBED5F5@linaro.org> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [216.160.245.98] X-ClientProxiedBy: DM3PR19CA0025.namprd19.prod.outlook.com (10.164.243.163) To CY4PR15MB1190.namprd15.prod.outlook.com (10.172.177.12) X-MS-Office365-Filtering-Correlation-Id: 4622fca4-fbb5-4f4d-8177-08d44b80712d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CY4PR15MB1190; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1190;3:KaAoHh/Z6uVu9eyrjqW2UeMEWjM6mswESF/TEkbebhIbXWqaE6FVfZ+tRqQcCyCzI+DZoaUw8flDClMLFJfPZSdqDCeJcptaDs8I+rQ9FRp9B9Ubl7cWzTzlxSeML3Q+J2HI3hcB9XVoPoKmpHvQ5Iv1GDwgDjC86gl9qLzx40iVeU31ytJuvoRiORHUtvCA627+gAKE3cquFEKluuH4ZQaS2sDNuzjwG+lFRORGnJP7MzsOh/rw+hVQcwAlPnuCzj9vHbdZ745V4WcP8mLAmQ==;25:6VI0lXvAMzTj2D2kmM7zeJ351Rqqz8fWr/kXDN1ChqAUpcModaTen+dp4laA3RWl/BAPmkHAmSaUp5mIxpdpJozCNQ64ULjx/A0OpAle1rqQwfqHpouu521lxKUjbcO/IdQoNyA2IfUQHgIt4DORbHeGZeQBxUOf7rMiQUsbNEK4b/BWeH7QQO7dBh1mDq5GP+sm2rzVyEZE+ilU5EFUlGyN1J1PAwVVqfsBNgACO1GooL7WR2sGS5u5zANa1kBUeSJqFyYtwoiCiz95qphMYogSB633QzDESYQGJ0vxlB2et8TQP411W5Hs4QNZqmSj8T1y7KpPNfq485+jaBed1RmI+3Mj5QzSZ9R9OPx2xbkGflD9191y6zzerHiXOwaP2idofPKVVrWIp5ZzU1OYNauY0pzNSxVjfvO3zhOxcnTE6giFTbW+ZhDT1V6m/zHFeeVmfKSSM+ebd7tApM2Lcw== X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1190;31:0rsmhPOLcr82rr9hxCrl5y3ZQIPBWfN0zA/SQF6Hvz9eSImZbaLhPLF4bpS9k8EIsUVp4hWKQMcUfoLzTkZ6ZzxAEvYsq38rcbuyO3SPCnCnDF/1A27oCywIN8opPzQ0P9xcXbYAgbDAI9ej1ROmwTY/VQBL6eZha7N1L6orJvA4PabPaHTpe942XR64+ZHrSOshdCfCBbhFkBt1czSZxop3s4Km3QA0dm91qvOWTM02EYCGKZvpPYx1wko/Y56K8T0hImnLyTdplsOILYuirA==;20:Xg9KpD+7+TMQZzRiImRjloTLpJvgozpQ2OeCtwTvjYATgC6lPkTWQdYytAc4T8CPYvMhPP3mBWPNTV441auynOHsV4oHaiDlumZVfoFACrIIs7jQIpB/xPDiuNvJowTXJkbB7NQAHaDFEwGzb6YjarQG0/Gj57waIvbRLxCCTCq3U0I1PIDAQJlUm5QOlnvY9Upw4rXiSob8g0RtzZ9RxvXr6w/AWHKlO/6Kr4aIRnQ8fI2ZIYyBBwI9v5unn1ZJKs8ZwcZV606jfFp75hir99XZVR9lS/KokqQsgPITskk9Gz5k/m8lmAkStFtAXcg0Ez+TYIRN9ZxAHCUCTY7b6j+NiwLvhTuJQp/9dCCIkSRQhwfvtjVpU1IJmIEbLWDJ4XrpM/v+wKBOemluYogelAXVzcTecnNw5/Ybdm9cW/v4FyuxvBgrHx+Bavhz296LhfuJHdeqdYO6THtQGLEh2AS0e7K0Y2U8I95PCyKrq0UrnGmpGhoY+lBrUD6sChqU X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123558025)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148);SRVR:CY4PR15MB1190;BCL:0;PCL:0;RULEID:;SRVR:CY4PR15MB1190; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1190;4:8e64+ZQYQNLyUWd9jbK5RZt1GZhwf/CfGCEbLQN4flxStkgyaJryuiusM6US+gMlCDHMGvTzXzy++/l+auTHWgVpASDfJcpskVgtgpKvCltqGjxzBzEpc4MpkcQmkidDVJRJEemWP8pyB9eZ1WteXXislJr1r9GPbtwKoHb8lOmltCheGV0p9/t5IlD5cQRTWGDF5SzVOOo+bJzJdI87OhZLTvOisTKfuAxtiAdJvaxPvKVFHsCGwjmx+eGTWixzChtT7nUyOeywf4FbDzaxa/T0XV5zuacsuwY9ofs1Immrm+yGowvd4OszGAmRbALuHyafhCDjP5OrrYcnxsS/D6k/RhI/n9h0Iru39ltn2HyQu1ES7InPhCrGSYgBZ429BZeJwukyvmhrVtR2U2pcl32lo7cWtvxxOEtmSIYe+ia1hD916CwE/QqJSXOZU8dUVgAGldl65NhCaS0gQbPBL8n8apGFe8G9xG+6bHTRcvDmAblugfxHYkjjKYwOcl0ME8apNFhNU1YQaVyRDPvFLoPcX5Ie5lNrQYkYSnIbyJVPm5tZNlD9oAqF9daestfENC2pkd9WflMFa8/CRboAjMOFnTECVnUnq/d5aKmPQeU= X-Forefront-PRVS: 02065A9E77 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(39450400003)(39410400002)(39830400002)(24454002)(377454003)(189002)(199003)(97736004)(23746002)(47776003)(4326007)(31696002)(6916009)(2950100002)(6666003)(53936002)(81156014)(117156001)(76176999)(54356999)(50986999)(93886004)(86362001)(5660300001)(66066001)(3846002)(65956001)(110136003)(65826007)(6116002)(8676002)(2906002)(81166006)(65806001)(7736002)(64126003)(229853002)(105586002)(305945005)(68736007)(42186005)(31686004)(33646002)(83506001)(106356001)(101416001)(38730400001)(230700001)(189998001)(6486002)(92566002)(77096006)(54906002)(4001350100001)(50466002)(25786008)(36756003)(90366009);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR15MB1190;H:[192.168.1.154];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY4PR15MB1190;23:W2LXlrqaF5Ul05/a6blOJRTNWQf8S8y20vF1Q?= =?Windows-1252?Q?Ycs5Ns1Koxr3zipQ9gENvpIOEUzGZ7MO21Lz4NjihM5avPMvZlXPJcem?= =?Windows-1252?Q?2d2SFzkHnYzpoArkzUlDqGfh/Hwb70ACHo4/XSEvD7WHaFSfkO9ePm4h?= =?Windows-1252?Q?cMIVE88mtoukhXCQQqW4cq5ZaiRI3UvukSpErGcpYvCpgC3iIoOyNk3Q?= =?Windows-1252?Q?VMstWDFsjMsuAJRLrKpOtX4S6axueBs1WKjeOeMTyAI3+9JFZnFUx1sF?= =?Windows-1252?Q?DSJ27pXHB4vLEyQsOzZzYBKm8/Qd1W4FCTHZ8lMq7OECO/5wH2l1vkvW?= =?Windows-1252?Q?yg54siN0E3bHGz0yW3bEbYR7h84L91FQHejFFT0GiiIyPawln/gJwRc3?= =?Windows-1252?Q?IxUcGCiTkBuP0kil7U0N9KXvW+DNpw+O9YZW20idQJ0LC4qPuqkHlj3N?= =?Windows-1252?Q?FWkdyt0nO7kek23hvne7sz4frMjJE4gCEQNIOhMmm0sgEbRmRmsfY/vg?= =?Windows-1252?Q?R1CjiaVSy1Ow7chHB+0YQyem8IoUVoIY1N0718tpA2/Jkh2+PONWoD7u?= =?Windows-1252?Q?6jQhS1+rTfnJ3PXwYLLxsngOIcsjU96U9BRM6IsiG5kQ5w3RZcyAaNf3?= =?Windows-1252?Q?J+hhFhVcAw4uA/5/v55qUCgBd7IR2nZNqXxr0//RerqrcPWXoiFd3kRp?= =?Windows-1252?Q?c/EgmDflqGiYft5UffhCR6+FUxcCj3t7mTBWABV45jHkJe9r0cXhR7Iv?= =?Windows-1252?Q?EiRAwANCxa6EvV2lSpG0h4JHB8Wv97e+Q32FD6VoaNQvIN2zNrh5bcJM?= =?Windows-1252?Q?XK1YOcq8i+E46hMW9PyC18Q8f5nGmTs1lByiszUAcX8QtljSFi+4hjIL?= =?Windows-1252?Q?6IvZhUZtZuZNEDqp8HGCh4RiInjM8QPvOEJzX0HfJFuZyVfNwK+5VQYO?= =?Windows-1252?Q?jbLh8rW/nUdcBV0/Jt15huBpaw4EdBlSA75afCCRCxAfoNXjrGsQIIu3?= =?Windows-1252?Q?hktuMlwFYn7HxM/9xGUEnTPRbfjaxHB63ZkhP+wF2m0NI/CvmQOlM5Ez?= =?Windows-1252?Q?K7FMZqzkGkaQ5B9wWxDqkKRqCsbb1SEthgoyFH492Or8zFeS4Cih8wt1?= =?Windows-1252?Q?HXy7KsM1mSr5LkgALBsD/hrD8B/Bdx16aGJBocCrwcFY2FGqug4VJwTA?= =?Windows-1252?Q?GMdDeJmtrDwHe95Ws/SJpEabfp4l5RJi4VwshOWQod4ixc4dWP+rsrZO?= =?Windows-1252?Q?r0yJIa5ZAzVKLCdqDe3SzxcwgysUTpd+fHioLUXKghep0FNlZM/gZgfQ?= =?Windows-1252?Q?NoqmLQMk+tovLKf5VdY1Und8EUIx0fvceI7x5vvq3mq6DbYXlY4RIcWt?= =?Windows-1252?Q?kvd4sOnQCU1kKCar8mWzCXq38qBV9aoqpc/CSPiD7uVRciG7tDNV7u3G?= =?Windows-1252?Q?Z7NNk+uidBiQJvWUWxF0MTPBs3NsOIbSi8AwtgylW1O0Tv23P3Of7KVH?= =?Windows-1252?Q?+8Tq+O0LjQrmQsL1BNy4x/FgDJR+wKVR6vKJeKHXj48t2tCeMoBIk5g4?= =?Windows-1252?Q?wMW9Qn4bfWjE1lEtBx6xxts/k5QikUzraK62OKmh2zSTE1UZSbHquOE2?= =?Windows-1252?B?Zz09?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1190;6:0OqOGZRWkV4VekRJH2KFBvb64Occfj4YQJ/+UxmA5ZaUfnX1Yc957QD38vK7caHvhet+8zGkFJYLmUDZyNEx7z9W1vZmnoQOlYtELggekbsvVwz9hAMgEx7MuxcgTgPt9YXb2g+3nbjzqEgOF7zOvaMRvHAnqxbFBmhz1MBO1n02daWjn/xd1iFH5GARDxdLuakC2gdjt6h5U5f4AQv+aWxzTnOGuZ6hSZmUGdbyOoiX4OhMScuheTjGpaZlguQFozi59JakKOZrmS0HUGfFodqmUT9ZCPdulApy/wd+XEqUqy5NEJ79VONKGKU1yk7ZFR203GWHVWf20nOq/AhDo8PRisrnzYQ07IY+wlQwMyhL2E0M2ALJsrQN/edKnU6vNOHG+efxHwx3tpHtweWuRZUkUZiYFmjcwkbcah5paJQ=;5:PCr4Y3QF6OSMQ/xAsMdIwPE6tf8ibfDgh8VOo51waYaRYKJYtByOFnZ4JpO9w9PUy8PP5RqQXL7neBfiMR0yyBjUWXNmwzsLGP9cl0evLRYQiMfJa+LX5pB/sNZeoiQnGb62HIcljz0OKDBLm2B6vkOao5fplL7rihud5KDoX3c=;24:gpC8kwmYjeHrQ2kvt+3uiXCj//uNkTCpfYe7PXJ1qaIhxI76EjBrPHPowGow5NYULxjd6v1Y65hyITscwnumGWBrGZree913n0uj907xtuA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1190;7:JN8Hv8tZq8dFJdCXSxOvFAp6Bu5mxxT45nWJLfpvmArZHyrKFvB4DRVMlxPcIlZEo81N+EbV0OasoYisJJcAWMa7S5deXuKDVimG7B+LnOlKi6oGvjVqPIAcShszcySfo+G82v7Jr4JjnyWrsTX3/n4jrhtzdVt7bH5cnwlOceFpZzjuu2Y7h01rS8oFAQfqsxgCJ3i1qdno8Mi2arCawPRLgx8EBuiWT0QknYnCm9CthsOX8GigbwpMvvLoPcrtGHcdXyQyLr2Bqxwb8RcfY2MbygmfdZHBwSkeeK6zTOug6bbFV/jJDCR0Wyc1KtiVvcubMBhCLda9B+WGkY0aHLx5S0r1AHJxYSOHK7D8ZzyOSzTvIam94mC+q/yK1iDulsQxlvvug64m+P4lgjZZSLk2e94B4iWpAorRLIl5DZNeTMWq6ThalLRHU9MmBt0gZg3UJhR2YBjenxss7ME4JBBUPsjr9trCX5ifjZcpOiZmf9ragW6ZLu2PA1brT1pDrAsBE+KcTNLfuBVhfRuegyhvIv5aXQD/pBVwPfMCsSaihLEq6OZuNCzEsoPpC3CI;20:ncepA5t5KbEugvyoDzYPTpBEG0QZTQhPDefY2Nz7D0m7Y1PJDED8WCAqQYOH0/4rYTGnRE/oGqUrVCI7MiBV1nudThmRS+Wn1+vjHq8jgEINCtFRTEAWcc+ZPKl2ZIRkZr7ZxBqsTg4AjLEhPa0LJnmiteTCcK/n77XSxix7rog= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2017 15:30:38.8233 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR15MB1190 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-02-02_11:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/02/2017 02:19 AM, Paolo Valente wrote: > The scheme is clear. One comment, in case it could make sense and > avoid more complexity: since put_rq_priv is invoked in two different > contexts, process or interrupt, I didn't feel so confusing that, when > put_rq_priv is invoked in the context where the lock cannot be held > (unless one is willing to pay with irq disabling all the times), the > lock is not held, while, when invoked in the context where the lock > can be held, the lock is actually held, or must be taken. If you grab the same lock from put_rq_priv, yes, you must make it IRQ disabling in all contexts, and use _irqsave() from put_rq_priv. If it's just freeing resources, you could potentially wait and do that when someone else needs them, since that part will come from proces context. That would need two locks, though. As I said above, I would not worry about the IRQ disabling lock. -- Jens Axboe