Re: [PATCH 16/17] prmem: pratomic-long

2018-10-31 Thread Kees Cook
On Wed, Oct 31, 2018 at 2:10 AM, Peter Zijlstra wrote: > On Tue, Oct 30, 2018 at 04:28:16PM +, Will Deacon wrote: >> On Tue, Oct 30, 2018 at 04:58:41PM +0100, Peter Zijlstra wrote: >> > Like mentioned elsewhere; if you do write_enable() + write_disable() >> > thingies, it all becomes: >> > >>

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-31 Thread Kees Cook
On Wed, Oct 31, 2018 at 2:10 AM, Peter Zijlstra wrote: > On Tue, Oct 30, 2018 at 04:28:16PM +, Will Deacon wrote: >> On Tue, Oct 30, 2018 at 04:58:41PM +0100, Peter Zijlstra wrote: >> > Like mentioned elsewhere; if you do write_enable() + write_disable() >> > thingies, it all becomes: >> > >>

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-31 Thread Peter Zijlstra
On Tue, Oct 30, 2018 at 04:28:16PM +, Will Deacon wrote: > On Tue, Oct 30, 2018 at 04:58:41PM +0100, Peter Zijlstra wrote: > > Like mentioned elsewhere; if you do write_enable() + write_disable() > > thingies, it all becomes: > > > > write_enable(); > > atomic_foo(); > >

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-31 Thread Peter Zijlstra
On Tue, Oct 30, 2018 at 04:28:16PM +, Will Deacon wrote: > On Tue, Oct 30, 2018 at 04:58:41PM +0100, Peter Zijlstra wrote: > > Like mentioned elsewhere; if you do write_enable() + write_disable() > > thingies, it all becomes: > > > > write_enable(); > > atomic_foo(); > >

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-30 Thread Will Deacon
On Tue, Oct 30, 2018 at 04:58:41PM +0100, Peter Zijlstra wrote: > On Mon, Oct 29, 2018 at 11:17:14PM +0200, Igor Stoppa wrote: > > > > > > On 25/10/2018 01:13, Peter Zijlstra wrote: > > > On Wed, Oct 24, 2018 at 12:35:03AM +0300, Igor Stoppa wrote: > > > > +static __always_inline > > > > +bool

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-30 Thread Will Deacon
On Tue, Oct 30, 2018 at 04:58:41PM +0100, Peter Zijlstra wrote: > On Mon, Oct 29, 2018 at 11:17:14PM +0200, Igor Stoppa wrote: > > > > > > On 25/10/2018 01:13, Peter Zijlstra wrote: > > > On Wed, Oct 24, 2018 at 12:35:03AM +0300, Igor Stoppa wrote: > > > > +static __always_inline > > > > +bool

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-30 Thread Peter Zijlstra
On Mon, Oct 29, 2018 at 11:17:14PM +0200, Igor Stoppa wrote: > > > On 25/10/2018 01:13, Peter Zijlstra wrote: > > On Wed, Oct 24, 2018 at 12:35:03AM +0300, Igor Stoppa wrote: > > > +static __always_inline > > > +bool __pratomic_long_op(bool inc, struct pratomic_long_t *l) > > > +{ > > > + struct

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-30 Thread Peter Zijlstra
On Mon, Oct 29, 2018 at 11:17:14PM +0200, Igor Stoppa wrote: > > > On 25/10/2018 01:13, Peter Zijlstra wrote: > > On Wed, Oct 24, 2018 at 12:35:03AM +0300, Igor Stoppa wrote: > > > +static __always_inline > > > +bool __pratomic_long_op(bool inc, struct pratomic_long_t *l) > > > +{ > > > + struct

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-29 Thread Igor Stoppa
On 25/10/2018 01:13, Peter Zijlstra wrote: On Wed, Oct 24, 2018 at 12:35:03AM +0300, Igor Stoppa wrote: +static __always_inline +bool __pratomic_long_op(bool inc, struct pratomic_long_t *l) +{ + struct page *page; + uintptr_t base; + uintptr_t offset; + unsigned long

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-29 Thread Igor Stoppa
On 25/10/2018 01:13, Peter Zijlstra wrote: On Wed, Oct 24, 2018 at 12:35:03AM +0300, Igor Stoppa wrote: +static __always_inline +bool __pratomic_long_op(bool inc, struct pratomic_long_t *l) +{ + struct page *page; + uintptr_t base; + uintptr_t offset; + unsigned long

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-24 Thread Peter Zijlstra
On Wed, Oct 24, 2018 at 12:35:03AM +0300, Igor Stoppa wrote: > +static __always_inline > +bool __pratomic_long_op(bool inc, struct pratomic_long_t *l) > +{ > + struct page *page; > + uintptr_t base; > + uintptr_t offset; > + unsigned long flags; > + size_t size = sizeof(*l); >

Re: [PATCH 16/17] prmem: pratomic-long

2018-10-24 Thread Peter Zijlstra
On Wed, Oct 24, 2018 at 12:35:03AM +0300, Igor Stoppa wrote: > +static __always_inline > +bool __pratomic_long_op(bool inc, struct pratomic_long_t *l) > +{ > + struct page *page; > + uintptr_t base; > + uintptr_t offset; > + unsigned long flags; > + size_t size = sizeof(*l); >

[PATCH 16/17] prmem: pratomic-long

2018-10-23 Thread Igor Stoppa
Minimalistic functionality for having the write rare version of atomic_long_t data. Signed-off-by: Igor Stoppa CC: Will Deacon CC: Peter Zijlstra CC: Boqun Feng CC: Arnd Bergmann CC: linux-a...@vger.kernel.org CC: linux-kernel@vger.kernel.org --- MAINTAINERS | 1 +

[PATCH 16/17] prmem: pratomic-long

2018-10-23 Thread Igor Stoppa
Minimalistic functionality for having the write rare version of atomic_long_t data. Signed-off-by: Igor Stoppa CC: Will Deacon CC: Peter Zijlstra CC: Boqun Feng CC: Arnd Bergmann CC: linux-a...@vger.kernel.org CC: linux-kernel@vger.kernel.org --- MAINTAINERS | 1 +