From: Stephen Hemminger Minor tweak to rcu, use __list_splice instead of list_splice because the list has already been checked for empty. --- 25-akpm/kernel/rcupdate.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN kernel/rcupdate.c~minor-rcu-optimization kernel/rcupdate.c --- 25/kernel/rcupdate.c~minor-rcu-optimization Fri May 7 15:12:10 2004 +++ 25-akpm/kernel/rcupdate.c Fri May 7 15:12:10 2004 @@ -223,13 +223,13 @@ static void rcu_process_callbacks(unsign if (!list_empty(&RCU_curlist(cpu)) && rcu_batch_after(rcu_ctrlblk.curbatch, RCU_batch(cpu))) { - list_splice(&RCU_curlist(cpu), &list); + __list_splice(&RCU_curlist(cpu), &list); INIT_LIST_HEAD(&RCU_curlist(cpu)); } local_irq_disable(); if (!list_empty(&RCU_nxtlist(cpu)) && list_empty(&RCU_curlist(cpu))) { - list_splice(&RCU_nxtlist(cpu), &RCU_curlist(cpu)); + __list_splice(&RCU_nxtlist(cpu), &RCU_curlist(cpu)); INIT_LIST_HEAD(&RCU_nxtlist(cpu)); local_irq_enable(); _