Re: [PATCH 0/3] Convert libata pio task to slow-work

From: Tejun Heo
Date: Thu Aug 27 2009 - 09:00:26 EST


Hello, Jens.

Jens Axboe wrote:
>> It would be nice if merging of this series and the lazy work can be
>> held a bit but there's no harm in merging either. If the concurrency
>> managed workqueue turns out to be a good idea, we can replace it then.
>
> It can wait, what you describe above sounds really cool and would
> hopefully allow us to get rid of all workqueues (provided it scales well
> and doesn't fall down on cache line contention with many different
> instances pounding on it).

Almost all operations are per-cpu so cache lines shouldn't bounce too
much. The only part I worry about is the part which checks whether a
work is currently executing on the current cpu which currently is
implemeted as a hash table. The hash table is only 16 pointers long
and will be mostly empty so hopefully it doesn't add any significant
overhead.

> Care to post it? I know you don't think it's perfect yet, but it would
> make a lot more sense to throw effort into this rather than waste time
> on partial solutions.

I have this printed out code with full of red markings from proof
reading and flush implementation is mostly broken. Please give me a
couple of days. I'll post a rough unsplit version which at least
compiles with the planned changes applied by the end of the week. :-)

Thanks.

--
tejun
--
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/