[#4891] netperf_tcp_stream have no response received on bf548 ezkit with default setting

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

[#4891] netperf_tcp_stream have no response received on bf548 ezkit with default setting

Submitted By: Mingquan Pan

Open Date

2009-02-11 22:35:30     Close Date

2009-04-15 04:31:50

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:

BF548     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Not reproducible

Uboot version or rev.:

    Toolchain version or rev.:

4.1 toolchain of Jan 16,2009

App binary format:

N/A     

Summary: netperf_tcp_stream have no response received on bf548 ezkit with default setting

Details:

 

netperf_tcp_stream have no response received on bf548 ezkit with default setting frequently now.

 

 

## Booting image at 02000000 ...

   Image Name:   Linux-2.6.28.3-ADI-2009R1-pre-sv

   Created:      2009-02-11   9:06:34 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    4926107 Bytes =  4.7 MB

   Load Address: 00001000

   Entry Point:  002575cc

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 2575cc

Linux version 2.6.28.3-ADI-2009R1-pre-svn6088 (test@uclinux61-bf548-std) (gcc version 4.1.2 (ADI svn)) #15 Wed Feb 11 09:06:15 GMT 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-0x00193460

  rodata    = 0x00193460-0x0021a2a0

  bss       = 0x0021a2a0-0x0022be0c

  data      = 0x0022be0c-0x00242000

    stack   = 0x00240000-0x00242000

  init      = 0x00242000-0x00944000

  available = 0x00944000-0x03dff000

  DMA Zone  = 0x03e00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 1

Reset caused by Software reset

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

Compiled for ADSP-BF548 Rev 0.1

Blackfin Linux support by   blackfin.uclinux.org/

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

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

Data Cache Enabled for CPU0 (write-through)

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

Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 ip=10.100.4.50:10.100.4.174:192.168.0.1:255.255.255.0:bf548-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: 53416k/65536k RAM, (7176k init code, 1609k kernel code, 699k data, 2048k dma, 584k reserved)

Calibrating delay loop... 1046.52 BogoMIPS (lpj=2093056)

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)

Blackfin L2 SRAM: 128 KB (128 KB free)

PDA for CPU0 reserved at 0021bb58

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin GPIO Controller

Blackfin DMA Controller

ezkit_init(): registering device resources

SCSI subsystem initialized

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 104

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bf54x-lq043: FrameBuffer initializing...

dma_alloc_init: dma_page @ 0x00d70000 - 512 pages at 0x03e00000

bfin-otp: initialized

Serial: Blackfin serial driver

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

brd: module loaded

smsc911x: Driver version 2007-07-13.

eth0: SMSC911x MAC Address: 00:e0:22:fe:b8:54

Driver 'sd' needs updating - please use bus_type methods

Driver 'sr' needs updating - please use bus_type methods

register bfin atapi driver

scsi0 : pata-bf54x

ata1: PATA max UDMA/66 irq 68

ata1.00: ATA-6: TOSHIBA MK4032GAX, AD101A, max UDMA/100

ata1.00: 78140160 sectors, multi 16: LBA48

ata1.00: configured for UDMA/66

blk_queue_max_hw_segments: set to minimum 1

scsi 0:0:0:0: Direct-Access     ATA      TOSHIBA MK4032GA AD10 PQ: 0 ANSI: 5

sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors: (40.0 GB/37.2 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors: (40.0 GB/37.2 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sda: sda1 sda2

sd 0:0:0:0: [sda] Attached SCSI disk

physmap platform flash device: 02000000 at 20000000

physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Using buffer write method

Using auto-unlock on power-up/resume

cfi_cmdset_0001: Erase suspend on write enabled

RedBoot partition parsing not available

Using physmap partition information

Creating 3 MTD partitions on "physmap-flash.0":

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

0x00040000-0x00440000 : "linux kernel(nor)"

0x00440000-0x01000000 : "file system(nor)"

BF5xx on-chip NAND FLash Controller Driver, Version 1.2 (c) 2007 Analog Devices, Inc.

bf5xx-nand bf5xx-nand.0: page_size=256, data_width=8, wr_dly=3, rd_dly=3

NAND device: Manufacturer ID: 0x20, Chip ID: 0xda (ST Micro NAND 256MiB 3,3V 8-bit)

Creating 2 MTD partitions on "NAND 256MiB 3,3V 8-bit":

0x00000000-0x00400000 : "linux kernel(nand)"

0x00400000-0x10000000 : "file system(nand)"

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@4

bfin-spi bfin-spi.1: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc02300, dma channel@5

input: bf54x-keys as /devices/platform/bf54x-keys/input/input0

bf54x-keys: Blackfin BF54x Keypad registered IRQ 76

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

i2c /dev entries driver

i2c-bfin-twi i2c-bfin-twi.0: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc00700

i2c-bfin-twi i2c-bfin-twi.1: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc02200

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

Advanced Linux Sound Architecture Driver Version 1.0.18rc3.

ASoC version 0.13.2

dma rx:0 tx:1, err irq:10, regs:ffc00800

AD1980 SoC Audio Codec

asoc: AC97 <-> bf5xx-ac97 mapping ok

ALSA device list:

  #0: bf5xx-board (AD1980)

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 2004-06-01 11:00:53 UTC (1086087653)

eth0: SMSC911x/921x identified at 0x24000000, IRQ: 175

eth0: link down

IP-Config: Gateway not on directly connected network.

Freeing unused kernel memory: 7176k freed

eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

                           _____________________________________

        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.2 (2009-02-11 07:50:14 GMT) 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:/>

************** STEP 4: Untar netperf.

 

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

root's password:

Starting netserver at port 12865

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

root     27812  0.0  0.0   1816   240 ?        Ss   09:07   0:00 ./netserver_x86

test@uclinux61-bf548-std:~/work/cruise/checkouts/uclinux-dist/testsuites/ethernet> cd /

root:/> chmod 777 netperf_script

root:/> ./netperf_script

root:/> sudo pkill netserver_x86

root's password:

test@uclinux61-bf548-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   4664.45

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 113 counter 0

root:/>

Case 1 ...FAIL

 

Case 1 ...FAIL

 

 

Follow-ups

 

--- Michael Hennerich                                        2009-02-12 12:12:37

The netperf TCP STREAM TEST works quite well –

I can’t recreate the issue on my side.

However I noticed that the recent DMA driver simplifications badly influences

TCP STREAM performance.

In other words the overhead is now more than what we gain.

I therefore removed those from the driver.

They may be still interesting for those who doesn’t want to have interrupts

disabled for an longer period of time.

 

-Michael

 

Test results with the dma_insX and dma_outsX functions:

 

root:/> netperf -H 10.44.2.88

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

(10.44.2.88) 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    10.00      68.56

root:/> netperf -H 10.44.2.88

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

(10.44.2.88) 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    10.00      70.33

 

root:/> netperf -H 10.44.2.88 -t TCP_RR

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

(10.44.2.88) 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       10.00    3933.03

16384  87380

root:/> netperf -H 10.44.2.88 -t TCP_RR

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

(10.44.2.88) 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       10.00    3980.41

16384  87380

root:/>

 

 

Test without the dma_insX and dma_outsX functions:

 

root:/> netperf -H 10.44.2.88 -t TCP_STREAM

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

(10.44.2.88) 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    10.00      90.63

root:/> netperf -H 10.44.2.88 -t TCP_STREAM

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

(10.44.2.88) 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    10.00      90.17

root:/> netperf -H 10.44.2.88 -t TCP_STREAM

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

(10.44.2.88) 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    10.00      90.30

root:/> netperf -H 10.44.2.88 -t TCP_RR

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

(10.44.2.88) 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       10.00    3989.30

16384  87380

root:/> netperf -H 10.44.2.88 -t TCP_RR

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

(10.44.2.88) 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       10.00    3994.10

16384  87380

root:/>

 

--- Mike Frysinger                                           2009-02-12 15:08:55

could you elaborate ?  i cant see how turning the dma funcs into inlines could

increase the overhead ...

 

--- Michael Hennerich                                        2009-02-12 15:45:25

>could you elaborate ?

 

This piece of code is not using the functions turned into inlines.

It uses the code dma_insX/out_insX now being a fraction of source code lines,

but having more overhead since they now unified with the dma_memcpy function

while having greater flexibility in terms of MDMA channel resource sharing.

 

Some time ago - I did benchmarks, to find the break even point where the

insX/outsX functions (NON DMA) break even with the always there 'dma oberhaead'

- it seams to be the case that the break even point moved behind that target.

 

But I have to admit I didn't do that much testing today.

Netperf TCP_STREAM is an artificial benchmark that doesn't necessarily reflect

typical use cases, in terms of packet sizes.

 

-Michael

 

--- Mike Frysinger                                           2009-02-12 15:59:36

ok, i follow now.  i'm not sure we want to back things out though as the unified

code base prevents conflicts whereas the older way did not ...

 

i thought i checked to make sure no external math operations were being called.

that might be worth looking at as well ...

 

--- Michael Hennerich                                        2009-04-15 04:31:49

close it.

-Michael

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

config.ethernet    application/octet-stream    38191    Mingquan Pan

Attachments

Outcomes