• Home
  • Raw
  • Download

Lines Matching full:rcu

122  * RCU_NONIDLE - Indicate idle-loop code that needs RCU readers
123 * @a: Code that RCU needs to pay attention to.
125 * RCU read-side critical sections are forbidden in the inner idle loop,
126 * that is, between the rcu_idle_enter() and the rcu_idle_exit() -- RCU
131 * will tell RCU that it needs to pay attention, invoke its argument
133 * and then tell RCU to go back to ignoring this CPU. It is permissible
147 * Note a quasi-voluntary context switch for RCU-tasks's benefit.
205 * cond_resched_tasks_rcu_qs - Report potential quiescent states to RCU
208 * report potential quiescent states to RCU-tasks even if the cond_resched()
227 #error "Unknown RCU implementation specified to kernel configuration"
316 * ("rcu: Reject RCU_LOCKDEP_WARN() false positives") for more detail.
332 "Illegal context switch in RCU read-side critical section"); in rcu_preempt_sleep_check()
342 "Illegal context switch in RCU-bh read-side critical section"); \
344 "Illegal context switch in RCU-sched read-side critical section"); \
358 * multiple pointers markings to match different RCU implementations
370 * unrcu_pointer - mark a pointer as not being RCU protected
411 * RCU_INITIALIZER() - statically initialize an RCU-protected global variable
417 * rcu_assign_pointer() - assign to RCU-protected pointer
421 * Assigns the specified value to the specified RCU-protected
422 * pointer, ensuring that any concurrent RCU readers will see
429 * will be dereferenced by RCU read-side code.
459 * rcu_replace_pointer() - replace an RCU pointer, returning its old value
460 * @rcu_ptr: RCU pointer, whose old value is returned
464 * Perform a replacement, where @rcu_ptr is an RCU-annotated
477 * rcu_access_pointer() - fetch RCU pointer with no dereferencing
480 * Return the value of the specified RCU-protected pointer, but omit the
481 * lockdep checks for being in an RCU read-side critical section. This is
483 * not dereferenced, for example, when testing an RCU-protected pointer
490 * is the case in the context of the RCU callback that is freeing up
506 * An implicit check for being in an RCU read-side critical section
527 * which pointers are protected by RCU and checks that the pointer is
538 * This is the RCU-bh counterpart to rcu_dereference_check().
548 * This is the RCU-sched counterpart to rcu_dereference_check().
555 * The tracing infrastructure traces RCU (we want that), but unfortunately
556 * some of the RCU checks causes tracing to lock up the system.
564 * rcu_dereference_protected() - fetch RCU pointer when updates prevented
568 * Return the value of the specified RCU-protected pointer, but omit
584 * rcu_dereference() - fetch RCU-protected pointer for dereferencing
592 * rcu_dereference_bh() - fetch an RCU-bh-protected pointer for dereferencing
600 * rcu_dereference_sched() - fetch RCU-sched-protected pointer for dereferencing
608 * rcu_pointer_handoff() - Hand off a pointer from RCU to other mechanism
612 * is handed off from RCU to some other synchronization mechanism, for
630 * rcu_read_lock() - mark the beginning of an RCU read-side critical section
633 * are within RCU read-side critical sections, then the
636 * on one CPU while other CPUs are within RCU read-side critical
637 * sections, invocation of the corresponding RCU callback is deferred
640 * Note, however, that RCU callbacks are permitted to run concurrently
641 * with new RCU read-side critical sections. One way that this can happen
642 * is via the following sequence of events: (1) CPU 0 enters an RCU
644 * an RCU callback, (3) CPU 0 exits the RCU read-side critical section,
645 * (4) CPU 2 enters a RCU read-side critical section, (5) the RCU
646 * callback is invoked. This is legal, because the RCU read-side critical
648 * therefore might be referencing something that the corresponding RCU
650 * RCU callback is invoked.
652 * RCU read-side critical sections may be nested. Any deferred actions
653 * will be deferred until the outermost RCU read-side critical section
657 * following this rule: don't put anything in an rcu_read_lock() RCU
661 * In non-preemptible RCU implementations (pure TREE_RCU and TINY_RCU),
662 * it is illegal to block while in an RCU read-side critical section.
663 * In preemptible RCU implementations (PREEMPT_RCU) in CONFIG_PREEMPTION
664 * kernel builds, RCU read-side critical sections may be preempted,
665 * but explicit blocking is illegal. Finally, in preemptible RCU
666 * implementations in real-time (with -rt patchset) kernel builds, RCU
673 __acquire(RCU); in rcu_read_lock()
681 * way for writers to lock out RCU readers. This is a feature, not
682 * a bug -- this property is what provides RCU's performance benefits.
685 * used as well. RCU does not care how the writers keep out of each
690 * rcu_read_unlock() - marks the end of an RCU read-side critical section.
700 * That said, RCU readers are never priority boosted unless they were
702 * that preemption never happens within any RCU read-side critical
710 * that that preemption never happens within any RCU read-side critical
726 __release(RCU); in rcu_read_unlock()
732 * rcu_read_lock_bh() - mark the beginning of an RCU-bh critical section
736 * an RCU read-side critical section.
753 * rcu_read_unlock_bh() - marks the end of a softirq-only RCU critical section
767 * rcu_read_lock_sched() - mark the beginning of a RCU-sched critical section
795 * rcu_read_unlock_sched() - marks the end of a RCU-classic critical section
816 * RCU_INIT_POINTER() - initialize an RCU protected pointer
820 * Initialize an RCU-protected pointer in special cases where readers
826 * RCU readers from concurrently accessing this pointer *or*
839 * will look OK in crash dumps, but any concurrent RCU readers might
843 * If you are creating an RCU-protected linked structure that is accessed
844 * by a single external-to-structure RCU-protected pointer, then you may
845 * use RCU_INIT_POINTER() to initialize the internal RCU-protected
860 * RCU_POINTER_INITIALIZER() - statically initialize an RCU protected pointer
864 * GCC-style initialization for an RCU-protected pointer in a structure field.
889 * Many rcu callbacks functions just call kfree() on the base structure.
997 * in an RCU read-side critical section that includes a read-side fetch