X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Frcutiny.c;h=bc845960c63a69adcf30f41c1aa785e15542bfee;hb=d46195ebd6bafd899b4324427dea3cd1e6365de7;hp=da775c87f27f6aa146bf9b929f72fe0e386d8b41;hpb=6681ba7ec480bc839584fd0817991d248b4b9e44;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;