Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754570AbcK2SOa (ORCPT ); Tue, 29 Nov 2016 13:14:30 -0500 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:36604 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751485AbcK2SOU (ORCPT ); Tue, 29 Nov 2016 13:14:20 -0500 Date: Tue, 29 Nov 2016 10:14:03 -0800 From: Shaohua Li To: Tejun Heo CC: , , , , Subject: Re: [PATCH V4 15/15] blk-throttle: add latency target support Message-ID: <20161129181403.GA36738@shli-mbp.local> References: <420a0f26dd7a20ad8316258c81cb64043134bc86.1479161136.git.shli@fb.com> <20161129173108.GB22330@htj.duckdns.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20161129173108.GB22330@htj.duckdns.org> User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [2620:10d:c090:200::2:6f5c] X-ClientProxiedBy: BN6PR03CA0011.namprd03.prod.outlook.com (10.168.230.149) To BN6PR15MB1633.namprd15.prod.outlook.com (10.175.129.23) X-MS-Office365-Filtering-Correlation-Id: 57f40118-e0eb-4686-338d-08d4188385ff X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN6PR15MB1633; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1633;3:TYNoHiU+2j3rfktW7H6mWJEXmAFd1KkBAEixVoNT2s+shz6mupfTWNfh9+clIy5OLFx5kvt4856vYLU4CgUmwCuVSVxogtrKwP1LQRlwjoUoThFTdvM4cpC8WoevSYxW52k3da6rqT0w9pxzSjG0mJClR7IRTZPwPwhcA2zhR4VNE8fzc4GirLNJGBHIKTufYkcfJJtrO4vpcuilyZ/nbhnebMAPiDFFmv3A9IOYCwBEMgzoLsaP2P5rGcIMswczJD45iBQYFXqVW3bZrrpXqg==;25:WB8ibgxMLaYfKNtmNWSW/iRnZTx1ApctFqlivbvawQlX9eoXxLLhGBAJ7rqnJ5gw1+UlO3jyKIY0TMcqMliyp8KV3FlkDNOeQoXfaYdaEv4m0uofgZ1Zc3hIlhf7TUgPY8DKIKsoPwPASG9NH742igZ8GF9S2YDU/YRDipc4xaCIXiMoHL+c1jGM/NQMTk93BT8uOoYzDTfH6P8BswarcKwt94RTDX6yHUxO+e4lc4aQlhrMcOhcJ1Xv+vwlHxEuSAA7ovXMoUUxh/pfzFj4dSg/e+XDj1SnDtAx1Vb3kvvENPFCCzjLgt/RjB7Chy/lZyVo8EAIYqDOiiCsklC8YIFdRVBfr08PbEbt5kcBwHchB8q8kOL2hMSL2Hz99cbsi0mRIu1txkqRzTqsS3PrWj7SacCd48N863XaZnobMSiIURv9eUQJWmEY4XjDaNZd4EL08R0W7cOKuL6GFKH0iQ== X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1633;31:blVisugiix8yXGyH2AJoA6YBeR893JCWNsP6UtnNtIwY6tDxQyvimxZuCrUX6ogSWGfGh6GU18Rvw/6hDmowro3Us/k3G6cjGRUpVX4AnQBBqCCvZsuT4PWcNJd5opKgKU2jgR+z4k5JMQpYqFT2SGGLGtC0cO9hLrhaNrghYrXEw4HKzY8zSxETX+8aAu0pC6XPDkpwUCRTHn25oH4JFbGQiv8huTetQyOVR0LxuZvPSXebJJcqlMVa7mk2S4am;20:/ae8TjiATUgBhfP+PDdVdFnxpYGb2WRlad58IDfAqjiDQGg+8Vb4Mo5S1OnaoXkaaHyta4QlxgysMVs2GQXbl8AmlhiAR6mesyDQWhpU4hMMJIQEQ6qVPiwIt+hvywVQFgsDrel3G5e5Zc7Vhs/0aBtwSYTaw0uG6vb+0E+GSxHTmyaOHnQDOSrbprN4h8ZOywHlxmue9J+tz8W/r9F1fPGeRRV2Hpuo5BQyjR8Gir+S2SjGz2U+JciJXsvZq15j X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6060326)(6040361)(6045199)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(6061324)(20161123564025)(20161123562025)(20161123560025)(20161123555025);SRVR:BN6PR15MB1633;BCL:0;PCL:0;RULEID:;SRVR:BN6PR15MB1633; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1633;4:B0jtroJoebctm2jSrUpqtvLixvsm8hfgDKnwapMlklcf1uTKf2wxbJ1rLRQ+2Q516cF3ODI2jjSFOyWdbB5TRDHYH5qbw3ZWER+XxkS8RrJGoe+0MvFAUf8T8XSbBHdCjhXAdJ68g//xpNSR59uGbZoEXAmG44vbv/kCQxFSMHV3mBQKqto06zPEJD8VCSDO8Rg5DMoeGi3hiX1Q5BDZPOV8iZGSHFqk69esMjXC8jya6WMyZM/FOvGpvGWMpPNgcfvUZtL092d+tujGCG4SmnhVEXqhpgwWVAFiSx+H6ppcu4A0Dw9x90cZKr8fU7cY4q57l1DWbUsvfnJ7pTQgg9rP3nIrFMe557NxIHXpnZjkjO3NBm2Fjf4phraoZfxFnIV7xCL6orwVX08wjU5Ku5i5FwGF9C/p5pmXxA0nXvFjqSQXP3OH174TlRCXDSmDzIo7G23JsnxLbFeVnajlzDPUFK6wtgFENcWME0prJmgAUhzqn7J6lb/17oZdn8TOVVlW/AqgSZp4ZykrLU0qZBrlo3MrQ85Tp1YIFM8a74Ob+9+G8ZUZAHs+XuRHjvinfjjHSEok/m4wQ6KclJl3joEFhiwdVzMF0iyR54p++F8= X-Forefront-PRVS: 01415BB535 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(51444003)(199003)(24454002)(38730400001)(92566002)(8676002)(229853002)(9686002)(39450400002)(42186005)(189998001)(733004)(81166006)(39400400001)(46406003)(39380400001)(98436002)(81156014)(39410400001)(6916009)(33656002)(6666003)(7736002)(2950100002)(50986999)(305945005)(110136003)(76176999)(5660300001)(86362001)(2906002)(50466002)(1076002)(54356999)(97756001)(106356001)(23726003)(6116002)(47776003)(105586002)(97736004)(4326007)(101416001)(4001350100001)(7846002)(68736007)(83506001)(18370500001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR15MB1633;H:shli-mbp.local;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR15MB1633;23:keJHA0OPxmxyYNyR377o7DL46m0MFpd465R6kfYjj?= =?us-ascii?Q?1kQ3l2Y7yFTjux7KKkCw9VWXC8U7ibxsUJTglNm4VRu0OlBlBF5KiqZ/sBbN?= =?us-ascii?Q?6FngrqPUIbADwhp2EwuLbbSqM563nRubis4+CPSKUj9lkBBEmxDJmvOQ05mn?= =?us-ascii?Q?MD3VXSY6Ohl9ndBvLOHrOkxeDdIYPNO8HOpOqSke/a/TxAgf83kcGtdvm8KC?= =?us-ascii?Q?Pxd+8gT6TNEVJe9YW27jEKdp/Hb40Y59oi2+5w9/z62P60bdK3cdWSBnEfP+?= =?us-ascii?Q?VkoH/EcJ3Tg1GQxdpEGbaGzt3kkCe4OVXg3IogwoGAlYY8nigMb02BELDOGb?= =?us-ascii?Q?xAa7gR6s0zMC5a23cl/OkHAxu96VWVH4PZpCkXwE7vNrimowL0pj5cwHlQT2?= =?us-ascii?Q?U+SyocrgEShCyLPeH21WgKAcEHBjYA1le8ifDjJVB5+5tfZe0Ltgzu4TDEfL?= =?us-ascii?Q?qSCAWMFpjvTgqyvFkbRVOP8ZDgFOoxqjCiwJ4J9Mn1lVWcU++CaTwA/9AUR0?= =?us-ascii?Q?dnMUJffiaQngIfmTJjmzGeIcgYBA1wAI/DU9FKWfn0WJERrpYNvw1G4MKIZE?= =?us-ascii?Q?8+Lvf+D8OUp/VcXNxvZgutm6ZOIPCc6fPEWaasTpfzG5WxuxQ1zV1/PUyf9+?= =?us-ascii?Q?Hq30BHPaz3e7jHrCAakHrdn8DHuG+bGRrxiU7i58Mtz5gtSsGqd3KuLkciSX?= =?us-ascii?Q?+dSI9v8pZuncB7W4w6kCOVg65oNrnAJycuWwyr0iREWAa/IAqCfk/asDmuXc?= =?us-ascii?Q?rmVXYNAgBcvlXcWguvNaGZg719Jp8HnJ21vYC+p4uSzafn2E5hV3RhLWHCiU?= =?us-ascii?Q?Qi6C89Z3TvCF8jBH6qu6UY3ITUOTAbfolrrLGdIXh5eECsq9+1e7pivoRHox?= =?us-ascii?Q?IM1bZqH+BlD8YFwv3rPpJTE1KKDLyiavukl7iZrlRDKTECSFOuvvAF8YgA7t?= =?us-ascii?Q?mAfg3G5hKJ62KyaFAkzxVJtC8XTv9NdCiqYRIKvWTNZ1Kvr4O2x0opEk1X41?= =?us-ascii?Q?MvCfWD1hx+mh5p6ekXV3nGXhyjzwM428a0wx92pUz9pWzQG2eqbIcngSQAxC?= =?us-ascii?Q?mwxk17SXwtOk6G7G6l47dDlPOhWtwVI8VG6YkF9xb0FpdRUe8C9DyvWs3Dm6?= =?us-ascii?Q?fHAxr48soVJrW2RRjRcN5+pfza7AphLjol9mqHUGh93WOM7cclcDhAHkfwBC?= =?us-ascii?Q?PruMHiEKe7ZSbHnBEhtjnAzQnuV2+fXGLsFvaT1dqOJJtY0di+C1+BRRpyqq?= =?us-ascii?Q?OsFwZIs7F67wyBbpZCmrFlfkspwdUxkS+4gZltE?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1633;6:4Umf4wT83Gv0/w632N96xeWgx9hzIOitM0vy2fRleKfNNiwZprhgODWtJwkcEY4fAq1+ZBqYc/Yt5AN4cTay3xUJ613dhN4hWNgGhUdcgqAmwqV1hQum5rZaipW8ANg9DTlPdR60DSP6z+GgIhGtfDMuFQCqjjQ3J3lnRhew8TjMdkXF5KgjmPfwTNzMx7G5wyPvMkqOtIuJbO8GdzYdtiZ0pBpwEOC2OJibgybcyPjohgG+FGNlIi34vwczOCLQpneoEK+zhXm3bKMm9Ui0MU2kxkZQy9kCDJ4r+Uh5ZcbAN6hJpKEDY92GuMQpOQtCrD1R054wiExvGwT70HZPaGBPrCHiu0l6OuVtC6APO/+DQtl7Uo2V+Dcsq2j7FYsEsyN1j+YE8vwMf/bgl6b1le1qLUDB0dn8Ct22QdTjuLKAeK0E2abj7qsAiXXR5fvgV9Mbi1DAYBbHF1EFDPAmWg==;5:st3RZ3+6ztUZor0VhsgS1K3W02+4otXf5Y+DNyoq0jTGKfusI9ycEKj/hnF4dqmMJfIKsYY5AhxZ8/qdfvaBlnlgIZ0Udt3rYxgdr3tRsubblS/xV+E6ZY0YohrK5YMOTDIVjloang8J3Is16psKhtvwfY6sP2r7heMNoAAKQgQ=;24:P2Kfh1+sKigzfg3Vbx38Kzqv33f6J4K5I2kIWHLfTq/MO8yDwkTUyraErr1e3bZmBW7x9ACQOXt7pvu5hc+Euy2CJEPVfjsYXNdoPMKk5Dg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1633;7:nWM2QmVpy2j9h+a72PmG/MklYTei+yon7Up+E28nX23UH9Hz2j71/6QJAtttAPmBZ4hm3vPYTxAWAAHUkZo06yKr7jQnZ3HD5fZf0QGfToAEhP+H+A3y14b6XXatoe4QbOT+LKHPpDaDU1jPEcE1E9m2+T5RssZsAQn9onAJTiYtKI6aUiqGU76b3GOumyGscEzferHCgcqUVbouY+fSRa0eM+VsaiQ0ezeCt2Kup+EQ6KmzdjAWl7nfJypZcloEersLDBhseouby/C2nzsb7DcW7jlAwbWdzDHFTofoHb1y+JqyBsUV9kSCOMznSxn2lJiIGlaiOvRRerrmAhNK6Do+JS6yKsWDZKRGxAHarpA+k2y54+sjhb6oZyur4MxIRcdJvCCRn9mclRsZs/6wKXtfI/sp3cq2cStCUzcuCDtgFlzmdmp2yLRNteXiG0vflYuA573Nw0BHUZf6LAIM0g==;20:nF7RAdFz1eo9ZO0JhXJniGKm8+a8XurJy4zYraiuU2rGd8vDsJfM9HsgyIyGF1sRh2jX2aq/OTMkrnbWf2kWcDTcI7PEo5eZlmthBqSefwI15T0zGLAqN1X1S0P9ooOphNYRCrpBpHPX6o1vGkCsarGwb+jmW0aJ6BjweK1nemk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2016 18:14:12.5582 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR15MB1633 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-29_05:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2080 Lines: 50 On Tue, Nov 29, 2016 at 12:31:08PM -0500, Tejun Heo wrote: > Hello, > > On Mon, Nov 14, 2016 at 02:22:22PM -0800, Shaohua Li wrote: > > One hard problem adding .high limit is to detect idle cgroup. If one > > cgroup doesn't dispatch enough IO against its high limit, we must have a > > mechanism to determine if other cgroups dispatch more IO. We added the > > think time detection mechanism before, but it doesn't work for all > > workloads. Here we add a latency based approach. > > As I wrote before, I think that the two mechanisms should operate on > two mostly separate aspects of io control - latency control for > arbitrating active cgroups and idle detection to count out cgroups > which are sitting doing nothing - instead of the two meachanisms > possibly competing. What the patches do doesn't conflict what you are talking about. We need a way to detect if cgroups are idle or active. I think the problem is how to define 'active' and 'idle'. We must quantify the state. We could use: 1. plain idle detection 2. think time idle detection 1 is a subset of 2. Both need a knob to specify the time. 2 is more generic. Probably the function name 'throtl_tg_is_idle' is misleading. It really means 'the cgroup's high limit can be ignored, other cgorups can dispatch more IO' > > static bool throtl_tg_is_idle(struct throtl_grp *tg) > > { > > - /* cgroup is idle if average think time is more than threshold */ > > - return ktime_get_ns() - tg->last_finish_time > > > + /* > > + * cgroup is idle if: > > + * 1. average think time is higher than threshold > > + * 2. average request size is small and average latency is higher > ^ > lower, right? oh, yes > > + * than target > > + */ > > So, this looks like too much magic to me. How would one configure for > a workload which may issue small IOs, say, every few seconds but > requries low latency? configure the think time threshold to several seconds and configure the latency target, it should do the job. Thanks, Shaohua