[#4739] netperf_tcp_rr through bfin_mac is almost zero with set buffer packets

Document created by Aaronwu Employee on Aug 30, 2013
Version 1Show Document
  • View in full screen mode

[#4739] netperf_tcp_rr through bfin_mac is almost zero with set buffer packets

Submitted By: Mingquan Pan

Open Date

2008-12-22 21:47:32     Close Date

2009-02-10 23:05:05

Priority:

Medium     Assignee:

Michael Hennerich

Status:

Closed     Fixed In Release:

N/A

Found In Release:

N/A     Release:

Category:

N/A     Board:

N/A

Processor:

BF537     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Duplicate

Uboot version or rev.:

    Toolchain version or rev.:

Nov 11

App binary format:

N/A     

Summary: netperf_tcp_rr through bfin_mac is almost zero with set buffer packets

Details:

 

netperf_tcp_rr on bf527 is almost zero with set buffer packets on trunk now.

 

config:

  Ethernet (10 or 100Mbit) (NET_ETHERNET) [Y/n/?] ^M

    Generic Media Independent Interface device support (MII) [Y/?] y^M

    Blackfin on-chip MAC support (BFIN_MAC) [Y/n/m/?] ^M

      Use L1 memory for rx/tx packets (BFIN_MAC_USE_L1) [Y/n/?] N^M

      Number of transmit buffer packets (BFIN_TX_DESC_NUM) [10] 100^M

      Number of receive buffer packets (BFIN_RX_DESC_NUM) [20] 500^M

      RMII PHY Interface (EXPERIMENTAL) (BFIN_MAC_RMII) [Y/n/?] ^M

 

log:

Loading .text @ 0x00001000 (1196304 bytes)

Loading .rodata @ 0x00125110 (299720 bytes)

Loading .init.rodata @ 0x0016e3d8 (156 bytes)

Loading __ksymtab @ 0x0016e474 (16528 bytes)

Loading __ksymtab_gpl @ 0x00172504 (5752 bytes)

Loading __ksymtab_strings @ 0x00173b7c (50054 bytes)

Loading __init_rodata @ 0x0017ff04 (172 bytes)

Loading __param @ 0x0017ffb0 (640 bytes)

Clearing .bss @ 0x00180230 (66432 bytes)

Loading .data @ 0x001905b0 (72272 bytes)

Loading .init.text @ 0x001a2000 (102020 bytes)

Loading .init.data @ 0x001bae84 (20708 bytes)

Loading .init.setup @ 0x001bff68 (608 bytes)

Loading .initcall.init @ 0x001c01c8 (656 bytes)

Loading .con_initcall.init @ 0x001c0458 (4 bytes)

Loading .init.ramfs @ 0x001c045c (3084968 bytes)

Loading .text_l1 @ 0xffa00000 (5500 bytes)

sh_addr: FFA00000, p_paddr: 004B1704

Loading from: 024A2000 to 004B1704, size: 5500

Loading .data_l1 @ 0xff800000 (192 bytes)

sh_addr: FF800000, p_paddr: 004B2C80

Loading from: 024A4000 to 004B2C80, size: 192

## Starting application at 0x001af490 ...

Linux version 2.6.28-rc2-ADI-2009R1-pre-svn5830 (test@uclinux60-bf527-std) (gcc version 4.1.2 (ADI svn)) #68 Sat Dec 6 13:23:10 CST 2008

console [early_BFuart0] enabled

early printk enabled on early_BFuart0

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x00125110

  rodata    = 0x00125110-0x00180230

  bss       = 0x00180230-0x001905b0

  data      = 0x001905b0-0x001a2000

    stack   = 0x001a0000-0x001a2000

  init      = 0x001a2000-0x004b3000

  available = 0x004b3000-0x03eff000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace Active and Enabled

Reset caused by Software reset

Blackfin support (C) 2004-2008 Analog Devices, Inc.

Compiled for ADSP-BF527 Rev 0.0

ERROR: Not running on ADSP-BF527: unknown CPUID 0x27e0 Rev 0.0

Blackfin Linux support by   blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 131 MHz System Clock

NOMPU: setting up cplb tables for global access

Instruction Cache Enabled for CPU0

Data Cache Enabled for CPU0 (write-through)

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 16001

Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 ip=10.100.4.50:10.100.4.174:10.100.4.174:255.255.255.0:bf527-ezkit:eth0:off

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 256 (order: 8, 1024 bytes)

console handover: boot [early_BFuart0] -> real [ttyBF0]

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 59116k/65536k RAM, (3140k init code, 1168k kernel code, 500k data, 1024k dma, 584k reserved)

Calibrating delay loop... 1044.48 BogoMIPS (lpj=2088960)

Security Framework initialized

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (15 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (42 KB free)

PDA for CPU0 reserved at 00181228

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin GPIO Controller

Blackfin DMA Controller

stamp_init(): registering device resources

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

musb_hdrc: version 6.0, pio, host, debug=0

musb_hdrc: USB Host mode controller at ffc03800 using PIO, IRQ 59

musb_hdrc musb_hdrc.0: MUSB HDRC host driver

musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 1

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NET: Registered protocol family 1

msgmni has been set to 115

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bfin-t350mcqb: 320x240 24-bit RGB FrameBuffer initializing...

dma_alloc_init: dma_page @ 0x03a00000 - 256 pages at 0x03f00000

bfin-otp: initialized

Serial: Blackfin serial driver

bfin-uart.1: ttyBF0 at MMIO 0xffc02000 (irq = 31) is a BFIN-UART

brd: module loaded

bfin_mac_mdio: probed

bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:03, irq=-1, mdc_clk=2500000Hz(mdc_div=25)@sclk=131MHz)

bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1

m25p80 spi0.1: m25p16 (2048 Kbytes)

Creating 2 MTD partitions on "m25p80":

0x00000000-0x00040000 : "bootloader(spi)"

0x00040000-0x00200000 : "linux kernel(spi)"

bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

hid_tmff: Unknown symbol _input_ff_create_memless

usbcore: registered new interface driver usbhid

usbhid: v2.6:USB HID core driver

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 2004-06-01 03:57:55 UTC (1086062275)

IP-Config: Complete:

     device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,

     host=bf527-ezkit, domain=, nis-domain=(none),

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 3140k freed

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            -   blackfin.uclinux.org/

\    YP"    `| 8P  `.          -   docs.blackfin.uclinux.org/

/     \.___.d|    .'           -   www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    -   www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.13.1 (2008-12-06 11:48:09 CST) built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/>

************** STEP 3: Start testing.

 

ifconfig eth0 10.100.4.50

root:/> PHY: 0:03 - Link is Up - 100/Full

test@uclinux60-bf527-std:~/work/cruise/checkouts/uclinux-dist/testsuites/ethernet> sudo ./netserver_x86

root's password:

Starting netserver at port 12865

test@uclinux60-bf527-std:~/work/cruise/checkouts/uclinux-dist/testsuites/ethernet> ps aux| grep netserver_x86 | head -1

root     16086  0.0  0.0   1816   240 ?        Ss   13:24   0:00 ./netserver_x86

test@uclinux60-bf527-std:~/work/cruise/checkouts/uclinux-dist/testsuites/ethernet> usb 1-1: new high speed USB device using musb_hdrc and address 2

usb 1-1: configuration #1 chosen from 1 choice

cd /

root:/> chmod 777 netperf_script

root:/> ./netperf_script

root:/> sudo pkill netserver_x86

root's password:

test@uclinux60-bf527-std:~/work/cruise/checkouts/uclinux-dist/testsuites/ethernet> cat netperf_tcp_rr

TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174 (10.100.4.174) port 0 AF_INET

Local /Remote

Socket Size   Request  Resp.   Elapsed  Trans.

Send   Recv   Size     Size    Time     Rate

bytes  Bytes  bytes    bytes   secs.    per sec

 

16384  87380  1        1       600.00      0.00

16384  87380

root:/> cat netperf_tcp_stream

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174 (10.100.4.174) port 0 AF_INET

netperf: receive_response: no response received. errno 110 counter 0

root:/>

Case 1 ...FAIL

 

 

while on bf537, with the same config it still has 3585.21 rate per sec.

 

Follow-ups

 

--- Sonic Zhang                                              2008-12-31 01:20:40

Can't replicated on kernel svn 5932.

 

root:/bin> netperf -H 10.100.4.174 -t TCP_STREAM -l 60

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174

(10.100.4.174) port 0 AF_INET

Recv   Send    Send

Socket Socket  Message  Elapsed

Size   Size    Size     Time     Throughput

bytes  bytes   bytes    secs.    10^6bits/sec

 

87380  16384  16384    60.00      59.33

root:/bin> netperf -H 10.100.4.174 -t TCP_RR -l 60

TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174

(10.100.4.174) port 0T

Local /Remote

Socket Size   Request  Resp.   Elapsed  Trans.

Send   Recv   Size     Size    Time     Rate

bytes  Bytes  bytes    bytes   secs.    per sec

 

16384  87380  1        1       60.00    3536.00

16384  87380                                                                  

                     

 

--- Mingquan Pan                                             2009-01-14 22:48:41

It looks still has this problem on svn head kernel on Linux version

2.6.28-ADI-2009R1-pre-svn6015 (test@uclinux60-bf527-std) (gcc version 4.1.2 (ADI

svn)) on board: CPU:   ADSP bf527-0.0 (Detected Rev: 0.0).

 

And from the log with the set TX_DESC and RX_DESC value, it even can't rcp the

script over to the board while ping is through but have packets loss.

 

 

test@uclinux60-bf527-std:~/work/cruise/checkouts/uclinux-dist/testsuites/ethernet>

rcp netperf_script root@10.100.4.50:/

 

 

test@uclinux60-bf527-std:~/work/cruise/checkouts/uclinux-dist/testsuites/ethernet>

ping 10.100.4.50

PING 10.100.4.50 (10.100.4.50) 56(84) bytes of data.

64 bytes from 10.100.4.50: icmp_seq=2 ttl=64 time=0.201 ms

64 bytes from 10.100.4.50: icmp_seq=3 ttl=64 time=0.183 ms

64 bytes from 10.100.4.50: icmp_seq=7 ttl=64 time=0.197 ms

64 bytes from 10.100.4.50: icmp_seq=8 ttl=64 time=0.216 ms

64 bytes from 10.100.4.50: icmp_seq=9 ttl=64 time=0.199 ms

64 bytes from 10.100.4.50: icmp_seq=10 ttl=64 time=0.261 ms

64 bytes from 10.100.4.50: icmp_seq=11 ttl=64 time=0.192 ms

64 bytes from 10.100.4.50: icmp_seq=22 ttl=64 time=0.148 ms

64 bytes from 10.100.4.50: icmp_seq=24 ttl=64 time=0.135 ms

 

--- 10.100.4.50 ping statistics ---

26 packets transmitted, 9 received, 65% packet loss, time 25041ms

rtt min/avg/max/mdev = 0.135/0.192/0.261/0.036 ms

 

The kernel config file is attached.

 

 

--- Mingquan Pan                                             2009-01-16 02:32:16

It is now seen on bf537 stamp board too with Linux version

2.6.28-ADI-2009R1-pre-svn6019 (test@uclinux54-adv7393-ad1981-usb1362) (gcc

version 4.1.2 (ADI svn)).

 

sh-3.00$ sudo ./netserver_x86

Password:

Starting netserver at port 12865

sh-3.00$ ps aux| grep netserver_x86 | head -1

root     28179  0.0  0.0   1692   436 ?        Ss   14:13   0:00

./netserver_x86

sh-3.00$ cd /

root:/> chmod 777 netperf_script

root:/> ./netperf_script

root:/> sudo pkill netserver_x86

Password:

sh-3.00$ cat netperf_tcp_rr

TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174

(10.100.4.174) port 0 AF_INET

Local /Remote

Socket Size   Request  Resp.   Elapsed  Trans.

Send   Recv   Size     Size    Time     Rate

bytes  Bytes  bytes    bytes   secs.    per sec

 

16384  87380  1        1       600.00      0.00

16384  87380

root:/> cat netperf_tcp_stream

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174

(10.100.4.174) port 0 AF_INET

netperf: receive_response: no response received. errno 110 counter 0

root:/>

Case 1 ...FAIL

 

--- Mingquan Pan                                             2009-02-03 21:57:43

This is seen under the defauft clocks:

Processor Speed: 500 MHz core clock and 100 MHz System Clock^M.

 

If the clock is set at:

Processor Speed: 500 MHz core clock and 125 MHz System Clock

then the results is ok.

TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174

(10.100.4.174) port 0 AF_INET^M

Local /Remote^M

Socket Size   Request  Resp.   Elapsed  Trans.^M

Send   Recv   Size     Size    Time     Rate         ^M

bytes  Bytes  bytes    bytes   secs.    per sec   ^M

^M

16384  87380  1        1       600.00   4371.53   ^M

16384  87380 ^M

root:/> cat netperf_tcp_stream^M

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174

(10.100.4.174) port 0 AF_INET^M

Recv   Send    Send                          ^M

Socket Socket  Message  Elapsed              ^M

Size   Size    Size     Time     Throughput  ^M

bytes  bytes   bytes    secs.    10^6bits/sec  ^M

^M

87380  16384  16384    600.00     93.77   ^M

 

--- Sonic Zhang                                              2009-02-03 22:26:14

So, this bug occurs when sclk=100 and cclk=500, while disappears when sclk=125

cclk=500. And the TX and RX buffer sizes are not the default values. TX buffer

size is set to 100 and RX to 500. This could be a bug in bfin_mac driver.

 

--- Michael Hennerich                                        2009-02-04 03:59:41

Grace,

 

is it also only seen with "set buffer packets" as described in the

earlier bug description? Regardless of SCLK?

 

-Michael

 

 

--- Sonic Zhang                                              2009-02-04 04:23:31

The latest result shows it only occur in 100/500 with Tx=100 and Rx=500.

 

--- Sonic Zhang                                              2009-02-08 21:49:17

duplicated bug of 4836

 

--- Mingquan Pan                                             2009-02-10 23:05:05

Yeah, this issue goes awag now and can get better results, like :

Starting Kernel at = 1ad48c

Linux version 2.6.28.3-ADI-2009R1-pre-svn6083 (test@uclinux60-bf527-std) (gcc

version 4.1.2 (ADI svn)) #30 Tue Feb 10 19:06:46 CST 2009

console [early_BFuart0] enabled

early printk enabled on early_BFuart0

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x001229b0

  rodata    = 0x001229b0-0x0017e08c

  bss       = 0x0017e090-0x0018d07c

  data      = 0x0018d07c-0x001a0000

    stack   = 0x0019e000-0x001a0000

  init      = 0x001a0000-0x0077a000

  available = 0x0077a000-0x03eff000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 1

Blackfin support (C) 2004-2009 Analog Devices, Inc.

...

 

 

test@uclinux60-bf527-std:~/work/cruise/checkouts/uclinux-dist/testsuites/ethernet>

cat netperf_tcp_rr^M

TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174

(10.100.4.174) port 0 AF_INET^M

Local /Remote^M

Socket Size   Request  Resp.   Elapsed  Trans.^M

Send   Recv   Size     Size    Time     Rate         ^M

bytes  Bytes  bytes    bytes   secs.    per sec   ^M

^M

16384  87380  1        1       600.00   3674.37   ^M

16384  87380 ^M

root:/> cat netperf_tcp_stream^M

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.100.4.174

(10.100.4.174) port 0 AF_INET^M

netperf: receive_response: no response received. errno 110 counter 0^M

root:/>

Case 1 ...FAIL

 

Since the error when catting netperf_tcp_stream is tracked in bug [1433]. So

close this.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.ethernet_in_buffer    application/octet-stream    37667    Mingquan Pan

config.ethernet_in_buffer    application/octet-stream    38638    Mingquan Pan

Outcomes