* Attansic L1 driver issue
@ 2016-01-02 5:58 Flávio Silveira
2016-01-12 15:13 ` Flávio Silveira
0 siblings, 1 reply; 2+ messages in thread
From: Flávio Silveira @ 2016-01-02 5:58 UTC (permalink / raw)
To: netdev, Chris Snook, jcliburn
Good morning,
I'm investigating a possible issue with atl1 driver used by Attansic L1.
During my tests with iperf3 I saw a performance drop when the
computer is client.
I can hit only about 580~600Mbit/s, if I disable
generic-segmentation-offload (GSO) I can hit 660~670Mbit/s.
When the computer is server, I can hit 940~950Mbit/s.
My tests are done with 2 computers directly connected with a cat6
cable, static addresses on both, no iptables rules and commands below:
# for the server
iperf3 -s
# for the client
iperf3 -c <server ip> -P 1 -i 1 -p 5201 -f m -t 10
To rule out a few things, I've tested with Fedora 23 live usb (kernel
4.2.7) and Debian 8 Jessie (kernels 3.16.7 and latest stable 4.3.3).
The other computer on the test ran Fedora 23 live usb and Windows 7
SP1 x64, same results.
I've been talking to Chris Snook (in CC), one of the maintainers of
this driver and he suspects of a PCI regression. Unfortunately I
couldn't git bisect for him, I'm actually thinking about installing
Debian 6 Squeeze which ships with kernel 2.6.32 and it is close to the
kernel this driver was mainlined (2.6.21 IIRC) and do the git bisect there.
What I could do so far is enable debug in the driver and when I run
iperf I see "tx busy" message. This message comes from this part of the
driver:
# This is inside atl1_xmit_frame function and count is initialized with 1
if (atl1_tpd_avail(&adapter->tpd_ring) < count) {
/* not enough descriptors */
netif_stop_queue(netdev);
if (netif_msg_tx_queued(adapter))
dev_printk(KERN_DEBUG, &adapter->pdev->dev,
"tx busy\n");
return NETDEV_TX_BUSY;
}
So I thought it could be TX ring too small, but I've played with
available values and no change. Default value is 256 for TX ring and up
to 1024 as max value.
As you could notice I'm not knowledgeable, but I hope to get some
insight on this, so it can hopefully be fixed.
Regards,
Flavio Silveira
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Attansic L1 driver issue
2016-01-02 5:58 Attansic L1 driver issue Flávio Silveira
@ 2016-01-12 15:13 ` Flávio Silveira
0 siblings, 0 replies; 2+ messages in thread
From: Flávio Silveira @ 2016-01-12 15:13 UTC (permalink / raw)
To: netdev, Chris Snook, jcliburn
On 02/01/2016 03:58, Flávio Silveira wrote:
> Good morning,
>
> I'm investigating a possible issue with atl1 driver used by Attansic
> L1.
>
> During my tests with iperf3 I saw a performance drop when the
> computer is client.
>
> I can hit only about 580~600Mbit/s, if I disable
> generic-segmentation-offload (GSO) I can hit 660~670Mbit/s.
>
> When the computer is server, I can hit 940~950Mbit/s.
Hi,
I'm continuing to investigate this, tried older kernels (2.6.32 and
3.2.68) in order to see if it was a regression.
What I discovered so far is that if I disable scatter-gather I can
see around 70Mbit/s of improvement, I wonder if there is anything else I
can do to understand the "tx busy" message I mentioned in first mail or
the issue itself.
Regards,
Flavio
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-01-12 15:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-02 5:58 Attansic L1 driver issue Flávio Silveira
2016-01-12 15:13 ` Flávio Silveira
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.