Re: [PATCH v2 1/5] sched, timer: Remove usages of ACCESS_ONCE in the scheduler

From: Jason Low
Date: Wed Apr 29 2015 - 14:25:20 EST


On Wed, 2015-04-29 at 13:15 -0400, Steven Rostedt wrote:
> On Wed, 29 Apr 2015 13:05:55 -0400
> Waiman Long <waiman.long@xxxxxx> wrote:
>
> > > goto no_join;
> > > @@ -2107,7 +2107,7 @@ void task_numa_fault(int last_cpupid, int mem_node, int pages, int flags)
> > >
> > > static void reset_ptenuma_scan(struct task_struct *p)
> > > {
> > > - ACCESS_ONCE(p->mm->numa_scan_seq)++;
> > > + WRITE_ONCE(p->mm->numa_scan_seq, READ_ONCE(p->mm->numa_scan_seq) + 1);
> > > p->mm->numa_scan_offset = 0;
> > > }
> > >
> > >
> >
> > Generally, I am for replacing ACCESS_ONCE() with the more descriptive
> > READ_ONCE() and WRITE_ONCE() except the above case where it makes the
> > code harder to read without any real advantage.
> >
> > Other than that,
> >
> > Acked-by: Waiman Long <Waiman.Long@xxxxxx>
> >
>
> I agree, but I believe this code needs to be updated anyway. Making it
> uglier may encourage that to happen.

Yep, in this case, the ACCESS_ONCE conversion on numa_scan_seq
technically isn't necessary, but I think the best option is to
consistently update all of them, which makes things clearer than using
multiple sets of APIs.

Thanks,
Jason

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/