What | Removed | Added |
---|---|---|
Flags | needinfo?(shivasharan.srikanteshwara@broadcom.com) |
(In reply to Thomas Blume from comment #14) > (In reply to Shivasharan Srikanteshwara from comment #13) > > I have attached the requested logs, but there is nothing related to > > udev-settle service in the logs. > > Do I need to enable the service explicitly after OS install? > > How does this service get triggered? > > I can see multipathd.service and dmraid-activation.service have lines that > > refer to systemd-udev-settle.service. But both multipathd and dmraid are not > > enabled. > > > > linux-so07:/usr/lib/systemd # grep -R "udev-settle" * > > system/multipathd.service:Wants=systemd-udev-trigger.service > > systemd-udev-settle.service > > system/multipathd.service:After=multipathd.socket > > systemd-udev-trigger.service systemd-udev-settle.service > > system/dmraid-activation.service:After=systemd-udev-settle.service > > system/dmraid-activation.service:Wants=systemd-udev-settle.service > > > > Thanks. > > Indeed systemd-udev-settle.service is only triggered at certain conditions. > That doesn't look correct, it should be triggered by > systemd-udev-trigger.service. > Could you please do the following changes in systemd-udev-trigger.service: > > --> > --- /usr/lib/systemd/system/systemd-udev-trigger.service.orig 2017-09-29 > 10:10:08.423500663 +0200 > +++ /usr/lib/systemd/system/systemd-udev-trigger.service 2017-09-29 > 10:10:24.143500663 +0200 > @@ -9,7 +9,7 @@ > Description=udev Coldplug all Devices > Documentation=man:udev(7) man:systemd-udevd.service(8) > DefaultDependencies=no > -Wants=systemd-udevd.service > +Wants=systemd-udevd.service systemd-udev-settle.service > After=systemd-udevd-kernel.socket systemd-udevd-control.socket > systemd-hwdb-update.service > Before=sysinit.target > ConditionPathIsReadWrite=/sys > --< > > afterwards run mkinitrd and check whether the issue still appears after > reboot? This does alleviate my problem a bit but does not solve completely. The udev-settle service has a default timeout of 120secs. So with this the tolerance increases from 30secs to about 150seconds (120 secs for udev-settle to timeout + earlier 30secs for systemd-udevd to kill all child processes). Let me know if you require the logs with these changes. >From the various experiments I have been running, if "KillMode=mixed" option in systemd-udevd.service file is removed the problem goes away completely... Even without the udev-settle changes. With KillMode=mixed, systemd sends a SIGKILL after 30secs timeout. But the default behaviour is to send a SIGTERM after 30seconds. Looks like the SIGKILL is causing all the trouble here. Is the KillMode option required for systemd-udevd?