Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756834Ab1CAQ2X (ORCPT ); Tue, 1 Mar 2011 11:28:23 -0500 Received: from mx1.redhat.com ([209.132.183.28]:7242 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754000Ab1CAQ2W (ORCPT ); Tue, 1 Mar 2011 11:28:22 -0500 Date: Tue, 1 Mar 2011 11:27:53 -0500 From: Vivek Goyal To: Andrea Righi Cc: Balbir Singh , Daisuke Nishimura , KAMEZAWA Hiroyuki , Greg Thelen , Wu Fengguang , Gui Jianfeng , Ryo Tsuruta , Hirokazu Takahashi , Jens Axboe , Jonathan Corbet , Andrew Morton , containers@lists.linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/3] blk-throttle: async write throttling Message-ID: <20110301162753.GB2539@redhat.com> References: <1298888105-3778-1-git-send-email-arighi@develer.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1298888105-3778-1-git-send-email-arighi@develer.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1912 Lines: 48 On Mon, Feb 28, 2011 at 11:15:02AM +0100, Andrea Righi wrote: [..] > TODO > ~~~~ > - Consider to add the following new files in the blkio controller to allow the > user to explicitly limit async writes as well as sync writes: > > blkio.throttle.async.write_bps_limit > blkio.throttle.async.write_iops_limit I am kind of split on this. - One way of thinking is that blkio.throttle.read/write_limits represent the limits on requeuest queue of the IO which is actually passing through queue now. So we should not mix the two and keep async limits separately. This will also tell the customer explicitly that async throttling does not mean the same thing as throttling happens before entering the page cache and there can be/will be IO spikes later at the request queue. Also creating the separate files leaves the door open for future extension of implementing async control when async IO is actually submitted to request queue. (Though I think that will be hard as making sure all the filesystems, writeback logic, device mapper drivers are aware of throttling and will take steps to ensure faster groups are not stuck behind slower groups). So keeping async accounting separate will help differentiating that async control is not same as sync control. There are fundamental differences. - On the other hand, it makes life a bit simple for user as they don't have to specify the async limits separately and there is one aggregate limit for sync and async (assuming we fix the throttling state issues so that throttling logic can handle both bio and task throttling out of single limit). Any thoughts? Thanks Vivek -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/