[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