Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #51303 > unrolled thread

Bug#804857: linux: New feature: enable CONFIG_NO_HZ_FULL and CONFIG_RCU_NOCB_CPU/CONFIG_RCU_NOCB_CPU_NONE

Started byQuentin Deldycke <quentindeldycke@gmail.com>
First post2015-11-12 14:20 +0100
Last post2015-11-12 18:40 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.debian.kernel


Contents

  Bug#804857: linux: New feature: enable CONFIG_NO_HZ_FULL and CONFIG_RCU_NOCB_CPU/CONFIG_RCU_NOCB_CPU_NONE Quentin Deldycke <quentindeldycke@gmail.com> - 2015-11-12 14:20 +0100
    Bug#804857: linux: New feature: enable CONFIG_NO_HZ_FULL and CONFIG_RCU_NOCB_CPU/CONFIG_RCU_NOCB_CPU_NONE Ben Hutchings <ben@decadent.org.uk> - 2015-11-12 18:40 +0100

#51303 — Bug#804857: linux: New feature: enable CONFIG_NO_HZ_FULL and CONFIG_RCU_NOCB_CPU/CONFIG_RCU_NOCB_CPU_NONE

FromQuentin Deldycke <quentindeldycke@gmail.com>
Date2015-11-12 14:20 +0100
SubjectBug#804857: linux: New feature: enable CONFIG_NO_HZ_FULL and CONFIG_RCU_NOCB_CPU/CONFIG_RCU_NOCB_CPU_NONE
Message-ID<qtZXc-VN-13@gated-at.bofh.it>
Source: linux
Severity: wishlist

Dear Maintainer,

Could you please enable kernel options CONFIG_NO_HZ_FULL, CONFIG_RCU_NOCB_CPU and CONFIG_RCU_NOCB_CPU_NONE.

As explained in: https://www.kernel.org/doc/Documentation/timers/NO_HZ.txt

This options:
 - Don't modify default kernel behavior
 - Enable kernel command line nohz_full to enable tickless cpus
 - Enable kernel command line rcu_nocbs to offload rcu callbacks

The combination of these parameters + cpu-pinning of virtual machines greatly improve performance.
It also reduces latency in these virtual machines as the host system doesn't try to use it. (if your cgroup is correctly made)

These parameters are disabled in all debian kernels.
These parameters are enabled for various linux distribution by default without problem. (rhel 7 being one of them)
  (note that rhel 7 uses CONFIG_RCU_NOCB_CPU_ALL and user can pin offload kthreads to a core)

The usage of CONFIG_RCU_NOCB_CPU_NONE doesn't offload by default. But possibly this behavior is not the best.


Quentin.

-- System Information:
Debian Release: stretch/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.3.0-rc7-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

[toc] | [next] | [standalone]


#51308

FromBen Hutchings <ben@decadent.org.uk>
Date2015-11-12 18:40 +0100
Message-ID<qu40O-3rz-19@gated-at.bofh.it>
In reply to#51303

[Multipart message — attachments visible in raw view] — view raw

On Thu, 2015-11-12 at 14:13 +0100, Quentin Deldycke wrote:
> Source: linux
> Severity: wishlist
> 
> Dear Maintainer,
> 
> Could you please enable kernel options CONFIG_NO_HZ_FULL,
> CONFIG_RCU_NOCB_CPU and CONFIG_RCU_NOCB_CPU_NONE.
> 
> As explained in: https://www.kernel.org/doc/Documentation/timers/NO_HZ.txt
> 
> This options:
>  - Don't modify default kernel behavior
>  - Enable kernel command line nohz_full to enable tickless cpus
>  - Enable kernel command line rcu_nocbs to offload rcu callbacks
> 
> The combination of these parameters + cpu-pinning of virtual machines
> greatly improve performance.
> It also reduces latency in these virtual machines as the host system
> doesn't try to use it. (if your cgroup is correctly made)
[...]

But for other configurations it is worse:

config NO_HZ_FULL
        bool "Full dynticks system (tickless)"
...
         This is implemented at the expense of some overhead in user <-> kernel
         transitions: syscalls, exceptions and interrupts. Even when it's
         dynamically off.

         Say N.

I think we should enable this for the rt featureset when it's next
available, but not by default.

Ben.

-- 
Ben Hutchings
Logic doesn't apply to the real world. - Marvin Minsky

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.kernel


csiph-web