Re: [PATCH 13/13] rcutorture: formal: prepare for ACCESS_ONCE() removal

From: Mark Rutland
Date: Tue Oct 10 2017 - 13:08:30 EST


On Tue, Oct 10, 2017 at 09:57:25AM -0700, Joe Perches wrote:
> On Tue, 2017-10-10 at 17:41 +0100, Mark Rutland wrote:
> > On Tue, Oct 10, 2017 at 09:27:54AM -0700, Joe Perches wrote:
> > > Once ACCESS_ONCE is removed from the code in the tree
> > > it can also be removed from checkpatch
> >
> > Sure thing. We're expecting to rip that out with the ACCESS_ONCE
> > definitions in a post-Coccinelle patch.
>
> This treewide series is one of the types that would be nice to
> have done at -rc1 via some external automated script service.

Agreed, and this is exactly the plan.

As mentioned above, the treewide conversion is scripted with Coccinelle
(script below). The plan would be to regenerate this at an rc boundary,
once the preparatory patches (which cannot be scripted) have been
merged.

The ACCESS_ONCE() definitions and checkpatch bits would be removed in a
subsequent patch or series of patches.

Thanks,
Mark.

----
// Convert trivial ACCESS_ONCE() uses to equivalent READ_ONCE() and
// WRITE_ONCE()

virtual patch

@ depends on patch @
expression E1, E2;
@@

- ACCESS_ONCE(E1) = E2
+ WRITE_ONCE(E1, E2)

@ depends on patch @
expression E;
@@

- ACCESS_ONCE(E)
+ READ_ONCE(E)
----