From: Pascal CHAPPERON <pascal.chapperon@wanadoo.fr>
To: Francois Romieu <romieu@fr.zoreil.com>
Cc: Juha Laiho <Juha.Laiho@iki.fi>,
Andrew Hutchings <info@a-wing.co.uk>,
linux-kernel@vger.kernel.org, vinay kumar <b4uvin@yahoo.co.in>,
jgarzik@pobox.com
Subject: Re: sis190
Date: Sun, 19 Jun 2005 12:17:45 +0200 (CEST) [thread overview]
Message-ID: <29985680.1119176265153.JavaMail.www@wwinf0301> (raw)
> Message du 17/06/05 20:23
> De : "Francois Romieu" <romieu@fr.zoreil.com>
[...]
> It should be fixed now. Please try the patch of the day:
> http://www.fr.zoreil.com/people/francois/misc/20050617-2.6.12-rc-sis190-test.patch
>
[...]
Nice, it works :)
It is now usable, but it can freeze the box in some cases (see below).
First try : network (dhcp) initialized correctly, but the box froze
immediatly as i tried to transfer a 35MB file via scp
(not really frozen, as the transfer achieved correctly).
I had to switch power button...
i raised NUM_RX_DESC from 16 to 256 : i could achieve 2 transfers
before i lost keyboard; as i was on the console, i could see that
sis190 printks were still printed (very slowly), but nothing else
was working.
[...many tries...]
I disabled PREEMPT in the kernel : the driver worked correctly.
# modinfo sis190
[...]
alias: pci:v00001039d00000190sv*sd*bc*sc*i*
depends:
vermagic: 2.6.12-rc6 gcc-3.4
# cat /var/log/messages
[...]
Jun 18 11:04:41 local kernel: eth0: Rx status = 76040040
Jun 18 11:04:41 local kernel: eth0: Rx PSize = 01010046
Jun 18 11:04:41 local kernel: sk_buff[0]->tail = ffff81000cc78810
Jun 18 11:04:41 local kernel: eth0: Rx status = c0000000
Jun 18 11:04:41 local kernel: eth0: status = 20000004
Jun 18 11:04:41 local kernel: eth0: status = 00000040
Jun 18 11:04:41 local kernel: eth0: dirty_rx=143 cur_rx=143
Jun 18 11:04:41 local kernel: PSize status addr size PSize status addr size
Jun 18 11:04:41 local kernel: 00:00000000 c0000000 1018c010 00000600 00000000 c0000000 040a6010 00000600
Jun 18 11:04:41 local kernel: 01:00000000 c0000000 03d64010 00000600 00000000 c0000000 1ce5a010 00000600
Jun 18 11:04:41 local kernel: 02:00000000 c0000000 1ce5a810 00000600 00000000 c0000000 1179e010 00000600
Jun 18 11:04:41 local kernel: 03:00000000 c0000000 1c28f810 00000600 00000000 c0000000 1c283010 00000600
Jun 18 11:04:41 local kernel: 04:00000000 c0000000 0c863010 00000600 00000000 c0000000 0eba9010 00000600
Jun 18 11:04:41 local kernel: 05:00000000 c0000000 0eba9810 00000600 00000000 c0000000 0a24a010 00000600
Jun 18 11:04:41 local kernel: 06:00000000 c0000000 03d62010 00000600 00000000 c0000000 0cc78010 00000600
Jun 18 11:04:41 local kernel: 07:00000000 c0000000 0cc78810 00000600 01010046 76040040 040a6810 80000600
Jun 18 11:04:41 local kernel: eth0: dirty_tx=174 cur_tx=174
[...]
I also tried :
1) to comment out sis190_make_unusable_by_asic() in sis190_rx_interrupt() :
if (sis190_try_rx_copy(&skb, pkt_size, desc,
tp->rx_buf_sz)) {
pci_action = pci_unmap_single;
tp->Rx_skbuff[entry] = NULL;
/* sis190_make_unusable_by_asic(desc); */
}
No difference (it worked the same way).
2) to comment out the test "if (pkt_size < rx_copybreak)" in sis190_try_rx_copy() :
It worked with kernel PREEMPT.
The transfer speed was the same.
I imagine that rx_copybreak is better for large packets, but i still do not
understand why it is better :( (less upload ?)
> > I also tried to force 10H, 10F, 100H, 100F autoneg off on the other card.
[...]
> Did the sis190 driver report a link change event ?
>
> --
> Ueimor
>
I made new tests with 2 differents boards on the remote (modes + transfer speed) :
worked good in some cases, bad in another.
In one case (10 full with r8169) , it froze the box (see below).
I used your patch without modifications (I only remove printks to have real perfs).
NUM_TX_DESC 64
NUM_RX_DESC 256
Kernel was compiled without PREEMPT.
I transferred (twice for each test) a 35MB file in both directions.
1) local = sis190 remote = r8169
--------------------------------
remote # uname -a
Linux remote 2.6.11.11 #3 SMP Sat Jun 18 16:23:51 CEST 2005 i686 i686 i386 GNU/Linux
remote # ethtool -i eth2
driver: r8169
version: 2.2LK
remote # ethtool -s eth2 autoneg on
local # dmesg
[...]
[ 2954.467733] sis190 Gigabit Ethernet driver 1.2 loaded
[ 2954.467958] ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
[ 2954.467961] ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
[ 2954.467970] PCI: Setting latency timer of device 0000:00:04.0 to 64
[ 2954.475927] 0000:00:04.0: sis190 at ffffc20000004c00 (IRQ: 11), 00:11:2f:e9:42:70
[ 2954.475932] eth0: Enabling Auto-negotiation.
[ 2954.510049] eth0: link change
[ 2954.512912] eth0: mii 0x1f = 0000.
[ 2954.514038] eth0: mii lpa = 0000.
[ 2954.514041] eth0: Link on unknown mode.
[ 2960.061387] eth0: PHY reset until link up
[ 2960.097462] eth0: no IPv6 routers present
[ 2965.614860] eth0: PHY reset until link up
[ i plug the wire ]
[ 2971.168332] eth0: PHY reset until link up
[ 2972.171635] eth0: link change
[ 2972.174572] eth0: mii 0x1f = 0000.
[ 2972.175683] eth0: mii lpa = c1e1.
[ 2972.175685] eth0: Link on 100 Mbps Full Duplex mode.
[...]
-> 35MB 11.6MB/s 00:03
<- 35MB 11.6MB/s 00:03
remote # ethtool -s eth2 speed 10 duplex half autoneg off
local # dmesg
[...]
[ 3169.769898] eth0: link change
[ 3169.773250] eth0: mii 0x1f = 0000.
[ 3169.774364] eth0: mii lpa = 4021.
[ 3169.774366] eth0: Link on 10 Mbps Half Duplex mode.
[ could not ping remote]
I had to reload sis190 (network restart was not sufficient).
-> 35MB 334.2KB/s 01:47
<- 8% 2976KB 40.2KB/s 13:35 ETA
remote # ethtool -s eth2 speed 10 duplex full autoneg off
local # dmesg
[...]
[ 3467.070750] eth0: pad error. status = 01000042
[ 3467.208669] eth0: pad error. status = 01000048
[ 3467.329894] eth0: pad error. status = 01000043
[ 3469.350736] eth0: pad error. status = 01000044
[ 3469.351500] eth0: pad error. status = 0100005a
[ 3487.685124] eth0: link change
[ 3487.687358] eth0: PHY reset until link up
[ 3488.846780] eth0: link change
[ 3488.850113] eth0: mii 0x1f = 0000.
[ 3488.851224] eth0: mii lpa = 4061.
[ 3488.851226] eth0: Link on 10 Mbps Full Duplex mode.
No need to restart network...
the transfer from local to remote froze immediatly the box.
It's always reproductible : box freshly started,
network restarted, sis190 reloaded...
-> do not try it!
<- 35MB 1.1MB/s 00:31
In the other direction (remote -> local), i could transfer
the file as many times as i wanted.
remote # ethtool -s eth2 speed 100 duplex half autoneg off
local # dmesg
[...]
[ 638.939950] eth0: link change
[ 638.943171] eth0: mii 0x1f = 0000.
[ 638.944282] eth0: mii lpa = 4081.
[ 638.944284] eth0: Link on 100 Mbps Half Duplex mode.
No need to restart network...
-> 35MB 1.0MB/s 00:35
<- 35MB 2.9MB/s 00:12
remote # ethtool -s eth2 speed 100 duplex full autoneg off
local # dmesg
[...]
[ 281.822151] eth0: link change
[ 281.825442] eth0: mii 0x1f = 0000.
[ 281.826553] eth0: mii lpa = 4181.
[ 281.826555] eth0: Link on 100 Mbps Full Duplex mode.
No need to restart network...
-> 35MB 11.6MB/s 00:03
<- 35MB 11.6MB/s 00:03
2) local = sis190 remote = 8139too
----------------------------------
remote # ethtool -i eth2
driver: 8139too
version: 0.9.27
remote # ethtool -s eth2 autoneg on
local # dmesg
[...]
[ 1122.883216] eth0: link change
[ 1122.886164] eth0: mii 0x1f = 0000.
[ 1122.887275] eth0: mii lpa = 45e1.
[ 1122.887278] eth0: Link on 100 Mbps Full Duplex mode.
No need to restart network...
-> 35MB 11.6MB/s 00:03
<- 35MB 11.6MB/s 00:03
remote # ethtool -s eth2 speed 10 duplex half autoneg off
local # dmesg
[...]
[ 1297.412384] eth0: link change
[ 1297.415299] eth0: mii 0x1f = 0000.
[ 1297.416410] eth0: mii lpa = 0021.
[ 1297.416412] eth0: Link on 10 Mbps Half Duplex mode.
No need to restart network...
-> 3% 1296KB 61.8KB/s 09:17 ETA
<- 43% 15MB 336.1KB/s 00:59 ETA
remote # ethtool -s eth2 speed 10 duplex full autoneg off
local # dmesg
[...]
[ 1396.959707] eth0: pad error. status = 01000048
[ 1396.961143] eth0: pad error. status = 0100004a
[ 1396.962580] eth0: pad error. status = 0100004a
[ 1396.964014] eth0: pad error. status = 01000042
[ 1396.965448] eth0: pad error. status = 01000042
[ 1396.966886] eth0: pad error. status = 0100004c
[ i did not find mode report ]
No need to restart network...
-> 35MB 337.3KB/s 01:46
<- 35MB 1.1MB/s 00:31
I restarted network, but nothing worked anymore; so i
also reloaded sis190.
local # dmesg
[...]
[ 1741.049314] eth0: Enabling Auto-negotiation.
[ 1746.626290] eth0: mii 0x1f = 0000.
[ 1746.627399] eth0: mii lpa = 0021.
[ 1746.627401] eth0: Link on 10 Mbps Half Duplex mode.
[false detection ^^^^]
-> 13% 4816KB 357.6KB/s 01:26 ETA
<- 35MB 1.1MB/s 00:32
remote # ethtool -s eth2 speed 100 duplex half autoneg off
local # dmesg
[...]
[ 1990.441900] eth0: link change
[ 1990.445110] eth0: mii 0x1f = 0000.
[ 1990.446222] eth0: mii lpa = 0081.
[ 1990.446224] eth0: Link on 100 Mbps Half Duplex mode.
No need to restart network...
-> 35MB 1.1MB/s 00:33
<- 35MB 2.2MB/s 00:16
remote # ethtool -s eth2 speed 100 duplex full autoneg off
local # dmesg
[...]
[ 2075.194365] eth0: pad error. statad error. status = 01000232
[...]
[ 2125.300416] eth0: pad error. status = 01000040
[ 2129.465137] eth0: pad error. status = 01000046
[ 2129.804272] eth0: pad error. status = 01000040
[ 2130.498300] eth0: pad error. status = 01000044
[ i did not find mode report ]
-> 35MB 1.2MB/s 00:30
<- 35MB 11.6MB/s 00:03
I restarted network, it worked, but still pad errors.
So i reloaded sis190.
local # dmesg
[...]
[ 2346.490911] eth0: Enabling Auto-negotiation.
[ 2352.068364] eth0: mii 0x1f = 0000.
[ 2352.069478] eth0: mii lpa = 0081.
[ 2352.069482] eth0: Link on 100 Mbps Half Duplex mode.
[false detection ^^^^]
-> 35MB 1.1MB/s 00:32
<- 35MB 11.6MB/s 00:03
As you can see, it always works fine with autoneg on, and
only 100 full with r8169 is OK with autoneg off.
Regards
Pascal
next reply other threads:[~2005-06-19 10:26 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-19 10:17 Pascal CHAPPERON [this message]
2005-06-21 23:02 ` sis190 Francois Romieu
-- strict thread matches above, loose matches on Subject: below --
2005-07-10 13:23 sis190 Pascal CHAPPERON
2005-07-09 13:25 sis190 Pascal CHAPPERON
2005-07-09 20:57 ` sis190 Francois Romieu
2005-07-06 15:58 sis190 Pascal CHAPPERON
2005-07-06 21:29 ` sis190 Francois Romieu
2005-07-02 10:52 sis190 Pascal CHAPPERON
2005-07-02 11:33 ` sis190 Francois Romieu
2005-07-04 23:30 ` sis190 Francois Romieu
2005-06-26 12:39 sis190 Pascal CHAPPERON
2005-06-30 23:37 ` sis190 Francois Romieu
2005-06-17 11:14 sis190 Pascal CHAPPERON
2005-06-17 18:22 ` sis190 Francois Romieu
2005-06-15 15:22 sis190 Pascal CHAPPERON
2005-06-16 22:34 ` sis190 Francois Romieu
2005-06-14 14:14 sis190 Pascal CHAPPERON
2005-06-14 20:04 ` sis190 Francois Romieu
2005-06-13 8:19 sis190 Pascal CHAPPERON
2005-06-13 21:39 ` sis190 Francois Romieu
2005-06-11 9:39 sis190 Pascal CHAPPERON
2005-06-11 10:56 ` sis190 Francois Romieu
2005-06-07 22:37 sis5513.c patch Andrew Hutchings
2005-06-07 22:57 ` Francois Romieu
2005-06-07 23:20 ` Andrew Hutchings
2005-06-08 22:51 ` sis190 (was: Re: sis5513.c patch) Francois Romieu
2005-06-09 4:54 ` sis190 Andrew Hutchings
2005-06-09 12:02 ` sis190 Andrew Hutchings
2005-06-09 21:18 ` sis190 Francois Romieu
2005-06-10 13:55 ` sis190 Andrew Hutchings
2005-06-10 23:41 ` sis190 Francois Romieu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=29985680.1119176265153.JavaMail.www@wwinf0301 \
--to=pascal.chapperon@wanadoo.fr \
--cc=Juha.Laiho@iki.fi \
--cc=b4uvin@yahoo.co.in \
--cc=info@a-wing.co.uk \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=romieu@fr.zoreil.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.