Message ID | 20160127083546.GJ6357@twins.programming.kicks-ass.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jan 27, 2016 at 09:35:46AM +0100, Peter Zijlstra wrote: > On Tue, Jan 26, 2016 at 12:11:43PM -0800, Paul E. McKenney wrote: > > So Peter, would you like to update your patch to include yourself > > and Will as authors? > > Sure, here goes. > > --- > Subject: documentation: Add disclaimer > > It appears people are reading this document as a requirements list for > building hardware. This is not the intent of this document. Nor is it > particularly suited for this purpose. > > The primary purpose of this document is our collective attempt to define > a set of primitives that (hopefully) allow us to write correct code on > the myriad of SMP platforms Linux supports. > > Its a definite work in progress as our understanding of these platforms, > and memory ordering in general, progresses. > > Nor does being mentioned in this document mean we think its a > particularly good idea; the data dependency barrier required by Alpha > being a prime example. Yes we have it, no you're insane to require it > when building new hardware. > > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> > --- > Documentation/memory-barriers.txt | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) Acked-by: Will Deacon <will.deacon@arm.com> Will
Peter Zijlstra <peterz@infradead.org> wrote: > +========== > +DISCLAIMER > +========== > + > +This document is not a specification; it is intentionally (for the sake of > +brevity) and unintentionally (due to being human) incomplete. This document is > +meant as a guide to using the various memory barriers provided by Linux, but > +in case of any doubt (and there are many) please ask. > + > +I repeat, this document is not a specification of what Linux expects from > +hardware. The purpose of this document is twofold: (1) to specify the minimum functionality that one can rely on for any particular barrier, and (2) to provide a guide as to how to use the barriers that are available. Note that an architecture can provide more than the minimum requirement for any particular barrier, but if the barrier provides less than that, it is incorrect. Note also that it is possible that a barrier may be a no-op for an architecture because the way that arch works renders an explicit barrier unnecessary in that case. > + Can you bung an extra blank line in here if you have to redo this at all? > +======== > +CONTENTS > +======== > > (*) Abstract memory access model. > David
On Wed, Jan 27, 2016 at 02:57:07PM +0000, David Howells wrote: > Peter Zijlstra <peterz@infradead.org> wrote: > > > +========== > > +DISCLAIMER > > +========== > > + > > +This document is not a specification; it is intentionally (for the sake of > > +brevity) and unintentionally (due to being human) incomplete. This document is > > +meant as a guide to using the various memory barriers provided by Linux, but > > +in case of any doubt (and there are many) please ask. > > + > > +I repeat, this document is not a specification of what Linux expects from > > +hardware. > > The purpose of this document is twofold: > > (1) to specify the minimum functionality that one can rely on for any > particular barrier, and > > (2) to provide a guide as to how to use the barriers that are available. > > Note that an architecture can provide more than the minimum requirement for > any particular barrier, but if the barrier provides less than that, it is > incorrect. > > Note also that it is possible that a barrier may be a no-op for an > architecture because the way that arch works renders an explicit barrier > unnecessary in that case. > > > + > > Can you bung an extra blank line in here if you have to redo this at all? > > > +======== > > +CONTENTS > > +======== > > > > (*) Abstract memory access model. Good point! Would you be willing to add a Signed-off-by so I can take the combined change, assuming Peter and Will are good with it? Thanx, Paul
Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote: > Good point! Would you be willing to add a Signed-off-by so I > can take the combined change, assuming Peter and Will are good > with it? Sure! David
On Wed, Jan 27, 2016 at 09:35:46AM +0100, Peter Zijlstra wrote: > On Tue, Jan 26, 2016 at 12:11:43PM -0800, Paul E. McKenney wrote: > > So Peter, would you like to update your patch to include yourself > > and Will as authors? > > Sure, here goes. > > --- > Subject: documentation: Add disclaimer > > It appears people are reading this document as a requirements list for > building hardware. This is not the intent of this document. Nor is it > particularly suited for this purpose. > > The primary purpose of this document is our collective attempt to define > a set of primitives that (hopefully) allow us to write correct code on > the myriad of SMP platforms Linux supports. > > Its a definite work in progress as our understanding of these platforms, > and memory ordering in general, progresses. > > Nor does being mentioned in this document mean we think its a > particularly good idea; the data dependency barrier required by Alpha > being a prime example. Yes we have it, no you're insane to require it > when building new hardware. > > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Rather belatedly queued and pushed to -rcu, apologies for the delay. One minor edit noted below. Thanx, Paul > --- > Documentation/memory-barriers.txt | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > > diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt > index a61be39c7b51..98626125f484 100644 > --- a/Documentation/memory-barriers.txt > +++ b/Documentation/memory-barriers.txt > @@ -4,8 +4,24 @@ > > By: David Howells <dhowells@redhat.com> > Paul E. McKenney <paulmck@linux.vnet.ibm.com> > + Will Deacon <will.deacon@arm.com> > + Peter Zijlstra <peterz@infradead.org> > > -Contents: > +========== > +DISCLAIMER > +========== > + > +This document is not a specification; it is intentionally (for the sake of > +brevity) and unintentionally (due to being human) incomplete. This document is > +meant as a guide to using the various memory barriers provided by Linux, but > +in case of any doubt (and there are many) please ask. > + > +I repeat, this document is not a specification of what Linux expects from s/I/To/ because there is more than one author. > +hardware. > + > +======== > +CONTENTS > +======== > > (*) Abstract memory access model. > >
On Wed, Jan 27, 2016 at 02:57:07PM +0000, David Howells wrote: > Peter Zijlstra <peterz@infradead.org> wrote: > > > +========== > > +DISCLAIMER > > +========== > > + > > +This document is not a specification; it is intentionally (for the sake of > > +brevity) and unintentionally (due to being human) incomplete. This document is > > +meant as a guide to using the various memory barriers provided by Linux, but > > +in case of any doubt (and there are many) please ask. > > + > > +I repeat, this document is not a specification of what Linux expects from > > +hardware. > > The purpose of this document is twofold: > > (1) to specify the minimum functionality that one can rely on for any > particular barrier, and > > (2) to provide a guide as to how to use the barriers that are available. > > Note that an architecture can provide more than the minimum requirement for > any particular barrier, but if the barrier provides less than that, it is > incorrect. > > Note also that it is possible that a barrier may be a no-op for an > architecture because the way that arch works renders an explicit barrier > unnecessary in that case. > > > + > > Can you bung an extra blank line in here if you have to redo this at all? Done as part of your patch. Again, apologies for the delay. Thanx, Paul > > +======== > > +CONTENTS > > +======== > > > > (*) Abstract memory access model. > > > > David >
diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index a61be39c7b51..98626125f484 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt @@ -4,8 +4,24 @@ By: David Howells <dhowells@redhat.com> Paul E. McKenney <paulmck@linux.vnet.ibm.com> + Will Deacon <will.deacon@arm.com> + Peter Zijlstra <peterz@infradead.org> -Contents: +========== +DISCLAIMER +========== + +This document is not a specification; it is intentionally (for the sake of +brevity) and unintentionally (due to being human) incomplete. This document is +meant as a guide to using the various memory barriers provided by Linux, but +in case of any doubt (and there are many) please ask. + +I repeat, this document is not a specification of what Linux expects from +hardware. + +======== +CONTENTS +======== (*) Abstract memory access model.