Gianfar is slower than fcc_enet on MPC8541 ???

6 messages, 4 authors, 2006-02-14 · open the first message on its own page

Gianfar is slower than fcc_enet on MPC8541 ???

From: Laurent Lagrange <hidden>
Date: 2006-02-14 15:21:22

Hello,

I work on a cutom MPC8541 board with Linux 2.6.9.
The kernel activates the L1 cache (instructions and data)
and the L2 cache (entirely used as cache and not as sram).

I configure 
1 FCC (FCC1),
2 TSECs with or without NAPI (no effect) but without stashing in L2 sram.
All PHYs are automatically configured in 100MB full duplex.

	eth0: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e0
	eth0: Running with NAPI disabled
	eth0: 64/64 RX/TX BD ring size
	eth1: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e1
	eth1: Running with NAPI disabled
	eth1: 64/64 RX/TX BD ring size
	eth2: FCC ENET Version custom, 00:10:cd:48:48:e2

Then I launch 3 simple TCP servers, one on each ports.
From remote machines I runs 3 TCP clients.
The client sends messages of 1000 bytes, 
The server receives and echoes the message
The client receives the echoed message, check the content
and sends a new message again.

The result is that the 2 TSECs are 2 times slower than the FCC.

If I run a "top" application on the board, I use less than 10% of the CPU
Each port consumes about 1/3 of the CPU.

Any idea on how to configure the gianfar driver ?

Thanks
Laurent
 

Re: Gianfar is slower than fcc_enet on MPC8541 ???

From: Pantelis Antoniou <pantelis.antoniou@gmail.com>
Date: 2006-02-14 15:28:40

Hi Laurent,

I found that pretty hard to believe.

What are you measuring exactly?

Speed of replies? If so it's explainable since the TSECs use
NAPI.

Regards

Pantelis

On 2/14/06, Laurent Lagrange [off-list ref] wrote:

Hello,

I work on a cutom MPC8541 board with Linux 2.6.9.
The kernel activates the L1 cache (instructions and data)
and the L2 cache (entirely used as cache and not as sram).

I configure
1 FCC (FCC1),
2 TSECs with or without NAPI (no effect) but without stashing in L2 sram.
All PHYs are automatically configured in 100MB full duplex.

        eth0: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e0
        eth0: Running with NAPI disabled
        eth0: 64/64 RX/TX BD ring size
        eth1: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e1
        eth1: Running with NAPI disabled
        eth1: 64/64 RX/TX BD ring size
        eth2: FCC ENET Version custom, 00:10:cd:48:48:e2

Then I launch 3 simple TCP servers, one on each ports.

From remote machines I runs 3 TCP clients.
The client sends messages of 1000 bytes,
The server receives and echoes the message
The client receives the echoed message, check the content
and sends a new message again.

The result is that the 2 TSECs are 2 times slower than the FCC.

If I run a "top" application on the board, I use less than 10% of the CPU
Each port consumes about 1/3 of the CPU.

Any idea on how to configure the gianfar driver ?

Thanks
Laurent


_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

RE: Gianfar is slower than fcc_enet on MPC8541 ???

From: Laurent Lagrange <hidden>
Date: 2006-02-14 16:09:33

Hi Pantelis,

Thanks for the express reply.

I know that what I say seems incredible. But I don't understand what NAPI
does.
My measure is very simple. I display a message on the client when 1000
exchanges are done.
I already check the ifconfig stats on the board after some seconds.
The measures seems the same with or without NAPI.

More details ?
Thanks again
Laurent


  -----Message d'origine-----
  De : Pantelis Antoniou [mailto:pantelis.antoniou@gmail.com]
  Envoyé : mar. 14 février 2006 16:29
  À : Laurent Lagrange
  Cc : linuxppc-embedded@ozlabs.org
  Objet : Re: Gianfar is slower than fcc_enet on MPC8541 ???


  Hi Laurent,

  I found that pretty hard to believe.

  What are you measuring exactly?

  Speed of replies? If so it's explainable since the TSECs use
  NAPI.

  Regards

  Pantelis


  On 2/14/06, Laurent Lagrange [off-list ref] wrote:

    Hello,

    I work on a cutom MPC8541 board with Linux 2.6.9.
    The kernel activates the L1 cache (instructions and data)
    and the L2 cache (entirely used as cache and not as sram).

    I configure
    1 FCC (FCC1),
    2 TSECs with or without NAPI (no effect) but without stashing in L2
sram.
    All PHYs are automatically configured in 100MB full duplex.

            eth0: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e0
            eth0: Running with NAPI disabled
            eth0: 64/64 RX/TX BD ring size
            eth1: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e1
            eth1: Running with NAPI disabled
            eth1: 64/64 RX/TX BD ring size
            eth2: FCC ENET Version custom, 00:10:cd:48:48:e2

    Then I launch 3 simple TCP servers, one on each ports.

    From remote machines I runs 3 TCP clients.
    The client sends messages of 1000 bytes,
    The server receives and echoes the message
    The client receives the echoed message, check the content
    and sends a new message again.

    The result is that the 2 TSECs are 2 times slower than the FCC.

    If I run a "top" application on the board, I use less than 10% of the
CPU
    Each port consumes about 1/3 of the CPU.

    Any idea on how to configure the gianfar driver ?

    Thanks
    Laurent


    _______________________________________________
    Linuxppc-embedded mailing list
    Linuxppc-embedded@ozlabs.org
    https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Re: Gianfar is slower than fcc_enet on MPC8541 ???

From: Pantelis Antoniou <pantelis.antoniou@gmail.com>
Date: 2006-02-14 16:17:48

Can you provide some more information?

Actual timings, and a tcpdump fragment?

On 2/14/06, Laurent Lagrange [off-list ref] wrote:
Hi Pantelis,

Thanks for the express reply.

I know that what I say seems incredible. But I don't understand what NAPI
does.
My measure is very simple. I display a message on the client when 1000
exchanges are done.
I already check the ifconfig stats on the board after some seconds.
The measures seems the same with or without NAPI.

More details ?
Thanks again
Laurent



-----Message d'origine-----
*De :* Pantelis Antoniou [mailto:pantelis.antoniou@gmail.com]
*Envoyé :* mar. 14 février 2006 16:29
*À :* Laurent Lagrange
*Cc :* linuxppc-embedded@ozlabs.org
*Objet :* Re: Gianfar is slower than fcc_enet on MPC8541 ???

Hi Laurent,

I found that pretty hard to believe.

What are you measuring exactly?

Speed of replies? If so it's explainable since the TSECs use
NAPI.

Regards

Pantelis

On 2/14/06, Laurent Lagrange [off-list ref] wrote:
quoted

Hello,

I work on a cutom MPC8541 board with Linux 2.6.9.
The kernel activates the L1 cache (instructions and data)
and the L2 cache (entirely used as cache and not as sram).

I configure
1 FCC (FCC1),
2 TSECs with or without NAPI (no effect) but without stashing in L2
sram.
All PHYs are automatically configured in 100MB full duplex.

        eth0: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e0
        eth0: Running with NAPI disabled
        eth0: 64/64 RX/TX BD ring size
        eth1: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e1
        eth1: Running with NAPI disabled
        eth1: 64/64 RX/TX BD ring size
        eth2: FCC ENET Version custom, 00:10:cd:48:48:e2

Then I launch 3 simple TCP servers, one on each ports.

From remote machines I runs 3 TCP clients.
The client sends messages of 1000 bytes,
The server receives and echoes the message
The client receives the echoed message, check the content
and sends a new message again.

The result is that the 2 TSECs are 2 times slower than the FCC.

If I run a "top" application on the board, I use less than 10% of the
CPU
Each port consumes about 1/3 of the CPU.

Any idea on how to configure the gianfar driver ?

Thanks
Laurent


_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Re: Gianfar is slower than fcc_enet on MPC8541 ???

From: Vitaly Bordug <hidden>
Date: 2006-02-14 16:50:55

Laurent, 
btw, have you gived netperf test a try? 
It is a commonly-used tool to measure network performance, and has dozens of settings to test...

On Tue, 14 Feb 2006 11:17:46 -0500
Pantelis Antoniou [off-list ref] wrote:
Can you provide some more information?

Actual timings, and a tcpdump fragment?

On 2/14/06, Laurent Lagrange [off-list ref] wrote:
quoted
Hi Pantelis,

Thanks for the express reply.

I know that what I say seems incredible. But I don't understand what NAPI
does.
My measure is very simple. I display a message on the client when 1000
exchanges are done.
I already check the ifconfig stats on the board after some seconds.
The measures seems the same with or without NAPI.

More details ?
Thanks again
Laurent



-----Message d'origine-----
*De :* Pantelis Antoniou [mailto:pantelis.antoniou@gmail.com]
*Envoyé :* mar. 14 février 2006 16:29
*À :* Laurent Lagrange
*Cc :* linuxppc-embedded@ozlabs.org
*Objet :* Re: Gianfar is slower than fcc_enet on MPC8541 ???

Hi Laurent,

I found that pretty hard to believe.

What are you measuring exactly?

Speed of replies? If so it's explainable since the TSECs use
NAPI.

Regards

Pantelis

On 2/14/06, Laurent Lagrange [off-list ref] wrote:
quoted

Hello,

I work on a cutom MPC8541 board with Linux 2.6.9.
The kernel activates the L1 cache (instructions and data)
and the L2 cache (entirely used as cache and not as sram).

I configure
1 FCC (FCC1),
2 TSECs with or without NAPI (no effect) but without stashing in L2
sram.
All PHYs are automatically configured in 100MB full duplex.

        eth0: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e0
        eth0: Running with NAPI disabled
        eth0: 64/64 RX/TX BD ring size
        eth1: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e1
        eth1: Running with NAPI disabled
        eth1: 64/64 RX/TX BD ring size
        eth2: FCC ENET Version custom, 00:10:cd:48:48:e2

Then I launch 3 simple TCP servers, one on each ports.

From remote machines I runs 3 TCP clients.
The client sends messages of 1000 bytes,
The server receives and echoes the message
The client receives the echoed message, check the content
and sends a new message again.

The result is that the 2 TSECs are 2 times slower than the FCC.

If I run a "top" application on the board, I use less than 10% of the
CPU
Each port consumes about 1/3 of the CPU.

Any idea on how to configure the gianfar driver ?

Thanks
Laurent


_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

-- 
Sincerely, 
Vitaly

Re: Gianfar is slower than fcc_enet on MPC8541 ???

From: Andy Fleming <hidden>
Date: 2006-02-14 17:37:05

My guess is that you are measuring latency.  By default, interrupt  
coalescing is on, and used to be set to very poor default values.  In  
drivers/net/gianfar.h, change the defaults to look like this:

#define DEFAULT_TX_COALESCE 1
#define DEFAULT_TXCOUNT 16
#define DEFAULT_TXTIME  4

#define DEFAULT_RX_COALESCE 1
#define DEFAULT_RXCOUNT 16
#define DEFAULT_RXTIME  4

The problem was that the timeout was quite long, so a small number of  
packets would have to wait a whole millisecond (or more!) to get  
processed.  While it wouldn't affect bandwidth tests, which send many  
packets, it would affect a simple test like ping.

If you don't feel like recompiling the kernel, you can use ethtool to  
change the timeout values.


On Feb 14, 2006, at 09:26, Laurent Lagrange wrote:
Hello,

I work on a cutom MPC8541 board with Linux 2.6.9.
The kernel activates the L1 cache (instructions and data)
and the L2 cache (entirely used as cache and not as sram).

I configure
1 FCC (FCC1),
2 TSECs with or without NAPI (no effect) but without stashing in L2  
sram.
All PHYs are automatically configured in 100MB full duplex.

	eth0: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e0
	eth0: Running with NAPI disabled
	eth0: 64/64 RX/TX BD ring size
	eth1: Gianfar Ethernet Controller Version 1.1, 00:10:cd:48:48:e1
	eth1: Running with NAPI disabled
	eth1: 64/64 RX/TX BD ring size
	eth2: FCC ENET Version custom, 00:10:cd:48:48:e2

Then I launch 3 simple TCP servers, one on each ports.
quoted
From remote machines I runs 3 TCP clients.
The client sends messages of 1000 bytes,
The server receives and echoes the message
The client receives the echoed message, check the content
and sends a new message again.

The result is that the 2 TSECs are 2 times slower than the FCC.

If I run a "top" application on the board, I use less than 10% of  
the CPU
Each port consumes about 1/3 of the CPU.

Any idea on how to configure the gianfar driver ?

Thanks
Laurent


_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help