[dm-devel] [PATCHES] new barriers

Mikulas Patocka mpatocka at redhat.com
Mon Jan 12 14:36:39 UTC 2009


Hi

Here I announce my new barrier support patches:
http://people.redhat.com/mpatocka/patches/kernel/barriers/

They are for plain 2.6.28, if you applied Andi Kleen's partial-barrier 
patch, you need to revert it.

My implementation work by offloading all the requests (both barrier and 
non-barrier ones) to a thread if the barrier is seen. The thread makes 
sure that it will flush all active requests before and after a barrier. 
When the thread finishes work, processing is switched back to dm_request.

TODO:

- doesn't support DM_ENDIO_REQUEUE, non-barrier DM_ENDIO_REQUEUE requests 
may be incorrectly reordered around a barrier, barrier DM_ENDIO_REQUEUE 
requests are aborted with an error. Needs redesign of DM_ENDIO_REQUEUE.

- flushing hw disk cache in targets (especially snapshots and raid1)

- on multipath it flushes hw cache on both paths, which is wrong (if one 
path has failed)

- parallel flushing of hw caches on linear devices for better performance, 
currently they're being flushed sequentially

Mikulas




More information about the dm-devel mailing list