Prev: perf-probe updates - data-structure support improvements, etc.
Next: [PATCH 2/2] ipc semaphores: order wakeups based on waiter CPU
From: Divyesh Shah on 12 Apr 2010 14:40 On Mon, Apr 12, 2010 at 7:30 AM, Vivek Goyal <vgoyal(a)redhat.com> wrote: > On Fri, Apr 09, 2010 at 07:35:35PM -0700, Divyesh Shah wrote: >> review comments. >> >> Changelog: (in response to Vivek Goyal's comments) >> o group blkiocg_update_blkio_group_dequeue_stats() with other DEBUG functions >> o rename blkiocg_update_set_active_queue_stats() to >> � blkiocg_update_avg_queue_size_stats() >> o s/request/io/ in blkiocg_update_request_add_stats() and >> � blkiocg_update_request_remove_stats() >> o Call cfq_del_timer() at request dispatch() instead of >> � blkiocg_update_idle_time_stats() >> >> Signed-off-by: Divyesh Shah<dpshah(a)google.com> >> --- >> > > [..] >> @@ -2395,11 +2395,7 @@ static int cfq_dispatch_requests(struct request_queue *q, int force) >> � � � } >> >> � � � cfq_log_cfqq(cfqd, cfqq, "dispatched a request"); >> - � � /* >> - � � �* This is needed since we don't exactly match the mod_timer() and >> - � � �* del_timer() calls in CFQ. >> - � � �*/ >> - � � blkiocg_update_idle_time_stats(&cfqq->cfqg->blkg); >> + � � cfq_del_timer(cfqd, cfqq); > > I am trying to think that why do we need this call here. What is that path > which does not delete the timer upon receiving request and lets fix that. > > One of the possible path when you got the request but still leave the > timer on is following. > > cfq_rq_enqueued() > � � � �if(request_not_big_enough) > � � � � � � � �leave_timer_on > � � � � � � � �cfq_mark_cfqq_must_dispatch(cfqq); > > I guess we need to leave timer on so that if an unplug does not come in, a > timer expirty will dispatch the request from the queue. > > In this case we can probably call here blkiocg_update_idle_time_stats() > directly. Anyway, that's the right thing to do otherwise our idle time > stats are little wrong as we got a request from the application and idle > timer is over. Now this is additional wait time enforced by cfq so that > lots of small requests are not dispatched to disk. Good point. Will send an updated version of this patch. > > Thanks > Vivek > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |