From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Marzinski Subject: Re: [PATCH v2 0/9] speeding up mpathpersist Date: Wed, 29 May 2019 14:30:45 -0500 Message-ID: <20190529193045.GF7630@octiron.msp.redhat.com> References: <20190527125942.8366-1-mwilck@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20190527125942.8366-1-mwilck@suse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Martin Wilck Cc: dm-devel@redhat.com, Xose Vazquez Perez List-Id: dm-devel.ids 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