Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754771AbcJESbW (ORCPT ); Wed, 5 Oct 2016 14:31:22 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:47646 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752109AbcJESbU (ORCPT ); Wed, 5 Oct 2016 14:31:20 -0400 Date: Wed, 5 Oct 2016 11:30:53 -0700 From: Shaohua Li To: Tejun Heo CC: Paolo Valente , Vivek Goyal , , , Jens Axboe , , , Mark Brown , Linus Walleij , Ulf Hansson Subject: Re: [PATCH V3 00/11] block-throttle: add .high limit Message-ID: <20161005183052.GA97491@anikkar-mbp.local.dhcp.thefacebook.com> References: <278BCC7B-ED58-4FDF-9243-FAFC3F862E4D@unimore.it> <20161004172852.GB73678@anikkar-mbp.local.dhcp.thefacebook.com> <20161004185413.GF4205@htj.duckdns.org> <20161004191427.GG4205@htj.duckdns.org> <20161004202754.GJ4205@htj.duckdns.org> <257945FA-6789-4D80-8DA3-AC75640C71AE@unimore.it> <20161005144946.GA26977@htj.duckdns.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20161005144946.GA26977@htj.duckdns.org> User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [2620:10d:c090:180::b686] X-ClientProxiedBy: MWHPR04CA0046.namprd04.prod.outlook.com (10.172.163.32) To BY2PR15MB0408.namprd15.prod.outlook.com (10.163.109.26) X-MS-Office365-Filtering-Correlation-Id: ef42a123-9a2d-4ca1-00da-08d3ed4dc372 X-Microsoft-Exchange-Diagnostics: 1;BY2PR15MB0408;2:teoLIHgZwqgXiyrRa7+FOQtHJ+g8cQwqB42CAh0/cXYFiXhnUCGJUzRfaYJ70kh5OC1ob5oiwh8unWQHTQbATx1Jix0+lX8fYLb4ytupVUilgMmWRr0bkwo4MhbG2t6OdB+Nc2xG97ffZl6ax+LDc1FgHgTrgEJ04Qm5UzKk6FNbddwbjcJeN9UtD5pwumdS;3:OR9Rt3Z0VEF08uaEC4LwXQmfcqvD6+u7V4/Mnvl2x/0HqioBZGKDAHa8C4avRYFGx6NAlhK8GCEpNQf4FQLhi5FaoULms5AemkIz0fawsj+kAAQMoJxfQ+EzybwFetSC X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR15MB0408; X-Microsoft-Exchange-Diagnostics: 1;BY2PR15MB0408;25:U3B1E5oC2aoWZH0Zo9SZNPLOv0/bf+lWwof6rWAGL9YEUbq2ttZ31g7sab52T8I8lqwqs55OF3LMJqWIdDLUYbKTfo402uW/NO1oEJ2x38lEFoY2n35kx4LhJYmAEpHgaBkfEVrdUXHm/P3C1tAhKODgYf+ZgmLyUJ/SHuOrCSQokvcceeHHTSM70G88alVm1LT7nKFqB/iKFo8IENNhRqmDkX/U6qhcn+QyynYarWWtg3OghxQnlGNQWUgBg6aCfUqnR4QWe8j9Dkg9mo6dA2ePdScu905tFjJ3Q40AVBWSxmCzGuqSsufg0lp1llda7Thj4oKv0Z8cF54moIw7IKC5Gc1vuLP49ldSdOYtNkW1izAZ0svbWMZgx2V8bCJYiUO2HNlwts/PRQrS9zODnIXEk/tJ3tbqBuWn1QMXzwoL1YJ8a3Jd4yrXsexxvRpjUD4TVfaZ/dK8oxRuLmhTOtbnwV/mV8ncfqntfoKv3t3k2kI9+qGMTYEXChPgGCHotDTbcILpEKHGqC+SKXK7/kwy509E2O2SYXSEIZ03hYYPabeOeaD66SuainVda2fvJ6gHJvgNmf2qiV0bG1AgG6NB3G7iEvz7sYvjQHS74VF/mNVfvnryk1TmbGuIayHGTo4HxMKZu9vdF8/KiEjB/QAf+yPI4TDyrG5NRz+gWsK51ZPjtYbK4J/SbwVvfZUU/EVl8Y7RDNqTz1QYlwXTmoAsJd46JLRdbdY2e5cVYslT4n3YMgZvN/qeGdYb54mI+72DeFpSk9GV7nyc54NuUlVCWYKQ8TM4tqbFM6Vb44U= X-Microsoft-Exchange-Diagnostics: 1;BY2PR15MB0408;31:dKy1ZKBwl/gzJMtrbHdABct6ymq8ZXhPqrG0esUhpEYeO4c+9o9YV648+zYwy1/Ga+pvMXliqdV7bGvmwO7v7jED0OK+bx344GH4Bbj33iEBoFTV+7cyjXd1rDhtVJ2lszOZJPyfKGkBpEr4gJMCL5Eoswf4jUkS5JOp8PhjJakWJ6t/SJKUGWEbOu+VUQdrBnvwjONR4K3c8CCI6sbmXrM0giskO3/1jK5js5x9+9I=;20:uOBbwwJYvOfXIiWB16by7zEc3DNQ6pDnfIQMLrrO99uw5x+g8V0vvtZ00oR8mCaqDoca3qzCRzhUnOOrXejqZsoZaZhcqZKSztxGrHJ04H5ZML+Nr6IHwz7L7ZwQOfgmkiUYJBVbkmm8AnMawtas6OLNSgJVHq2cWJh8x9I/rbo=;4:p9445G6yqnMT/aenjL1NaX7qi2n7V4gOUQhtQMQ/7hCgEkPEGtqLr6DUN+wUx9jGqI5RZOXCLcXHfBBap2oV7AQubSJWEiJlzZ4PFb7EAJfn6Yn/Du6xMxgbFD3aHyXJt/FLYxc4uIs2fLnNqcwqVwgSzNiwzRGzF2Le8v3GgCcoB7eo1zPcCkE1a7gLL2lfKqYMa3crxp6p75P6kLlgrUtvuWsBrJd+5nR/NynqtU5GAc7uAvlfbWtq3mNtzU9/6X3wTcqzcqN39mw6mN16h9ZjDm3XgLZwrsfhnKUoR288/n/mvyLUkkTZ1XKmiHUMXQTUM8EXTWsGir1qUMB6MTeTL8zIChu7vermwh1TaH+v6aHVXKaFqoVuf5+F2aDOnpkibor9s4mR1ndB+AnTIw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001);SRVR:BY2PR15MB0408;BCL:0;PCL:0;RULEID:;SRVR:BY2PR15MB0408; X-Forefront-PRVS: 008663486A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(24454002)(199003)(5660300001)(77096005)(15975445007)(19580395003)(68736007)(47776003)(46406003)(97736004)(105586002)(106356001)(1076002)(93886004)(4326007)(8676002)(4001350100001)(110136003)(76176999)(6666003)(50986999)(54356999)(83506001)(6916009)(2950100002)(9686002)(189998001)(92566002)(7736002)(7846002)(86362001)(98436002)(33656002)(305945005)(6116002)(586003)(101416001)(81166006)(81156014)(50466002)(42186005)(97756001)(23726003)(2906002)(18370500001)(2690400003)(142923001)(3826002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR15MB0408;H:anikkar-mbp.local.dhcp.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR15MB0408;23:gdChny9sChMHfLfD9T62nrS2MsKwGqaSpNiXV14Ky?= =?us-ascii?Q?6417G+p7tlOpq6KxiSAHr+6i4pzWlQ4091vdF4LHrFBGzTXF51hpx7/29EfL?= =?us-ascii?Q?lsCPfBAPzJvfIcriMujnhPSduGsXP/V2i2ctFH34x9MHp7J3IfMUS+/p8Wku?= =?us-ascii?Q?ZiCtApPdgRsP20JtpR8tSXonwNybSzUTA2VH0iB6NXiK6ZxmsA7Zu19L8Cpq?= =?us-ascii?Q?nA8Pf0eQsSBjAkAZHQ9xaejY3/VoDXnHYuYEc33GisAniPYcjKz1oXpUrq2m?= =?us-ascii?Q?7Le+tg6zbWY2P6ZKjnhlbmnKYBUUBarGzA/Ff5FSL0zawTzKsJXGEgXtkFTw?= =?us-ascii?Q?qLJFM6IejgfSefvv+YeTLayrMxb1ssIp2x6Vs/5mebThGerwW88ZVe3C5EMW?= =?us-ascii?Q?aHfjUX3sNOLx5PFKKqxw7xfFtqoCMwlw2Ok/i7lTTe1r2+HfZVKkWzYx85/k?= =?us-ascii?Q?ZgfPxuWlGQ8AX9Cb7n8O+I+2Gzm1z4hS6CLfXnHNY10wMljuuSMN3X/v87H/?= =?us-ascii?Q?fW4XIgixibchZVsjTQqyOCzBEqqNRXDnJTtMoYJYFdXeasWtdoqi26qjar10?= =?us-ascii?Q?j0bnm/8uJn5CuGcXg056H9vuAsRBLkmAjViT/gTYEXZEKNPlboUhhMWm4hBu?= =?us-ascii?Q?lwJLLyYHizkyH4OEbNpkYYS9XeF2lHySrRXbFWhH6ALF1S2XXFG5v8W8Cwoi?= =?us-ascii?Q?i1tvbG1bzM6aVu5g+XBq4SJH8UCHP8tqeAggJv4yzVsmkzqJ5+mtC2XY5fBF?= =?us-ascii?Q?4EVGpIC/ztt1cLIGsplj/x7wtRqRrm4kWKp6BcZQxYYM33rC9ibGKrKQpq5Q?= =?us-ascii?Q?Gx1xsHcuriPYfB7SPqs7j9k9EA9v6Tpt4Ddo5i2w5SzqMG11AJ9q0Fbay3gZ?= =?us-ascii?Q?hqBXWEVTqqrEFmXl/fTFRuA7nkY97PFC+To+U3LCkqTu7n2dftZemzJd8xaT?= =?us-ascii?Q?mswns/g9rAIKycLOzsLb4uqgLyUqjiqFIHU/y/+NR9fiovXu82RsXu1p8VwB?= =?us-ascii?Q?sjH4YkPsNMv3Jyay2xAT0aB/YLnn6UlMGEumwahw+v+QRFinpuVqUDGAAT80?= =?us-ascii?Q?e4KhaeHN+Pyy8oiyv2qNYbTPVU1BWSPLjHtRVcmNCYaF5NQKyT/+1Zc7+Vbn?= =?us-ascii?Q?zN0p8bTj+emWgWt+W4m9hp/CXAjAGJHCcfHP2tMBdf6u+eySxsr4ow4qHKcC?= =?us-ascii?Q?kke8uhWlOp+9EVR1Yc6gEJPvPvx/+zotw5jon3b35r/uUaihwmD4wsV0wqy9?= =?us-ascii?Q?E4zxy+3o9jYeD3OfyM+E9j/8lzc6xCkAKUizk+pOe11tv9KpwA6s6Bd10Kxd?= =?us-ascii?B?UT09?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR15MB0408;6:3rxipNBArLtYwXDeW820UswvrHt8Lk0rVuVnavIEQkwOUwWcvysTPRSE5n9sdhAJe1wtOksfPXa7d7+ZsO5vvgFe2hNYjNlgheHnhQ2mzn/UICn8jNJRVH3BPPZUDS4GuF7NqLHZU+/D7jDkdSiB+UegyAhHUAvd6aLlT04eg3RKMsk4gYsOcwSogsvzoEjE4v0+UZwqcXTduFVX70AcABpPQwlzw+d7sWjJ4iNBzW8nTtZXC889CTTjLjARt24rTysrBczhqynu6Uny+7f1WjjhbiGsfMSIThNqm8jcqmk=;5:L/LH5zEgJI9A6ciBNq/45yi1AkaHBatxx7Y2PvTb6/EuHlNGubZ+8ldybfDDCxShC6SRrASuquskgdsmD+ukytAxZWmLMPdPZjNJmpzGOf+VOOB56smCZVhDSHQMiccGFJFoMydR/APf7LpK0+Y6Qw==;24:KVo/HaV+pUOKRbCTQ7OIuDnIN6TPAhgiicGE8A9pp7kGIxhi1RprD02tJ5KJPkI7JIbuiKzixWWzo83NlB5D1bUADoDTRn8CMLcSC92rzBY=;7:dHpWd57f9BADJWhaFOttVtA2LZVuumHdYz80qnO+2VmY0Bk/pZ5Ljvfcfb9ykBKdlOkqemASjFX3852HOkdfQmebJLhRLjwkws7hVc1pc9d7CMph1u7BUB/g9kBf8AgOEPCtpbnm1lnOp25GggQ/F8jS+FNqymSe3DkW1BUfQfUxg1e4D/dTl61lcsPFMa6JhD9KgAF2T3BO3+tO2PnM4s4cev3L3NLrUskHhZ2pnJtF0P2OHEVGEhzCEbSwEZdz1uJ1NwYwWKjt1Z2OdtbFlfwe24j0znus1dvyO8/5exe/XE7rO36OF36ZeonVlpLs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR15MB0408;20:OPx+dKhLcCQeQC74abY4f8aoBQTB/FomNsYqLTV4zSUg3zrY33s7ntfVCXSsbfhzmDSN7W7ldUMWySRxfLP7IpK1xDeOP+pVDXeJaAvzK2tLyjj5h3jf4EGx5jBWvT3aEcF9CfOUeBdUsRnlJu77ZozXQ77HbyI2KSwzRrqS/vI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Oct 2016 18:31:02.6225 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR15MB0408 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-10-05_05:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2885 Lines: 90 On Wed, Oct 05, 2016 at 10:49:46AM -0400, Tejun Heo wrote: > Hello, Paolo. > > On Wed, Oct 05, 2016 at 02:37:00PM +0200, Paolo Valente wrote: > > In this respect, for your generic, unpredictable scenario to make > > sense, there must exist at least one real system that meets the > > requirements of such a scenario. Or, if such a real system does not > > yet exist, it must be possible to emulate it. If it is impossible to > > achieve this last goal either, then I miss the usefulness > > of looking for solutions for such a scenario. > > > > That said, let's define the instance(s) of the scenario that you find > > most representative, and let's test BFQ on it/them. Numbers will give > > us the answers. For example, what about all or part of the following > > groups: > > . one cyclically doing random I/O for some second and then sequential I/O > > for the next seconds > > . one doing, say, quasi-sequential I/O in ON/OFF cycles > > . one starting an application cyclically > > . one playing back or streaming a movie > > > > For each group, we could then measure the time needed to complete each > > phase of I/O in each cycle, plus the responsiveness in the group > > starting an application, plus the frame drop in the group streaming > > the movie. In addition, we can measure the bandwidth/iops enjoyed by > > each group, plus, of course, the aggregate throughput of the whole > > system. In particular we could compare results with throttling, BFQ, > > and CFQ. > > > > Then we could write resulting numbers on the stone, and stick to them > > until something proves them wrong. > > > > What do you (or others) think about it? > > That sounds great and yeah it's lame that we didn't start with that. > Shaohua, would it be difficult to compare how bfq performs against > blk-throttle? I had a test of BFQ. I'm using BFQ found at http://algogroup.unimore.it/people/paolo/disk_sched/sources.php. version is 4.7.0-v8r3. It's a LSI SSD, queue depth 32. I use default setting. fio script is: [global] ioengine=libaio direct=1 readwrite=randread bs=4k runtime=60 time_based=1 file_service_type=random:36 overwrite=1 thread=0 group_reporting=1 filename=/dev/sdb iodepth=1 numjobs=8 [groupA] prio=2 [groupB] new_group prio=6 I'll change iodepth, numjobs and prio in different tests. result unit is MB/s. iodepth=1 numjobs=1 prio 4:4 CFQ: 28:28 BFQ: 21:21 deadline: 29:29 iodepth=8 numjobs=1 prio 4:4 CFQ: 162:162 BFQ: 102:98 deadline: 205:205 iodepth=1 numjobs=8 prio 4:4 CFQ: 157:157 BFQ: 81:92 deadline: 196:197 iodepth=1 numjobs=1 prio 2:6 CFQ: 26.7:27.6 BFQ: 20:6 deadline: 29:29 iodepth=8 numjobs=1 prio 2:6 CFQ: 166:174 BFQ: 139:72 deadline: 202:202 iodepth=1 numjobs=8 prio 2:6 CFQ: 148:150 BFQ: 90:77 deadline: 198:197 CFQ isn't fair at all. BFQ is very good in this side, but has poor throughput even prio is the default value. Thanks, Shaohua