From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Garrett Date: Mon, 23 Nov 2009 14:25:57 +0000 Subject: Re: [PATCH] [RFC] Add support for uevents on block device idle Message-Id: <20091123142557.GA10084@srcf.ucam.org> List-Id: References: <1258474180.16176.62.camel@localhost.localdomain> <20091117185742.GA19829@srcf.ucam.org> <20091118194053.GB12944@srcf.ucam.org> <20091118195342.GA13627@srcf.ucam.org> <20091118200712.GA14026@srcf.ucam.org> <20091122233749.GA9699@ucw.cz> <20091123141754.GE8742@kernel.dk> In-Reply-To: <20091123141754.GE8742@kernel.dk> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Jens Axboe Cc: Pavel Machek , Kay Sievers , David Zeuthen , linux-kernel@vger.kernel.org, linux-hotplug@vger.kernel.org On Mon, Nov 23, 2009 at 03:17:54PM +0100, Jens Axboe wrote: > I have to agree, doing a mod_timer() on every single IO is going to suck > big time. I went to great lengths to avoid doing that even for timeout > detection. So that's pretty much a non-starter to begin with. It's conditional on a (default off) setting, so it's not a hit unless the user requests it. But yeah, the performance hit is obviously a concern. It may be that polling is the least bad way of doing this. > Additionally, as Bart also wrote, you are not doing this in the right > place. You want to do this post-merge, not for each incoming IO. Have > you looked at laptop mode? Looks like you are essentially re-inventing > that, but in a bad way. Right, that's mostly down to my having no familiarity with the block layer at all :) I can fix that up easily enough, but if a deferrable timer is going to be too expensive then it'll need some rethinking anyway. -- Matthew Garrett | mjg59@srcf.ucam.org