On Mon, 2016-11-28 at 10:19 +0800, tang.junhui@xxxxxxxxxx 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@xxxxxxxx>, Tel. +49 (0)911 74053 2107 SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel