I've added a comment to explain the reasoning behind MPATH_MIN_IO. It wouldn't surprise me if we needed to reduce it (say to 100). - Joe --- diff/drivers/md/dm-mpath.c 2004-02-16 16:01:17.000000000 +0000 +++ source/drivers/md/dm-mpath.c 2004-02-16 15:59:44.000000000 +0000 @@ -18,8 +18,21 @@ #include <linux/workqueue.h> #include <asm/atomic.h> -/* FIXME: get rid of these */ +/* FIXME: get rid of this */ #define MPATH_FAIL_COUNT 1 + +/* + * We don't want to call the path selector for every single io + * that comes through, so instead we only consider changing paths + * every MPATH_MIN_IO ios. This number should be selected to be + * big enough that we can reduce the overhead of the path + * selector, but also small enough that we don't take the policy + * decision away from the path selector. + * + * So people should _not_ be tuning this number to try and get + * the most performance from some particular type of hardware. + * All the smarts should be going into the path selector. + */ #define MPATH_MIN_IO 1000 /* Path properties */