On 15/06/2011, at 8:16 PM, Mark Kettenis wrote: >> Date: Wed, 15 Jun 2011 18:04:24 +1000 >> From: David Gwynne <l...@animata.net> >> >> the subject line says it all, but happy to explain further if >> required. > > Hmm, I'm somewhat confused: > >> +#define MPATH_ROUNDROBIN 0 >> +#define MPATH_NEXT MPATH_ROUNDROBIN >> +#define MPATH_LRU 1
ah crap, i mean MRU for most recently used. i dont know why LRU keeps coming out of my fingers. > What does MPATH_NEXT mean? Is that the strategy you fall back on if > the path you're using fails? What if you have more than 4 paths to a > disk with a device that only allows a single active path and one of > them fails? Are you suddenly going to try roundrobin scheduling of > IOs? if you have a group of four paths and you're doing MRU scheduling, only one of those will be used. if that path goes away (ie, you get XS_SELTIMEOUT from the physical adapter), MPATH_NEXT moves us to the next available path in the group. > Also, I don't quite understand what MPATH_LRU would mean. Least > Recently Used? How is that different from Round Robin? Don't you > need a Last Used policy for devices that can only have a single active > path or devices where there is a significant overhead for switching to > a different path. round robin uses all available paths, L^HMRU uses only one of the available paths until it fails or goes away. dlg