Re: lots of brief rcu stalls.

Paul E. McKenney
2013-12-05T02:51:55Z

On Wed, Dec 04, 2013 at 06:36:05PM -0800, Joe Perches wrote:
> On Wed, 2013-12-04 at 18:18 -0800, Eric Dumazet wrote:
> > On Wed, 2013-12-04 at 16:16 -0800, Paul E. McKenney wrote:
> > > + ULONG_CMP_GE(ACCESS_ONCE(jiffies), rdp->rsp->jiffies_resched)) {
>
> perhaps time_before_eq
>
> > jiffies should not need ACCESS_ONCE(), right ?
> >
> > It is one of the few variables marked with volatile keyword.
>
> It does seem redundant
>
> $ git grep -n "ACCESS_ONCE(jiffies)"
> kernel/rcu/torture.c:1354: jiffies_snap = ACCESS_ONCE(jiffies);
> kernel/rcu/torture.c:1363: jiffies_snap = ACCESS_ONCE(jiffies);
> kernel/rcu/tree.c:820: unsigned long j = ACCESS_ONCE(jiffies);
> kernel/rcu/tree.c:975: j = ACCESS_ONCE(jiffies);

I took care of the first four, plus one more that I have in my local tree.

Thanx, Paul

> kernel/sched/core.c:2324: unsigned long next, now = ACCESS_ONCE(jiffies);
> kernel/sched/proc.c:536: unsigned long curr_jiffies = ACCESS_ONCE(jiffies);
> kernel/sched/proc.c:558: unsigned long curr_jiffies = ACCESS_ONCE(jiffies);
>
>