Re: Runtime PM and the block layer

Previous thread: [Fwd: [Fwd: Dirk DeSchepper <ddeschepper@nvtl.com>]] by Dirk DeSchepper on Tuesday, August 24, 2010 - 12:38 pm. (1 message)

Next thread: 2.6.32 cgroup regression by Josh Hunt on Tuesday, August 24, 2010 - 1:10 pm. (6 messages)
From: Alan Stern
Date: Tuesday, August 24, 2010 - 1:06 pm

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

I see.  You're suggesting we add a new &quot;power_mode&quot; or &quot;queue_idle&quot;  
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

--

From: Jens Axboe
Date: Tuesday, August 24, 2010 - 1:10 pm

Nothing, you will have to maintain that state and defer when
appropriate. Which should happen automatically, since you would not be

Yep, that is what I'm suggesting.

-- 
Jens Axboe

--

Previous thread: [Fwd: [Fwd: Dirk DeSchepper <ddeschepper@nvtl.com>]] by Dirk DeSchepper on Tuesday, August 24, 2010 - 12:38 pm. (1 message)

Next thread: 2.6.32 cgroup regression by Josh Hunt on Tuesday, August 24, 2010 - 1:10 pm. (6 messages)