Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Oct 2014 09:39:54 +0900
From:      Yonghyeon PYUN <pyunyh@gmail.com>
To:        Nils Beyer <nbe@renzel.net>
Cc:        freebsd-net@freebsd.org
Subject:   Re: [CFT] alc(4) QAC AR816x/AR817x ethernet controller support
Message-ID:  <20141001003954.GA2632@michelle.fasterthan.com>
In-Reply-To: <20140930093516.80A8943F@hub.freebsd.org>
References:  <20140930015741.GA2451@michelle.fasterthan.com> <20140930082053.4D9EFF8F@hub.freebsd.org> <20140930085228.GB969@michelle.fasterthan.com> <20140930093516.80A8943F@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Sep 30, 2014 at 11:35:03AM +0200, Nils Beyer wrote:
> Hi,
> 
> Yonghyeon PYUN wrote:
> >> Then I've connected a network cable and rebooted. I've got a link and
> >> performed an "iperf" test. The results are really good: around 930 Mbit/s
> >> TX and 840 Mbit/s RX. CPU load during that test: "70.75% kernel{alc0
> >> taskq}".
> > 
> > Hmm, the RX performance number looks bad to me.  You have to see
> > more than 920Mbps.
> 
> You're right; my fault - sorry for that. The "iperf partner" seems to have a
> bad/weak NIC because it also only gets 840 Mbit/s sending to another computer.
> So I've exchanged the "iperf partner" with another computer and am getting now
> 935 Mbit/s in both directions.
> 

Ok, thanks for letting me know that.  If you use jumbo frame you
would get better performance numbers.

> I should always measure measuring equipment before measuring.
> 

Default interrupt moderation policy is targeted to reduce latency
so it will generate up to 10k interrupts/sec under high network
load.  If you want to reduce number of interrupts/sec, tune
interrupt moderation sysctl variables mentioned in alc(4).

> 
> > Could you show me the output of "pciconf -lcbv"?
> 
> Probably not neccessary anymore, but here you are (with additional -e option):
> -------------------------------------------------------------------------------
> #pciconf -lcbve | tail -20
> alc0@pci0:2:0:0: class=0x020000 card=0x05621028 chip=0x10911969 rev=0x10 hdr=0x00
>     vendor     = 'Atheros Communications Inc.'
>     device     = 'AR8161 Gigabit Ethernet'
>     class      = network
>     subclass   = ethernet
>     bar   [10] = type Memory, range 64, base 0xd0400000, size 262144, enabled
>     bar   [18] = type I/O Port, range 32, base 0x2000, size 128, enabled
>     cap 01[40] = powerspec 3  supports D0 D3  current D0
>     cap 10[58] = PCI-Express 1 endpoint max data 128(4096) link x1(x1)
>                  speed 2.5(2.5) ASPM L1(L0s/L1)
>     cap 05[c0] = MSI supports 16 messages, 64 bit, vector masks 
>     cap 11[d8] = MSI-X supports 16 messages, enabled
>                  Table in map 0x10[0x2000], PBA in map 0x10[0x3000]
>     ecap 0001[100] = AER 1 0 fatal 1 non-fatal 1 corrected
>     ecap 0003[180] = Serial 1 ff55c9fb5cf9ddff
>   PCI-e errors = Correctable Error Detected
>                  Non-Fatal Error Detected
>                  Unsupported Request Detected
>      Non-fatal = Unsupported Request
>      Corrected = Bad DLLP
> -------------------------------------------------------------------------------

Thanks for the info.

> 
> 
> > I thought I verified link lost condition before requesting test.
> > After reading your mail, I was successfully reproduce it with
> > engineering sample board.  It seems when link lost time lasts long
> > enough alc(4) fails to re-establish a link.
> 
> Confirmed - if the network cable is disconnected long enough I cannot get a
> link either. As a workaround I un- and reload the "if_alc" module; then
> everything is working again as before...
> 

Updated the diff to address link establishment issue.
http://people.freebsd.org/~yongari/alc/pci.quirk.diff
http://people.freebsd.org/~yongari/alc/alc.diff.20141001

Thanks.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141001003954.GA2632>