OASIS Open Mailing List Archives  ·  All Lists  ·  virtio  ·  2015-04

virtio — archive

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]

[PATCH] give explicit guidance on the use of 64 bit fields


On Sun, Apr 12, 2015 at 04:34:05PM +0000, James Bottomley wrote: > On Sun, 2015-04-12 at 18:22 +0200, Michael S. Tsirkin wrote: > > On Sun, Apr 12, 2015 at 04:06:28PM +0000, James Bottomley wrote: > > > Just saying 64 bit fields may not be atomic is true, but less helpful > > > than it might be. Add explicit guidance about what the consequences of > > > non-atomicity are > > > > > > Signed-off-by: James Bottomley <[email protected]> > > > > > > --- > > > diff --git a/newdevice.tex b/newdevice.tex > > > index c7e6221..12123b9 100644 > > > --- a/newdevice.tex > > > +++ b/newdevice.tex > > > @@ -24,6 +24,8 @@ large). > > > > > > Remember that configuration fields over 32 bits wide might not be > > > atomically writable by the driver. > > > +Therefore, no writeable field which triggers an action should be wider than 32 > > > +bits. > > > > > > \section{What Device Number?}\label{sec:Creating New Device Types / What Device Number?} > > > > > > > > > > > > > > > It's best to avoid the word "should" outside normative statements. > > Can you rephrase this? > > I've got to say that's a bit daft: should is the standard verbal > modifier for conditional or subjunctive ... it's quite a big chunk of > the english language. > > However, to be honest, I think the statement needs to be normative. > It's not advisory: if someone creates a 64 bit action field the spec > becomes invalid on 32 bit architectures. > > The only valid reason to ignore the statement is if your action field > has a specifically defined trigger (like only 32 bit writes to the lower > field triggers the action, so you write upper first then lower). That's > why I think it's "should" rather than "may not". > > James > > > James > It's non normative because it doesn't apply to any existing devices. It's a guideline for future devices. How about: Therefore, it is preferable not to make writeable fields wider than 32 bits. In any case, do not make writes into fields wider than 32 bits trigger device actions. -- MST

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]