Lines Matching defs:rdp

16 static bool rcu_rdp_is_offloaded(struct rcu_data *rdp)
19 * In order to read the offloaded state of an rdp in a safe
30 rcu_lockdep_is_held_nocb(rdp) ||
31 (rdp == this_cpu_ptr(&rcu_data) &&
33 rcu_current_is_nocb_kthread(rdp)),
37 return rcu_segcblist_is_offloaded(&rdp->cblist);
151 static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp)
156 (rnp->qsmask & rdp->grpmask ? RCU_GP_BLKD : 0) +
157 (rnp->expmask & rdp->grpmask ? RCU_EXP_BLKD : 0);
161 WARN_ON_ONCE(rdp->mynode != rnp);
165 rdp->grpmask);
250 !(rnp->qsmask & rdp->grpmask));
252 !(rnp->expmask & rdp->grpmask));
263 if (blkd_state & RCU_EXP_BLKD && rdp->cpu_no_qs.b.exp)
264 rcu_report_exp_rdp(rdp);
266 WARN_ON_ONCE(rdp->cpu_no_qs.b.exp);
315 struct rcu_data *rdp = this_cpu_ptr(&rcu_data);
325 rnp = rdp->mynode;
335 WARN_ON_ONCE(!rcu_rdp_cpu_online(rdp));
339 (rnp->qsmask & rdp->grpmask)
342 rcu_preempt_ctxt_queue(rnp, rdp);
357 if (rdp->cpu_no_qs.b.exp)
358 rcu_report_exp_rdp(rdp);
473 struct rcu_data *rdp;
483 rdp = this_cpu_ptr(&rcu_data);
484 if (!special.s && !rdp->cpu_no_qs.b.exp) {
491 rdp->cpu_no_qs.b.norm = false;
492 rcu_report_qs_rdp(rdp);
505 if (rdp->cpu_no_qs.b.exp)
506 rcu_report_exp_rdp(rdp);
615 struct rcu_data *rdp;
617 rdp = container_of(iwp, struct rcu_data, defer_qs_iw);
618 rdp->defer_qs_iw_pending = false;
641 struct rcu_data *rdp = this_cpu_ptr(&rcu_data);
642 struct rcu_node *rnp = rdp->mynode;
645 (rdp->grpmask & READ_ONCE(rnp->expmask)) ||
647 ((rdp->grpmask & READ_ONCE(rnp->qsmask)) || t->rcu_blocked_node)) ||
664 expboost && !rdp->defer_qs_iw_pending && cpu_online(rdp->cpu)) {
669 rdp->defer_qs_iw = IRQ_WORK_INIT_HARD(
672 init_irq_work(&rdp->defer_qs_iw,
674 rdp->defer_qs_iw_pending = true;
675 irq_work_queue_on(&rdp->defer_qs_iw, rdp->cpu);
783 struct rcu_data *rdp;
805 rdp = per_cpu_ptr(&rcu_data, cpu);
807 cpu, ".o"[rcu_rdp_cpu_online(rdp)],
808 (long)rdp->rcu_onl_gp_seq, rdp->rcu_onl_gp_flags,
809 (long)rdp->rcu_ofl_gp_seq, rdp->rcu_ofl_gp_flags);
822 struct rcu_data *rdp;
826 rdp = this_cpu_ptr(&rcu_data);
827 rdp->cpu_no_qs.b.norm = false;
828 rcu_report_qs_rdp(rdp);
944 struct rcu_data *rdp = this_cpu_ptr(&rcu_data);
946 if (READ_ONCE(rdp->cpu_no_qs.b.exp))
947 rcu_report_exp_rdp(rdp);
1007 struct rcu_data *rdp = per_cpu_ptr(&rcu_data, cpu);
1015 WRITE_ONCE(rdp->rcuc_activity, jiffies);
1018 static bool rcu_is_callbacks_nocb_kthread(struct rcu_data *rdp)
1021 return rdp->nocb_cb_kthread == current;
1031 static bool rcu_is_callbacks_kthread(struct rcu_data *rdp)
1033 return rdp->rcu_cpu_kthread_task == current ||
1034 rcu_is_callbacks_nocb_kthread(rdp);