Re: [PATCHv3 RFC] uio: add generic driver for PCI 2.3 devices

Chris Wright
2009-07-14T23:26:23Z

> On Tue, Jul 14, 2009 at 11:03:38AM -0700, Chris Wright wrote:
> > * Michael S. Tsirkin (mst@redhat.com) wrote:
> > > - remove irqcontrol: user can enable interrupts by
> > > writing command register directly
> >
> > Sorry if I gave you the impression that removing was needed.
> > I actually think the irqcontrol was useful since it's atomic.
>
> What I'm saying, it is not strictly needed (user can safely write 0 in
> that register and worst case you just get an extra interrupt). So let's
> make the decision on what does irqcontrol do when we have a pressing
> need for an extra kernel/user interface.

OK. My concern is theoretical (as in the current design wouldn't
trigger an issue):

cmd = pread()
------+
\
cmd &= ~INTX_DISABLE +----+
/ |
-------+ |
pwrite(cmd) |
-
During this window Command Reg can change[1] and cmd is stale

[1] due to irqhandler (doesn't matter in this case since it touches
same bit). or due to some other thread updating Command Reg (also
doesn't matter since this does not happen right now).