** Description changed: - [ Impact ] * Systemd calls socket(AF_NETLINK, ..., NETLINK_NETFILTER) - multiple times even when not needed. When the nfnetlink module is not - available, this call is very slow. * On daemon-reload this is done twice - per unit. * The boot of UC26 is then much slower than UC24. It probably - affects also Ubuntu hybrid 26.04 (TPM/FDE). * We added nfnetlink kernel - module to work-around it. But this module does not belong in initrd - because nothing actually uses it. Apart from opening the socket. [ Test - Plan ] * Build an initrd with - https://github.com/canonical/snapd/pull/17014 reverted. * Run Ubuntu - Core 26 with bootchart enabled. Compare with and without fix. The time - for initrd should be shorter with the fix. This is specially noticable - around daemon-reload calls. [ Where problems could occur ] * This - affects NFTSet= from systemd.resourceācontrol(5). The change is simple - enough that there is high confidence that nothing will break. But if - something breaks, it is for that field. [ Other Info ] * Fix was merged - upstream https://github.com/systemd/systemd/pull/41930 [ Original report - ] It has been detected that daemon-reload requests take more time on - UC26 than on UC24. The root cause is a new call to - "sd_nfnl_socket_open()" in unit_modify_user_nft_set() that takes some - time to run and finally fails. An optimization for this is + [ Impact ] + + * Systemd calls socket(AF_NETLINK, ..., NETLINK_NETFILTER) multiple + times even when not needed. When the nfnetlink module is not available, + this call is very slow. + + * On daemon-reload this is done twice per unit. + + * The boot of UC26 is then much slower than UC24. It probably affects + also Ubuntu hybrid 26.04 (TPM/FDE). * We added nfnetlink kernel module + to work-around it. But this module does not belong in initrd because + nothing actually uses it. Apart from opening the socket. + + [ Test Plan ] + + * Build an initrd with https://github.com/canonical/snapd/pull/17014 + reverted. + + * Run Ubuntu Core 26 with bootchart enabled. Compare with and without + fix. The time for initrd should be shorter with the fix. This is + specially noticable around daemon-reload calls. + + [ Where problems could occur ] + + * This affects NFTSet= from systemd.resourceācontrol(5). The change is + simple enough that there is high confidence that nothing will break. But + if something breaks, it is for that field. + + [ Other Info ] + + * Fix was merged upstream https://github.com/systemd/systemd/pull/41930 + + [ Original report ] + + It has been detected that daemon-reload requests take more time on UC26 + than on UC24. The root cause is a new call to "sd_nfnl_socket_open()" in + unit_modify_user_nft_set() that takes some time to run and finally + fails. An optimization for this is https://pastebin.canonical.com/p/P6QFgQy5cH/ (when nft_set is empty, the call is prevented). ---original--- It has been detected that daemon-reload requests take more time on UC26 than on UC24. The root cause is a new call to "sd_nfnl_socket_open()" in unit_modify_user_nft_set() that takes some time to run and finally fails. An optimization for this is https://pastebin.canonical.com/p/P6QFgQy5cH/ (when nft_set is empty, the call is prevented).
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2150773 Title: Slowness on UC26 on daemon-reload requests To manage notifications about this bug go to: https://bugs.launchpad.net/snapd/+bug/2150773/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
