* rtl8169 problem and 2.4.23
@ 2004-01-25 19:32 Daniel Egger
2004-01-25 22:07 ` [PATCH] " Francois Romieu
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Egger @ 2004-01-25 19:32 UTC (permalink / raw)
To: Linux Kernel Mailinglist
[-- Attachment #1: Type: text/plain, Size: 1918 bytes --]
Hija,
I just discovered that the interface doesn't account outgoing bytes, so
although I'm shoveling GBs over NFS to another machine, ifconfig and
/proc/net/dev both state that the card hasn't transmitted anything:
eth2 Link encap:Ethernet HWaddr 00:08:01:a3:64:97,
inet addr:192.168.11.2 Bcast:192.168.11.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:297638 errors:0 dropped:0 overruns:0 frame:0
TX packets:1334930 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:45831863 (43.7 MiB) TX bytes:0 (0.0 b)
Interrupt:4 Base address:0xff00
Furthermore the performance is really scary slow: I'm not even getting
100Base-T speeds from an Athlon XP to my G4 PowerBook under MacOS X over
a PtP connection.
What is interesting though is that the machine produces interrupt errors
which only occur when the card is active:
CPU0
0: 110545371 XT-PIC timer
1: 2 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 35665 XT-PIC ohci1394
4: 4314949 XT-PIC eth2
8: 4 XT-PIC rtc
12: 87125964 XT-PIC eth0
14: 6035586 XT-PIC ide0
15: 6986897 XT-PIC ide1
NMI: 0
LOC: 110544807
ERR: 10905
MIS: 0
And this is this output of the driver at initialisation:
r8169 Gigabit Ethernet driver 1.2 loaded
PCI: Found IRQ 4 for device 00:0d.0
r8169: PCI device 00:0d.0: unknown chip version, assuming RTL-8169
r8169: PCI device 00:0d.0: TxConfig = 0x800000
eth2: Identified chip type is 'RTL-8169'.
eth2: RealTek RTL8169 Gigabit Ethernet at 0xe093ff00, 00:08:01:a3:64:97, IRQ 4
eth2: Auto-negotiation Enabled.
eth2: 1000Mbps Full-duplex operation.
--
Servus,
Daniel
[-- Attachment #2: Dies ist ein digital signierter Nachrichtenteil --]
[-- Type: application/pgp-signature, Size: 481 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH] Re: rtl8169 problem and 2.4.23
2004-01-25 19:32 rtl8169 problem and 2.4.23 Daniel Egger
@ 2004-01-25 22:07 ` Francois Romieu
2004-02-20 12:11 ` Daniel Egger
0 siblings, 1 reply; 3+ messages in thread
From: Francois Romieu @ 2004-01-25 22:07 UTC (permalink / raw)
To: Daniel Egger; +Cc: Linux Kernel Mailinglist, jgarzik
Daniel Egger <degger@fhm.edu> :
[r8169 stats broken]
> Furthermore the performance is really scary slow: I'm not even getting
> 100Base-T speeds from an Athlon XP to my G4 PowerBook under MacOS X over
> a PtP connection.
Try the patch above. If it compiles, it should fix the stats and you get a
bugfix as an extra.
Please Cc: netdev@oss.sgi.com on followup.
--- linux-2.4.23.orig/drivers/net/r8169.c Sun Jan 25 21:00:51 2004
+++ linux-2.4.23/drivers/net/r8169.c Sun Jan 25 22:58:17 2004
@@ -874,7 +874,6 @@
void *ioaddr)
{
unsigned long dirty_tx, tx_left = 0;
- int entry = tp->cur_tx % NUM_TX_DESC;
assert(dev != NULL);
assert(tp != NULL);
@@ -884,14 +883,18 @@
tx_left = tp->cur_tx - dirty_tx;
while (tx_left > 0) {
+ int entry = dirty_tx % NUM_TX_DESC;
+
if ((tp->TxDescArray[entry].status & OWNbit) == 0) {
- dev_kfree_skb_irq(tp->
- Tx_skbuff[dirty_tx % NUM_TX_DESC]);
- tp->Tx_skbuff[dirty_tx % NUM_TX_DESC] = NULL;
+ struct sk_buff *skb = tp->Tx_skbuff[entry];
+
+ tp->stats.tx_bytes += skb->len >= ETH_ZLEN ?
+ skb->len : ETH_ZLEN;
tp->stats.tx_packets++;
+ dev_kfree_skb_irq(skb);
+ tp->Tx_skbuff[entry] = NULL;
dirty_tx++;
tx_left--;
- entry++;
}
}
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] Re: rtl8169 problem and 2.4.23
2004-01-25 22:07 ` [PATCH] " Francois Romieu
@ 2004-02-20 12:11 ` Daniel Egger
0 siblings, 0 replies; 3+ messages in thread
From: Daniel Egger @ 2004-02-20 12:11 UTC (permalink / raw)
To: Francois Romieu; +Cc: netdev, Linux Kernel Mailinglist, Jeff Garzik
[-- Attachment #1: Type: text/plain, Size: 1280 bytes --]
On Jan 25, 2004, at 11:07 pm, Francois Romieu wrote:
> Try the patch above. If it compiles, it should fix the stats and you
> get a
> bugfix as an extra.
Sorry for the delay. I've not had the chance to recompile the kernel
for my fileserver and restart it, yet. But in the meantime I've received
another card with RTL8169S and tried it in a different machine.
The current driver in 2.4.24 and 2.6.3 will lock up the box in almost
no time when under load (not a real kernel lockup but a soft one because
the machine is running over NFS and the driver seems to lose packets
and then rejects to transfer more). Your patch fixes this problem and
the
counter issue for both 2.4.24 and 2.6.3, so it probably should go in
ASAP.
However there's another thing bugging me: abysmal performance. In both
a switched and a direct environment the best I could get using netio
was 10MB/s send and 21MB/s receive, using NFS I get just under 10MB/s,
this is slower than with a 8139 el cheapo 100Mbit card.
The netio results are illogical anyway because the other side is the
fileserver, which has the same card, so if one end receives 21MB/s the
other end has to send equally as fast, no? :) The CPU utilization was
almost zero on server and client (both Athlon XP).
Servus,
Daniel
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 478 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-02-20 14:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-25 19:32 rtl8169 problem and 2.4.23 Daniel Egger
2004-01-25 22:07 ` [PATCH] " Francois Romieu
2004-02-20 12:11 ` Daniel Egger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox