From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Garrett Date: Wed, 18 Nov 2009 21:45:06 +0000 Subject: Re: [PATCH] [RFC] Add support for uevents on block device idle Message-Id: <20091118214506.GA17019@srcf.ucam.org> List-Id: References: <20091118194053.GB12944@srcf.ucam.org> <20091118195342.GA13627@srcf.ucam.org> <20091118200712.GA14026@srcf.ucam.org> <20091118213526.GB16630@srcf.ucam.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Kay Sievers Cc: David Zeuthen , linux-kernel@vger.kernel.org, axboe@kernel.dk, linux-hotplug@vger.kernel.org On Wed, Nov 18, 2009 at 10:39:26PM +0100, Kay Sievers wrote: > On Wed, Nov 18, 2009 at 22:35, Matthew Garrett wrote: > > On Wed, Nov 18, 2009 at 10:29:23PM +0100, Kay Sievers wrote: > > > >> I guess, the "idle_since" file could be made poll()able, and throw an > >> event when the idle time is re-set to 0, so the value checking needs > >> only to happen as long we wait for the disk to become idle. As long as > >> it's busy anyway, the rare wakeups should not matter much. :) > > > > That'd be a userspace wakeup every time something gets submitted to the > > block device, which sounds far from ideal... > > No, you would only poll() when you reached the timeout and the disk > entered the idle state. This can not happen more frequently than the > timeout itself. I don't understand. idle_since would be reset on every access to the block device. The alternative is to generate an event when the disk goes idle, but that goes back to requiring a timer in the kernel... -- Matthew Garrett | mjg59@srcf.ucam.org