[dm-devel] [PATCH v2 0/9] speeding up mpathpersist

Benjamin Marzinski bmarzins at redhat.com
Wed May 29 19:30:45 UTC 2019


On Mon, May 27, 2019 at 02:59:33PM +0200, Martin Wilck wrote:
> We've had reports that mpathpersist doesn't scale well in environments
> with lots of IO devices. This patch set tries to address this problem
> with a few optimizations:
> 
>  - instead of doing a full path discovery at startup, only look at
>    paths that are part of the maps being worked on
>  - allow multiple PR commands in a single run using "batch files",
>    without re-discovering everything between PR commands
>  - avoid looking at priorities
> 
> I've done some basic testing and it seems to work. It remains to be
> seen what the effect on performance really is, but the amount of system
> calls to be performed for a given set of mpathpersist actions should
> be substantially reduced in any case, especially when using batching.
> 
> ---
> v2:
>  - avoid memory leak with --batch-file (Ben Marzinski)
>  - add documentation to usage() output and mpathpersist man page
>  - integrate "mpathpersist.8: fix examples in man page" which I'd sent
>    separately before
> 

ACK for the set.

-Ben

> 
> Martin Wilck (9):
>   mpathpersist: call usage() just once on return
>   mpathpersist: add option --batch-file (-f)
>   mpathpersist: no need to treat error close() as fatal
>   libmpathpersist: updatepaths: deal with missing pp->udev
>   libmpathpersist: factor out initialization and teardown
>   mpathpersist: initialize data structures only once
>   libmpathpersist: don't bother with priorities
>   mpathpersist.8: fix examples in man page
>   mpathpersist.8: add documentation for --batch-file (-f)
> 
>  libmpathpersist/mpath_persist.c | 250 +++++++++++++++-----------------
>  libmpathpersist/mpath_persist.h |  40 +++++
>  mpathpersist/main.c             | 227 ++++++++++++++++++++++-------
>  mpathpersist/main.h             |   1 +
>  mpathpersist/mpathpersist.8     | 121 ++++++++++++++--
>  5 files changed, 440 insertions(+), 199 deletions(-)
> 
> -- 
> 2.21.0




More information about the dm-devel mailing list