Re: Runtime PM and the block layer

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Alan Stern
Date: Tuesday, August 24, 2010 - 1:06 pm

On Tue, 24 Aug 2010, Jens Axboe wrote:


That's not what I meant.  Suppose the driver wants to carry out special
requests A and B before carrying out request R, which is initially at
the head of the queue.  The driver inserts A at the front, calls
blk_start_queue(), and inserts B at the front when A completes.  
What's to prevent the block layer from sending R to the driver while A
is running?


I see.  You're suggesting we add a new "power_mode" or "queue_idle"  
callback to the request_queue struct, and make the block layer invoke
this callback whenever a request completes and there are no other
requests pending or in flight.  Right?  And similarly, invoke the
callback (with a different argument) when the first request gets added
to an otherwise empty queue.

That would suit my needs.

Alan Stern

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Runtime PM and the block layer, Alan Stern, (Tue Aug 24, 1:06 pm)
Re: Runtime PM and the block layer, Jens Axboe, (Tue Aug 24, 1:10 pm)