On Fri, Jun 17, 2005 at 02:21:32PM +1000, Nick Piggin wrote:
> Peter Keilty is running into some scalability problems with buffer
> head based IO. There are a couple of global spinlocks in the buffer
> completion path, and they're showing up on 16-way IA64 systems.
> Replacing these locks with a bit spin lock in the buffer head status
> field has been shown to eliminate the bouncing problem. We want to
> go with this unless anyone has an objection to the cost.
> There is a cost (though I haven't been able to measure a signficant
> change), but I think it will be outweighed by the the reduction in
> cacheline contention on even small SMPs doing IO.
> Any input would be appreciated.
> If anyone wants to run some tests, possibly the easiest would be to
> make ext2 on loopback on tmpfs (to test scalability, have one loop
> device for each CPU in the system and bind the loop threads to each
> CPU). Make sure ext2 block size is < PAGE_SIZE.

I'd feel far more comfortable with this if the lockbit resided in the
page. Also, compare it to akpm's solution.


-- wli

Reply via email to