From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Date: Mon, 23 Nov 2009 14:17:54 +0000 Subject: Re: [PATCH] [RFC] Add support for uevents on block device idle Message-Id: <20091123141754.GE8742@kernel.dk> 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> In-Reply-To: <20091122233749.GA9699@ucw.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Pavel Machek Cc: Matthew Garrett , Kay Sievers , David Zeuthen , linux-kernel@vger.kernel.org, linux-hotplug@vger.kernel.org On Mon, Nov 23 2009, Pavel Machek wrote: > On Wed 2009-11-18 20:07:12, Matthew Garrett wrote: > > On Wed, Nov 18, 2009 at 09:03:21PM +0100, Kay Sievers wrote: > > > > > Sure, but what's wrong with reading that file every 50 seconds? Almost > > > all boxes poll for media changes of optical drives and usb card > > > readers anyway, so it's not that we are not doing stuff like this > > > already. > > > > We poll for media because there's no event-based way of avoiding it - in > > this case there is. > > ...when you add overhead to every disk operation. I'd say that polling > once in 50 seconds is preferable to that. 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. 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. -- Jens Axboe