[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45C4F3F1.6060500@intel.com>
Date: Sat, 03 Feb 2007 12:43:29 -0800
From: Auke Kok <auke-jan.h.kok@...el.com>
To: Adam Kropelin <akropel1@...hester.rr.com>
CC: "Eric W. Biederman" <ebiederm@...ssion.com>,
Adrian Bunk <bunk@...sta.de>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
jgarzik@...ox.com, alan@...rguk.ukuu.org.uk,
Allen Parker <parker@...hunt.com>, jesse.brandeburg@...el.com,
gregkh@...e.de, linux-pci@...ey.karlin.mff.cuni.cz,
netdev@...r.kernel.org
Subject: Re: 2.6.20-rc7: known regressions (v2) (part 1)
Adam Kropelin wrote:
> Eric W. Biederman wrote:
>> Auke Kok <auke-jan.h.kok@...el.com> writes:
>>> None of the MSI code in e1000 has changed significantly either. as
>>> far as I can see, the msi code in e1000 has not changed since
>>> 2.6.18. Nonetheless there's no way I can debug any of this without a
>>> system.
>>> [...]
>>> Perhaps Adam can git-bisect this issue? Adam?
>> Do we have any explanation about the weird /proc/interrupts output?
>> i.e. Multiple MSI irqs being assigned to the same card?
>>
>> Does /sbin/ifconfig ethN down ; /sbin/ifconfig ethN up have anything
>> to do with the duplication in /proc/interrupts?
>>
>> I can't see any way for a pci device that doesn't support msi-x to be
>> assigned multiple interrupts simultaneously.
>>
>> I just skimmed through the code and there hasn't been any significant
>> generic MSI work since 2.6.19.
>>
>> Did this device really work with MSI enabled in 2.6.19?
>
> I've never had this device work 100% with MSI on any kernel version I've
> tested so far. But I'm not the original reporter of the problem, and I
> believe for him it was a true regression where a previous kernel wored
> correctly.
maybe I've been unclear, but here's how e1000 detects link changes:
1) by checking every 2 seconds in the watchdog by reading PHY registers
2) by receiving an interrupt from the NIC with the LSI bit in the interrupt
control register
if the link is down to start with, the watchdog will obviously spot a 'link up'
change since it doesn't use any interrupts.
The link interrupt (LSI) is a generic interrupt that comes over the same vector
(be it MSI or not) as RX interrupts, and in your case doesn't arrive at all,
which should be demonstrateable if you set e.g. the watchdog interval to 30
seconds and unplug the cable - the driver won't spot the link change until the
watchdog fires a lot later than you unplugged the cable.
> The behavior I observe on 2.6.19 is better than 2.6.20-rc7. Link status
> interrupts seem to work but rx/tx does not. A few more details here:
>
<http://www.kroptech.com/~adk0212/mailimport/showmsg.php?msg_id=3339092450&db_name=linux_kernel>
> I'm going to test 2.6.16 thru 2.6.20-rc7 this weekend and will report
> back any variations in behavior I notice.
that would be a good start, but I still think that you might have a broken
bridge on that system. Anyway, thanks for digging into this.
Auke
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists