Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 7c6e5b50 authored by Raghavendra Rao Ananta's avatar Raghavendra Rao Ananta
Browse files

arch: arm64: Add RCU related configs for lahaina



Enable RCU NOCB_CPU and FAST_NO_HZ options for the lahaina. These configs
are needed to avoid frequent cpu wake up for processing rcu callbacks.

Whenever LPM governor driver has requested for sleep length
tick_nohz_get_sleep_length tries to find the next event from
tick_nohz_next_event function.

static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu)
{
...
        if (rcu_needs_cpu(basemono, &next_rcu) || arch_needs_cpu() ||
            irq_work_needs_cpu() || local_timer_softirq_pending()) {
                next_tick = basemono + TICK_NSEC;
        } else {

tick_nohz_next_event calls rcu_needs_cpu to find whether future
non-offloaded RCU-related work need to be done by the current CPU
or not. If any non-offloaded future callbacks are present rcu
framework requests the cpu to wake up for every tick period to
process the callbacks.

When CONFIG_FAST_NO_HZ is defined rcu_needs_cpu function checks whether
any callbacks are ready to process or not. If there are no ready
call backs and no non-offloaded callbacks pending for this CPU, RCU
doesn't need the CPU and returns KTIME_MAX for sleep length. Another
important thing is that, if CPU has lazy callbacks or future non-offload
RCU callbacks, rcu framework try to advance those callbacks and allows
the CPU to enter dyntick-idle mode.

RCU_NOCB_CPU config option helps to offload callback invocation from
the set of CPUs to kthread ("rcuox/N") and reduce OS jitter for
aggressive high performance computing workloads.

Change-Id: I47cdd2a3528e3a447a6909bf3f840ee8a3dd4b1e
Signed-off-by: default avatarPrasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: default avatarRaghavendra Rao Ananta <rananta@codeaurora.org>
parent 487ed773
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment