Package: linux-source
Severity: normal
X-Debbugs-Cc: corcodel.mar...@gmail.com

Hi , i describe some situation wich occur on linux kernel:
File kernel/rcu/tree_exp.h
static void rcu_report_exp_cpu_mult(struct rcu_node *rnp,
                                    unsigned long mask, bool wake)
{
        int cpu;
        unsigned long flags;
        struct rcu_data *rdp;

        raw_spin_lock_irqsave_rcu_node(rnp, flags);
        if (!(rnp->expmask & mask)) {
                raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
                return;
        }
        WRITE_ONCE(rnp->expmask, rnp->expmask & ~mask);
        for_each_leaf_node_cpu_mask(rnp, cpu, mask) {
                rdp = per_cpu_ptr(&rcu_data, cpu);
                if (!IS_ENABLED(CONFIG_NO_HZ_FULL) ||
!rdp->rcu_forced_tick_exp)
                        continue;
                rdp->rcu_forced_tick_exp = false;
                tick_dep_clear_cpu(cpu, TICK_DEP_BIT_RCU_EXP);
        }
        __rcu_report_exp_rnp(rnp, wake, flags); /* Releases rnp->lock. */
}

>From function IS_ENABLED(CONFIG_NO_HZ_FULL) is only for muscle, using this
manner just inject delays on operations.


-- System Information:
Debian Release: 12.9
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.5+ (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Reply via email to