lkml.org 
[lkml]   [2012]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: multi-second application stall in open()
On Thu, Jun 21, 2012 at 04:11:18PM -0500, Josh Hunt wrote:

[..]
> > say put some logs in select_queue() and see where did it bail out. That
>
> Well I did add some instrumentation in select_queue, the "keep_queue
> st->count:%d, dispatch:%u" line I mentioned above, but I will add more
> and retest.

Actually before the stall we expired the current queue. That means there
is no active queue in cfq now. So keep_queue trace will help only if there
is an active queue and we decide to keep that queue.

8,0 0 0 4466.139959742 0 m N cfq20720 del_from_rr
8,0 0 0 4466.139963653 0 m N cfq schedule dispatch
8,0 1 1499521 4466.791207736 7570 A R 7258191 + 8 <- (8,1)
7258128

Thing to figure out here is that why cfq is not picking a new queue
despite the fact there are pending requests and there is no active
queue (hence cfq is not obiviously not seeing that queue).

>
> I'm attaching a similar run with no stalls when I set slice_idle to 0.

At this point I am not sure why slice_idle=0 is not seeing this issue. It
does not see to be directly related to idling. Because when stall happens
CFQ is not idling on anything. It has expired active queue and for some
reason it thinks that I have no more requests to dispatch, so I have
nothing to do until a new request comes in.

Thanks
Vivek


\
 
 \ /
  Last update: 2012-06-22 16:41    [W:0.124 / U:0.448 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site