boot delays nmbd maybe sleeping excessively
This might not be the right place to raise this - it might be better sent to a samba user list, but... On tumbleweed I've noticed that nmbd consistently delays booting to the login prompt by several seconds. Systemd-analyse blame and systemd-analyse critical chain report numbers such as: 5.295s nmb.service 3.036s systemd-fsck-root.service 2.419s systemd-udev-settle.service The critical chain to graphical target is reported as 11.344s. If I disable smbd and nmbd this drops to 7.360s. Looking at its source code, nmbd appears to sleep(5) in three places while waiting for interfaces to become available: find ./samba/source3/nmbd -type f | xargs grep sleep ./samba/source3/nmbd/nmbd.c: sleep(5); ./samba/source3/nmbd/nmbd_subnetdb.c: sleep(5); ./samba/source3/nmbd/nmbd_subnetdb.c: sleep(5); I wonder if these sleep intervals might safely be set a bit shorter or even be made configurable via config or getenv? Would such changes be considered for TW, or would they have to be proposed upstream to the samba folk? Michael
Sorry about the repeat item below. I originally emailed the item from the wrong address. I then resent it from the right address and assumed the moderator would notice the repeat and not approve the first attempt. I think the weekend buried the resent successful post. For those interested in the topic the issue is now lodged as a bug: http://bugzilla.opensuse.org/show_bug.cgi?id=1183148 On Saturday 06 March 2021, Michael Hamilton wrote:
This might not be the right place to raise this - it might be better sent to a samba user list, but...
On tumbleweed I've noticed that nmbd consistently delays booting to the login prompt by several seconds. Systemd-analyse blame and systemd-analyse critical chain report numbers such as:
5.295s nmb.service 3.036s systemd-fsck-root.service 2.419s systemd-udev-settle.service
The critical chain to graphical target is reported as 11.344s. If I disable smbd and nmbd this drops to 7.360s.
Looking at its source code, nmbd appears to sleep(5) in three places while waiting for interfaces to become available:
find ./samba/source3/nmbd -type f | xargs grep sleep ./samba/source3/nmbd/nmbd.c: sleep(5); ./samba/source3/nmbd/nmbd_subnetdb.c: sleep(5); ./samba/source3/nmbd/nmbd_subnetdb.c: sleep(5);
I wonder if these sleep intervals might safely be set a bit shorter or even be made configurable via config or getenv?
Would such changes be considered for TW, or would they have to be proposed upstream to the samba folk?
Michael
participants (2)
-
Michael Hamilton
-
Michael Hamilton