[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