From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758065AbcKCOTA (ORCPT ); Thu, 3 Nov 2016 10:19:00 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:34627 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755028AbcKCOSz (ORCPT ); Thu, 3 Nov 2016 10:18:55 -0400 Subject: Re: [PATCH 1/4] block: add scalable completion tracking of requests To: Bart Van Assche , , , References: <1478034325-28232-1-git-send-email-axboe@fb.com> <1478034325-28232-2-git-send-email-axboe@fb.com> <12323199-84d1-7586-9189-3bf5644248a0@sandisk.com> CC: From: Jens Axboe Message-ID: <0c36737f-2397-c84c-f43e-44bd0683f054@fb.com> Date: Thu, 3 Nov 2016 08:18:40 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <12323199-84d1-7586-9189-3bf5644248a0@sandisk.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [64.134.26.173] X-ClientProxiedBy: CY1PR08CA0030.namprd08.prod.outlook.com (10.163.94.168) To BN6PR15MB1187.namprd15.prod.outlook.com (10.172.205.141) X-MS-Office365-Filtering-Correlation-Id: ef360ccd-b2f2-47d6-c70f-08d403f453a4 X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;2:p3AAXnzuEPKtddfZzbMIrGLb8OEJOFB3GKxgdkunNrWDZpYqWzVS8hhuGbqGErOLjP/VtiOEX6MEDtRzYAGZf8QTkBW7c7OcE3+8BO55kQOS5qDkOr9IVu4G886CoY17YU5NBLgqzUczHrHjqbA+evYpI1wcNs7KMHXI9VQQXcvG+52I58cUJKnzX2de5T1HZMaKwY5tIwe7V1xPPpp64Q==;3:ekF1FU2gJpGtOm1HSeZjl8ZSOUEhJZepEgCTqINL00doGvciQysvdDBb1V/aqrCTulU7EK8A4wc0xoWtxw8/q1JH5xxqGXoO60FwqGkC4eL/Mzvmu3ZdUUD2XRqPrWwt6vFS9P0Ky0bL177+osOGyw==;25:8a5IXhhRFgMXao5eEjQYdZRQ/Xgm9UfwJ2ls/Aj00PAU1PoXHLoVSLJvuU7fnFNob0QsNm45uV/oEXXUoDbs8vbcu5aU2MsiqLw1L1xc//wchXv94ugrP+JXLVzjKA5S50P/uoX4MCa+qDZNyBZDINzwckYEl+pccN6+AnDExPcV9tjFkt4E5vR20l5UormByjeIRRfneig9aZnZtI6zUgdFLvdZ9Duggx1TJ8ZwpRRn465Q4eMb+GsbWjFNPsztfT8lG4T/MhrrXxoz6B311AnTU4xsU1wH5AsTvVnltDcxV2gn7okKre8XOuCMMVQwABs3K9AWpcTz3XA8okyBteocK4oXLqeF1Adms5IU8okTBEZZjJew9qdKxI34O2O5c8fiTgfD1zQyqfLNlop2Npe12xdmCkiXXhXcf4GNYkU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN6PR15MB1187; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;31:hajxwmA0/hLPy3oafIZ1V8aYo0559rr43ypAOEGb/8ulhTIv6zoYCcwKK2mxBofJKLQdts5CuPEC5C7kpuD4X4M7ckIyu1ueYZWydH3hlonM+vWomv7zVuzXOhJ5ERPOPxUOlR/OZAy8BS2YCLkya0yhJQ2KdZgoHez8ZhSAc/pK/aHORntnA2khbWHEAfDjwKCUjkbOHcxKgm8WutaG6YqAb111LUETw1kpjFJTWQLkE/lor+LKK+SRmg6/kLTa;20:VrDZP1toR5K9l507FUtZK9IdWoPMtBdbr99twU99q3L5OfKAZnMUz1MYHB2BDIBFo+5Z7etB0n9qm0m7SWfY7N+CyuTVwR942LUPUoccU5rTradZR9SlW8sB0Lj0Ct0rM9YTacyWdt8qQsYGBUeS3eKVb01FkRhVQCGe/dAZtmM=;4:YSDKNsS1t2ndvDxi/vT6q9TTnAAz79ufmclXjqPk5t2kKN4XX4ZSKbe4s9DvcKkCcyU2mhVHs6zRolBpzxbxvwMtpCvHDuH2F6Z/3/bIJt+VU0Vvmb+T9KWBZem2uF1ZEJiEIlSkjzJcnPqZ7RWEb1tUUNhpjLd4uJj35l+fQeRO8xlsSYco5EzDydtybzEP3S1KZ+x9aZthBChq6h5NwiqWYLZgaLQhAy3uKMsCHMPENHYrndYGJpFezVky9Dwugvy5UEAwXbn3Fw7efsjqXVzsloh+d74GtIdqrVFnrIJSXNYlwD2Wly2z2ad9pMawCIdzGKtVxxEpM4/YtAMNfp2t0kvAzla1YLoDIMAnlT5zLQf05f6J9yNc0iIQ0DPW3MiGnzcizeC1apBMau3yZQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:BN6PR15MB1187;BCL:0;PCL:0;RULEID:;SRVR:BN6PR15MB1187; X-Forefront-PRVS: 011579F31F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(24454002)(189002)(377454003)(199003)(47776003)(76176999)(54356999)(81166006)(50986999)(81156014)(66066001)(65956001)(65806001)(92566002)(77096005)(8676002)(68736007)(19580395003)(23746002)(586003)(106356001)(15975445007)(105586002)(31686004)(6116002)(42186005)(3846002)(64126003)(101416001)(230700001)(50466002)(5001770100001)(6666003)(83506001)(117156001)(4326007)(1691005)(97736004)(36756003)(5660300001)(4001350100001)(7846002)(7736002)(86362001)(305945005)(31696002)(8666005)(2950100002)(189998001)(65826007)(2906002)(2201001)(33646002)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR15MB1187;H:[192.168.6.194];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BN6PR15MB1187;23:GTVVeaoz+PngekI4TfApAZ5CfisS9syQMCuu4?= =?Windows-1252?Q?9yPAqE/uiNKDCAeH8dyR6xT2LWGbM7DGTyWbzzaLySebC/T/gTRA1AYT?= =?Windows-1252?Q?sWOri4UH1qqPAlilzLVmCjFeYkswG5zsIV7Mdo3fNnUHthertPigOgbF?= =?Windows-1252?Q?4B8U4z7VFwitPsWrJQ61y7VUXCEQhLXqCdtc+f0aC/+AoaEZG6HI6gWJ?= =?Windows-1252?Q?ggq2l4l11FhxS9mcrtEvOc+E7SdPjEmem4I6730H4BNnGSEA998MR67z?= =?Windows-1252?Q?9Gd6Qs5/AClXxYNH/Ik+saborU65r7dorpO+bzb+t81oBRMixwbH1uxU?= =?Windows-1252?Q?g3QGLSvojmw19iMi2SfbJADgAsG/JSceR2b7+qz6gpGXuECP1+AGEERu?= =?Windows-1252?Q?CIJKx2Kd5cEi5pskMh8whDmS+zujxFHBxxUEYc/K3z1dJ4SuFmxMFl5n?= =?Windows-1252?Q?MLKpS838Ns4la+fd0P++vfKb1kJDzSo6AP7n07YF07/A2xTIvXdlQ1F1?= =?Windows-1252?Q?BIfwKGehVLuDlCokKwCDHHUF5KUos1YHbnfAiWOAZ1relvSkQAdzbMG6?= =?Windows-1252?Q?yDk1eQz5OawYhixTzuEbxnh8RHnVOJI8iJoMaK38oeYmPYDYhbWOb9OP?= =?Windows-1252?Q?deDKTD4eKA5DgUq8Gcg23hKbSZLxqiuZ2uOZGD58rpDGvzSrM+wsjBnL?= =?Windows-1252?Q?9nJREphQQfP7nZuSnBIVl0Ox4p/6NFfwrdE/HD5Kxx/Nsbe9rvT6W9Af?= =?Windows-1252?Q?PCHL//vBX24RpfGike0dwi9sRvZicvaLE59nlp5sXoSEtv2164HQhU4x?= =?Windows-1252?Q?hMNL7kNpxHXb9JE9oNgDJWozL+TnHNr3/OoL9wx/m4+EGoDjuP1gOUlo?= =?Windows-1252?Q?2RKA/zV4l32ET0yUKQm2XFiw8HlV/HKVuRhWKrSYRnNcROgh+kWpKT2q?= =?Windows-1252?Q?ofPN4uFUkgOh2nRbL88+zQCDlX640JQzW7zRCp0oZ5fryiIoHQ71oE0r?= =?Windows-1252?Q?mhiWT3BMKsOtjRgKvzYwgZUiQJKvn8DRM7jT9aH0A3FmcZb4YoQ0VUmj?= =?Windows-1252?Q?eGhsKYrOgrfz3lYokcwKpybVPh18apBpQDg6Ojmg3JZKl5Zonr0KgANz?= =?Windows-1252?Q?d2aBgP2X6f2uxNQVkJgt/aWsh0iuzuezKhedg8sOJmPcJCIVQ2Bip+7h?= =?Windows-1252?Q?wIIwH3egY6BqYYdmQwZwfUzMDjpb94T48r2e5SAMKJRx1GROZq0rTHM4?= =?Windows-1252?Q?ANeoNdL/tokQHHYwoiUnCo3fXL+jV9Eme7DXeeY6j++jdU3CkIN94UIV?= =?Windows-1252?Q?XowizoT7JJkZLrI61xjIxEjjuWGM1NovTF8v/ZvYjsv/f5ldCUb84E9K?= =?Windows-1252?Q?Egw9YAHQC7kuY4fHFWhtvrHTQ8ycBQnSMRLN4vnmad9/3vkTpP31U1TL?= =?Windows-1252?Q?BUru+z1yCxrJlo7flpHXdEDToJyUoZeeEPWeCbVXkQkqRn70Xxf6UTAx?= =?Windows-1252?Q?PfvdhjTfyrPCsJQEu46YpmHBnVKUKXnqbteCekqfZZqxJuBaw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;6:qESOJ0/S5bibHsHfrxTBt9H6t/tnYJuooME/W2Bcb+7Az3UIhecdgN5zM7sFygaQnuJe/9or+BXAIsWL2TpQRiEVzd4/LiugymQdMKd6t8Vl/RyK7yQEf5nBzBxR13869nFNz01qIqbVeGyMCtGeM8j5oQDMNlU0CUfl2Jy4OB6D7FEacU392wjGVOwes2o5sYyDUP46yvBPAfumebVEiwPNOsEE2Qa+8E8KoTAAMUOHzS8Q8r62MLuXkTbMFGT9HIPHHv87zWvJ+bmcIS3cWamrZRilhgBAhcxCHwPOGe8qMacs8rodAlrnjb+y4Uqw;5:LfBGtIaiy4u5+ssL9nR+I6KfXeelpH8OFgbbRjkd6fdjOQYB7hNNCqCPnaafnEGDwSOuuvnJeBKG4hxrCpyxZbvyiaC+J1r/rNtUMXUVcyrLD4Sbxo9Ufc5JJeShPTf7NHdPG6XoVRDFYjB7/uRapFznj+/h8goVEiY+VcYLSOk=;24:3i84K7AhTsZQ+3u8ERz+4vXicp+fszG2C3mvNTdHriBq/RuDC8F2w62VuDpqjAswpHzxbvjG1LuJQ3Wz1GYhyJ2JhXHYW9IRk80njPY5Hqo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1187;7:rvE/hn+/a1ooo6ucrTlfFwOCL5RIa27oJLs69dwUy+oACn1WHVit9uqutb7jXMT1pJZx1q8Qv0XVG4ZmirDFgrtH6/tDl7q9qUkApeLGstmvHrhinzODKHL6W2gabqWx28uDZHIHTnosNPAyjELwNXSlKDtgOR52ePhwzi6BoDVLbk48EFSu9ODeB4XiZF+mJxX9QZ5JwvE2neCTzBF36+yxcRlD3OfaPZR8sxwuqWN/SFRwUvkiuck1UswQmav6pbuSqKOAx3X3dJstOtlBE7d7DM8FLx9j5/Z+GDEKL4b4dHfI2LKv5Q40+f+dL9ONT5nBN7TbnKygymC0Fm72n1BM2ioCethzOByzLPSuHK0=;20:2hTZH0eFp67TtP+aLgKMwzE0r/qoR51lIqIdVnsozSn5xLB64oHhckWbl2fZNRTjNLxQRjC74ObJXerCdT9PwRzMeaPi1hqDXj0A2fGeh6rinRAVUH7VWOP27vWEZIZnicQjWiTYv9RNLU2MRQCDLl58xxViEZvqLPhoMsSPUGE= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2016 14:18:46.2071 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR15MB1187 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-11-03_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/03/2016 08:10 AM, Bart Van Assche wrote: > On 11/01/2016 03:05 PM, Jens Axboe wrote: >> +void blk_stat_init(struct blk_rq_stat *stat) >> +{ >> + __blk_stat_init(stat, ktime_to_ns(ktime_get())); >> +} >> + >> +static bool __blk_stat_is_current(struct blk_rq_stat *stat, s64 now) >> +{ >> + return (now & BLK_STAT_NSEC_MASK) == (stat->time & >> BLK_STAT_NSEC_MASK); >> +} >> + >> +bool blk_stat_is_current(struct blk_rq_stat *stat) >> +{ >> + return __blk_stat_is_current(stat, ktime_to_ns(ktime_get())); >> +} > > Hello Jens, > > What is the performance impact of these patches? My experience is that > introducing ktime_get() in the I/O path of high-performance I/O devices > measurably slows down I/O. On https://lkml.org/lkml/2016/4/21/107 I read > that a single ktime_get() call takes about 100 ns. Hmm, on the testing I did, it didn't seem to have any noticeable slowdown. If we do see a slowdown, we can look into enabling it only when we need it. Outside of the polling, my buffered writeback throttling patches also use this stat tracking. For that patchset, it's easy enough to enable it if we have wbt enabled. For polling, it's a bit more difficult. One easy way would be to have a queue flag for it, and the first poll would enable it unless it has been explicitly turned off. -- Jens Axboe