Re: Fw: Linux mask_msi_irq() question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




--- On Tue, 8/24/10, Grant Grundler <grundler@xxxxxxxxxxxxxxxx> wrote:

> From: Grant Grundler <grundler@xxxxxxxxxxxxxxxx>
> Subject: Re: Fw: Linux mask_msi_irq() question
> To: "Kanoj Sarcar" <kanojsarcar@xxxxxxxxx>
> Cc: linux-pci@xxxxxxxxxxxxxxx
> Date: Tuesday, August 24, 2010, 9:48 PM
> On Thu, Aug 19, 2010 at 11:51:53PM
> -0700, Kanoj Sarcar wrote:
> ...
> > > Now the question: is it truly guaranteed from
> PCI/PCIE
> > > and/or
> > > MSIX specs that the memory read/flush indeed will
> provide a
> > > strong
> > > interrupt reception barrier?
> 
> I don't think so.
> 
> The MMIO read will only guarantee that the write hit the
> device.  An MSI
> could be sent to a different CPU than the one issueing the
> MMIO read
> immediately before the MMIO write is visible to the device.
> There is
> still a race condition here on the host side due to chipset
> issues
> (example Jesse already gave) and state of the CPU handling
> the MSI.
> 
> hth,
> grant
> 

Hi Grant,

I think there are two different things in play here:

1. Per PCIE or MSIX, is the device supposed to make sure it does
not issue a msix memwrite after it has sent the read completion
for the host's mask read? Alternatively, does each device thru a
vendor unique way, provide a barrier point by which at least
one host cpu knows that no more interrupt messages will creep
out of the device?

2. On a given chipset with N cpus, how does a cpu initiating
the entry mask operation synchronize with the entry's current
destination cpu? What are the various cases here? Interrupt
rebalance? Device deinit? Others?

Kanoj



      
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux