This is causing LXD VMs (Focal, possibly others) to boot in "degraded"
state, see [1]. The underlying cause is:

root@paride-f-delme:~# systemctl status systemd-sysctl.service
● systemd-sysctl.service - Apply Kernel Variables
     Loaded: loaded (/lib/systemd/system/systemd-sysctl.service; static; vendor 
preset: enabled)
     Active: failed (Result: exit-code) since Fri 2020-11-06 16:43:35 UTC; 
14min ago
       Docs: man:systemd-sysctl.service(8)
             man:sysctl.d(5)
   Main PID: 301 (code=exited, status=1/FAILURE)

root@paride-f-delme:~# /lib/systemd/systemd-sysctl
Couldn't write '176' to 'kernel/sysrq', ignoring: No such file or directory
Not setting net/ipv4/conf/all/promote_secondaries (explicit setting exists).
Not setting net/ipv4/conf/default/promote_secondaries (explicit setting exists).
Couldn't write 'fq_codel' to 'net/core/default_qdisc', ignoring: No such file 
or directory
Couldn't write '4194304' to 'kernel/pid_max': Invalid argument

[1] https://paste.ubuntu.com/p/TQhpFWYzK7/

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-kvm in Ubuntu.
https://bugs.launchpad.net/bugs/1866149

Title:
  CONFIG_BASE_SMALL=1 restricts pid space, which conflicts with systemd
  default sysctl

Status in linux-kvm package in Ubuntu:
  Confirmed

Bug description:
  I'm not completely sure which package to log this against.

  I'm running the kvm focal minimal cloud image from 20200302. I noticed
  on boot that there was an error complaining that systemd-systemctl
  couldn't update pid_max to the value it wanted:

  systemd-sysctl[117]: Couldn't write '4194304' to 'kernel/pid_max':
  Invalid argument

  Digging into it a bit more, this comes from /usr/lib/sysctl.d/50-pid-max.conf:
  # Bump the numeric PID range to its maximum of 2^22 (from the in-kernel 
default
  # of 2^16), to make PID collisions less likely.
  kernel.pid_max = 4194304

  However, the linux-image-kvm kernel is compiled with
  CONFIG_BASE_SMALL=1

  and this triggers the following code in include/linux/threads.h

  #define PID_MAX_LIMIT (CONFIG_BASE_SMALL ? PAGE_SIZE * 8 : \
        (sizeof(long) > 4 ? 4 * 1024 * 1024 : PID_MAX_DEFAULT))

  which means that if CONFIG_BASE_SMALL is set we get a maximum limit of
  PAGE_SIZE * 8, which on x86 would be 32768.

  As a workaround I can override it with a file in /etc/sysctl.d/ but
  this shouldn't be needed.

  I really don't know if CONFIG_BASE_SMALL makes any sense on x86 cloud
  images, they really aren't small machines in the scheme of things!

  Cheers

  David

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-kvm/+bug/1866149/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to