On Thu, 07/06 16:22, Paolo Bonzini wrote: > > > On 06/07/2017 16:06, [email protected] wrote: > > ERROR: Use of volatile is usually wrong: see > > Documentation/volatile-considered-harmful.txt > > #843: FILE: block/nvme.c:40: > > + volatile uint32_t *doorbell; > > > > ERROR: Use of volatile is usually wrong: see > > Documentation/volatile-considered-harmful.txt > > #869: FILE: block/nvme.c:66: > > +typedef volatile struct { > > Indeed volatile should not be necessary, since we use memory barriers > appropriately. But these are hardware registers (like, host hardware) > so I guess it's okay for this special case.
I think I used it because we don't have ACCESS_ONCE (maybe we should?). Fam
