tree.c (eaaf055f27a0eaaed0cdb0d3aa8d7fb892829ccb) | tree.c (e0aff97355575ac6a28a48a4217533a3953095c5) |
---|---|
1/* 2 * Read-Copy Update mechanism for mutual exclusion 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * --- 2644 unchanged lines hidden (view full) --- 2653 rcu_state.gp_kthread ? rcu_state.gp_kthread->state : 0x1ffffL); 2654 WARN_ON(1); 2655 if (rnp_root != rnp) 2656 raw_spin_unlock_rcu_node(rnp_root); 2657 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); 2658} 2659 2660/* | 1/* 2 * Read-Copy Update mechanism for mutual exclusion 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * --- 2644 unchanged lines hidden (view full) --- 2653 rcu_state.gp_kthread ? rcu_state.gp_kthread->state : 0x1ffffL); 2654 WARN_ON(1); 2655 if (rnp_root != rnp) 2656 raw_spin_unlock_rcu_node(rnp_root); 2657 raw_spin_unlock_irqrestore_rcu_node(rnp, flags); 2658} 2659 2660/* |
2661 * Do a forward-progress check for rcutorture. This is normally invoked 2662 * due to an OOM event. The argument "j" gives the time period during 2663 * which rcutorture would like progress to have been made. 2664 */ 2665void rcu_fwd_progress_check(unsigned long j) 2666{ 2667 struct rcu_data *rdp; 2668 2669 if (rcu_gp_in_progress()) { 2670 show_rcu_gp_kthreads(); 2671 } else { 2672 preempt_disable(); 2673 rdp = this_cpu_ptr(&rcu_data); 2674 rcu_check_gp_start_stall(rdp->mynode, rdp, j); 2675 preempt_enable(); 2676 } 2677} 2678EXPORT_SYMBOL_GPL(rcu_fwd_progress_check); 2679 2680/* |
|
2661 * This does the RCU core processing work for the specified rcu_data 2662 * structures. This may be called only from the CPU to whom the rdp 2663 * belongs. 2664 */ 2665static __latent_entropy void rcu_process_callbacks(struct softirq_action *unused) 2666{ 2667 unsigned long flags; 2668 struct rcu_data *rdp = raw_cpu_ptr(&rcu_data); --- 1081 unchanged lines hidden --- | 2681 * This does the RCU core processing work for the specified rcu_data 2682 * structures. This may be called only from the CPU to whom the rdp 2683 * belongs. 2684 */ 2685static __latent_entropy void rcu_process_callbacks(struct softirq_action *unused) 2686{ 2687 unsigned long flags; 2688 struct rcu_data *rdp = raw_cpu_ptr(&rcu_data); --- 1081 unchanged lines hidden --- |