From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 9 Sep 2019 09:09:56 -0500 From: David Teigland Message-ID: <20190909140956.GA31823@redhat.com> References: <9280276f-8601-cfbc-db46-1dcb28f92229@suse.com> <20190903151705.GA30692@redhat.com> <370ba3fa-53df-7213-8876-d37ef1a3b57e@suse.com> <20190905165519.GB30473@redhat.com> <8b432efdabc3de82146ea6cb87b27c89556bf72e.camel@suse.de> <20190906140351.GB652@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Subject: Re: [linux-lvm] system boot time regression when using lvm2-2.03.05 Reply-To: LVM general discussion and development List-Id: LVM general discussion and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , List-Id: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Heming Zhao Cc: Martin Wilck , LVM general discussion and development On Mon, Sep 09, 2019 at 11:42:17AM +0000, Heming Zhao wrote: > Hello David, > > You are right. Without calling _online_pvscan_one(), the pv/vg/lv won't be actived. > The activation jobs will be done by systemd calling lvm2-activation-*.services later. > > Current code, the boot process is mainly blocked by: > ``` > _pvscan_aa > vgchange_activate > _activate_lvs_in_vg > sync_local_dev_names > fs_unlock > dm_udev_wait <=== this point! > ``` Thanks for debugging that. With so many devices, one possibility that comes to mind is this error you would probably have seen: "Limit for the maximum number of semaphores reached" > For fix this boot time regression, it looks lvm2 should have a config item in lvm2.conf > i.e.: large_PV_boot_speedup. > When this item is 1, pvcan won't call _online_pvscan_one, then let lvm2-activation*.service > do the active jobs. > Is it a workable solution? We should look into fixing the udev problems. I don't mind working around udev when it won't do what we need; I'm not sure what the options are in this case.