[dm-devel] Improve processing efficiency for addition and deletion of multipath devices
Martin Wilck
mwilck at suse.com
Mon Nov 28 10:28:56 UTC 2016
On Mon, 2016-11-28 at 10:19 +0800, tang.junhui at zte.com.cn wrote:
>
> 4. Proposal
> Other than processing uevents one by one, uevents which coming from
> the
> same LUN devices can be mergered to one, and then uevent processing
> thread only needs to process it once, and it only produces one DM
> addition
> uevent which could reduce system resource consumption.
>
Here comes an idea how to achieve this without a lot of additional
code:
libmultipath already has code to check whether any maps need to be
updated (in coalesce_paths()). Instead of recording uevents, merging
them, and calling ev_add_path() for every affected WWID, it might be
sufficient to set daemon state to DAEMON_CONFIGURE and wake up the main
multipathd thread to call reconfigure(). Then we only need to make sure
that coalesce_paths() really reloads or creates maps only when
necessary. I have some patches here that I made for that purpose, for a
different scenario (multipathd to avoid RELOAD ioctls when it's started
in a scenario where most paths are already set up by udev).
Regards
Martin
--
Dr. Martin Wilck <mwilck at suse.com>, Tel. +49 (0)911 74053 2107
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
More information about the dm-devel
mailing list