lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 26 May 2007 12:28:28 -0600
From:	Grant Grundler <grundler@...isc-linux.org>
To:	Manu Abraham <abraham.manu@...il.com>
Cc:	Roland Dreier <rdreier@...co.com>, Greg KH <greg@...ah.com>,
	linux-pci@...ey.karlin.mff.cuni.cz,
	linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: PCIE

On Sat, May 26, 2007 at 07:03:12PM +0400, Manu Abraham wrote:
> Roland Dreier wrote:
> >  > I am now wondering whether the usage of MSI would help in this case and
> >  > that i should be using enable_msi before request_irq ?
> > 
> > MSI interrupts are never shared.  So if pci_enable_msi() succeeds, you
> > can be sure that the interrupts you get with that IRQ number are
> > coming from your device.
> > 
> 
> i presume then i shouldn't be using IRQF_SHARED, if using MSI.

I'm not sure...but my guess is not. Who ever "just knows", could you
please submit a patch to Documentation/MSI-HOWTO.txt ?

> Another question would be if the device supports multiple messages, MSIX
> should be used ?

Yes. Assuming the device supports multiple MSI-X messages.


> In such a context, if i request for say more than the messages that i
> need, say i request 16 messages, but use only 1 or 2, that does bear any
> consequences ?

Yes. One is allocating IRQ vectors from a finite number of vectors.
But this normally isn't a problem until one gets to larger machines that
have more than 4-8 PCI-e or PCI-X slots.

Typically, one will limit the number of vectors to the number of CPUs
in the system or to how many different events the device can signal.

> > But using MSI does not work on all systems, so your driver needs to
> > work with standard (possibly shared) INTx interrupts too.  And you
> > should probably provide at least a module flag to disable the use of
> > MSI, to avoid problems on buggy systems.
> 
> I should probably look for CONFIG_PCI_MSI and check whether the system
> supports MSI pci_enable_msi() ?

pci_enable_msi() will fail if the system doesn't support MSI or something
else goes wrong with the call (e.g. already setup).

hth,
grant
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ