[PATCH 0/5] handle kthread_prio kernel cmdline parameter consistently

Alison Chaiken posted 5 patches 4 years, 5 months ago
Only 4 patches received!
.../admin-guide/kernel-parameters.txt         |  2 +
kernel/rcu/tree.c                             | 42 +++++++++++--------
kernel/rcu/tree_nocb.h                        |  7 ++++
3 files changed, 34 insertions(+), 17 deletions(-)
[PATCH 0/5] handle kthread_prio kernel cmdline parameter consistently
Posted by Alison Chaiken 4 years, 5 months ago
When CONFIG_PREEMPT_RT=y, RCU_SOFTIRQ work is moved to dedicated rcuc
per-core threads.  The rcutree.kthread_prio kernel cmdline parameter
controls the priority of those threads.

A provided kthread_prio kernel cmdline parameter also elevates the
priority of rcuog threads, but only if they are launched from
rcu_spawn_gp_kthread(), not if they are launched from
rcu_spawn_one_nocb_kthread().  Fix this inconsistency.

When CONFIG_RCU_NOCB_CPU=y, an rcu_nocbs command-line parameter
offloads the work of rcuc on designated cores to new rcuop threads
that are not pinned to the cores whose expired grace-period timer
callbacks they run.  While rcuop threads have the same function as
rcuc threads, their priority is not controlled by the kthread_prio
parameter.  Add this feature and update the documentation accordingly.

Alison Chaiken (4):
  RCU: move kthread_prio bounds-check to a separate function
  RCU: make priority of grace-period thread consistent
  RCU: elevate priority of offloaded callback threads
  RCU: update documentation regarding kthread_prio cmdline parameter

 .../admin-guide/kernel-parameters.txt         |  2 +
 kernel/rcu/tree.c                             | 42 +++++++++++--------
 kernel/rcu/tree_nocb.h                        |  7 ++++
 3 files changed, 34 insertions(+), 17 deletions(-)

-- 
2.32.0

Re: [PATCH 0/5] handle kthread_prio kernel cmdline parameter consistently
Posted by Paul E. McKenney 4 years, 5 months ago
On Tue, Jan 11, 2022 at 03:32:49PM -0800, Alison Chaiken wrote:
> When CONFIG_PREEMPT_RT=y, RCU_SOFTIRQ work is moved to dedicated rcuc
> per-core threads.  The rcutree.kthread_prio kernel cmdline parameter
> controls the priority of those threads.
> 
> A provided kthread_prio kernel cmdline parameter also elevates the
> priority of rcuog threads, but only if they are launched from
> rcu_spawn_gp_kthread(), not if they are launched from
> rcu_spawn_one_nocb_kthread().  Fix this inconsistency.
> 
> When CONFIG_RCU_NOCB_CPU=y, an rcu_nocbs command-line parameter
> offloads the work of rcuc on designated cores to new rcuop threads
> that are not pinned to the cores whose expired grace-period timer
> callbacks they run.  While rcuop threads have the same function as
> rcuc threads, their priority is not controlled by the kthread_prio
> parameter.  Add this feature and update the documentation accordingly.
> 
> Alison Chaiken (4):
>   RCU: move kthread_prio bounds-check to a separate function
>   RCU: make priority of grace-period thread consistent
>   RCU: elevate priority of offloaded callback threads
>   RCU: update documentation regarding kthread_prio cmdline parameter

I have queued these for review and testing, thank you!

2/4 appears to have been produced against a pre-merge-window mainline,
so I had to adjust it a bit to queue it on -rcu.  Please check to make
sure that I did not mess anything up.

							Thanx, Paul