X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=kernel%2Frcupdate.c;h=3554b76da84cf08ebc2808b5f2a237a362e52330;hb=6b4aea7352bed6e2fdb59a3fe24ce2b42b31c35a;hp=26bb5ffe1ef14ef61824180dd6163acdc104006d;hpb=18e6756a6b463e09fd3873592ec6b0579c78103d;p=linux-2.6-omap-h63xx.git diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index 26bb5ffe1ef..3554b76da84 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c @@ -235,12 +235,14 @@ static void rcu_do_batch(struct rcu_data *rdp) list = rdp->donelist; while (list) { - next = rdp->donelist = list->next; + next = list->next; + prefetch(next); list->func(list); list = next; if (++count >= rdp->blimit) break; } + rdp->donelist = list; local_irq_disable(); rdp->qlen -= count;