OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [virtio-dev] [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 <JBottomley@Odin.com>
> > > 
> > > ---
> > > 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] | [List Home]