Re: [PATCH] Time sliced cfq with basic io priorities

From: Paul E. McKenney
Date: Wed Dec 15 2004 - 10:20:48 EST


On Wed, Dec 15, 2004 at 07:36:28AM +0100, Jens Axboe wrote:
> On Tue, Dec 14 2004, Paul E. McKenney wrote:
> > If only one task is referencing the list at all, no need for RCU or for
> > any other synchronization mechanism. If multiple threads are referencing
> > the list, I cannot find any pure readers. If multiple threads are updating
> > the list, I don't see how they are excluding each other.
> >
> > Any enlightenment available? I most definitely need a clue here...
>
> No, you are about right :-)
>
> The RCU stuff can go again, because I moved everything to happen under
> the same task. The section under rcu_read_lock() is the reader, it just
> later on moved the hot entry to the front as well which does indeed mean
> it's buggy if there were concurrent updaters. So that's why it's in a
> state of being a little messy right now.
>
> A note on the list itself - a task has a cfq_io_context per queue it's
> doing io against and it needs to be looked up when we this process
> queues io. The task sets this up itself on first io and tears this down
> on exit. So only the task itself ever updates or searches this list.

Whew!!! I feel much better!

Thanx, Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/