There is no other effect of disabling CONFIG_BASE_FULL save for changing
CONFIG_BASE_SMALL.

CONFIG_BASE_SMALL won't have much effect save for other memory savings
that really would be able to reduce some runtime performance. As for
boot time, changing this setting should not be expected to cause any
significant changes.

At focal, we have:

arch/x86/include/asm/mpspec.h: changes MAX_MP_BUSSES only on 32-bit systems.
drivers/tty/vt/vc_screen.c: change is not effective on memory reducing as of 
commit fcdba07ee390d
include/linux/udp.h:
include/linux/xarray.h:
kernel/futex.c:
kernel/user.c:
These are all reducing the initial size of hash structures, causing more list 
traversals to happen when there are hash collisions. From here, there would be 
some negative effect on runtime execution, but memory allocation of these 
hashes should not introduce significant boot time regression as I mentioned.

So, all in all, there is really no reason to keep CONFIG_BASE_SMALL=1 in
any of the kernels we ship.

** Also affects: linux (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** Also affects: linux-kvm (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Also affects: linux-kvm (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Also affects: linux-kvm (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Groovy)
   Importance: Undecided
       Status: New

** Also affects: linux-kvm (Ubuntu Groovy)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux 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 package in Ubuntu:
  Incomplete
Status in linux-kvm package in Ubuntu:
  In Progress
Status in linux source package in Xenial:
  New
Status in linux-kvm source package in Xenial:
  New
Status in linux source package in Bionic:
  New
Status in linux-kvm source package in Bionic:
  New
Status in linux source package in Focal:
  New
Status in linux-kvm source package in Focal:
  New
Status in linux source package in Groovy:
  New
Status in linux-kvm source package in Groovy:
  New

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/+bug/1866149/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to