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]
Message-ID: <41F544F51A709A4AA2914581E1219BDCBE4FD2@SEC-MBX-01.aeroflex.corp>
Date:	Wed, 4 Mar 2015 16:03:08 +0000
From:	"McKay, Luke" <Luke.McKay@...oflex.com>
To:	Andrey Utkin <andrey.utkin@...p.bluecherry.net>
CC:	Andrey Utkin <andrey.krieger.utkin@...il.com>,
	Stephen Hemminger <stephen@...workplumber.org>,
	"kernel-mentors@...enic.com" <kernel-mentors@...enic.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	kernelnewbies <kernelnewbies@...nelnewbies.org>
Subject: RE: Question on MSI support in PCI and PCI-E devices

I don't personally know of any PCI drivers that use polling instead of interrupts, since that would really mean the hardware is broke.

Basically all you need to do is create a timer, and have it's callback set to your driver routine that can check the device status registers to determine if there is work to be done.  The status register(s) would be the same indicators that should have generated an interrupt.

Regards,
Luke


-- 
Luke McKay 
Senior Engineer
Cobham AvComm
T : +1 (316) 529 5585

Please consider the environment before printing this email



-----Original Message-----
From: Andrey Utkin [mailto:andrey.utkin@...p.bluecherry.net] 
Sent: Tuesday, March 03, 2015 8:29 AM
To: McKay, Luke
Cc: Andrey Utkin; Stephen Hemminger; kernel-mentors@...enic.com; linux-kernel@...r.kernel.org; kernelnewbies
Subject: Re: Question on MSI support in PCI and PCI-E devices

On Mon, Mar 2, 2015 at 4:02 PM, McKay, Luke <Luke.McKay@...oflex.com> wrote:
> It doesn't appear that your device supports MSI.  If it did lspci -v should list the MSI capability and whether or not it is enabled.
>
> i.e. Something like...
> Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
>
> Without a listing that shows the capability is present, there is nothing to enable.
>
> Have you tried polling instead of using interrupts?  Definitely not ideal, but it might help you to determine whether hardware is dropping/missing an interrupt or whether the hardware is being completely hung up.
>
> Do you know if this missing interrupt is occurring in other systems as well?  How about whether it happens with different boards in the same system?  Answers to these questions would help to determine whether you might have a defective board, or some sort of incompatibility with the system.

We have just three setups reproducing this. We have no boards for replacement experiments, unfortunately.
Polling instead of using interrupts sounds interesting. Is there an example of such usage in any other PCI device driver?

--
Bluecherry developer.


Aeroflex is now a Cobham company

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ