X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Frcutiny.c;h=bc845960c63a69adcf30f41c1aa785e15542bfee;hb=afebb87b9e08149c4a9f8fdbd2b1a51401e2feb8;hp=da775c87f27f6aa146bf9b929f72fe0e386d8b41;hpb=f1f8935a5c38a2c61e86a42bc971a2539eef2211;p=pandora-kernel.git diff --git a/kernel/rcutiny.c b/kernel/rcutiny.c index da775c87f27f..bc845960c63a 100644 --- a/kernel/rcutiny.c +++ b/kernel/rcutiny.c @@ -22,13 +22,12 @@ * For detailed explanation of Read-Copy Update mechanism see - * Documentation/RCU */ -#include #include #include #include #include #include -#include +#include #include #include #include @@ -161,6 +160,11 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp) /* Move the ready-to-invoke callbacks to a local list. */ local_irq_save(flags); + if (rcp->donetail == &rcp->rcucblist) { + /* No callbacks ready, so just leave. */ + local_irq_restore(flags); + return; + } RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, -1)); list = rcp->rcucblist; rcp->rcucblist = *rcp->donetail;