[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] UDP packet reception triggers a hangup on the microblaze



Hi Bas,

Could you please use latest petalogix svn tree? I did some changes there.

https://developer.petalogix.com/pr/internal/petalinux/trunk/ (guest)

Look at this page and run netperf tools and send your results.
http://monstr.eu/wiki/doku.php?id=kernel:testing:net

And please your both testing app I can test it.

Thanks,
Michal



Bas van Tiel wrote:
> Hello All,
> 
> when I transmit a continously stream of UDP packets to the microblaze
> a hangup is triggered,  I have the following configuration:
> 
> - petalinux-v0.30-rc1 software
> - xemac linux driver in PIO mode
> - xemac IP block which is connected via a PLB <-> OPB bridge to the
> ublaze. (the xemac is configured with "No DMA" and IPIF
> (recieve/transmit buffers) are set to 32768 bytes and FIFO depth of
> 16.)
> - EDK 9.2.02. with the patch (AR30051) from Xilinx for the microblaze v7.00.b.
> - 2 uarts, one for kernel console, other one for  shell access.
> - ML506 Evalutation platform
> 
> I tried to capture the packets via AF_PACKET and AF_INET, both methods
> gave the same result -> a kind of hangup of the microblaze:
> 
> symptoms:
> 1) no serial input is taken from both terminals
> 2) a ping to the microblaze doesn't send a reply packet back.
> 
> Has anybody seen this behavior before with the xemac connected via the
> OPB (PLB<->OPB) to the PLB bus, or is this setup with a bridge in
> between
> asking for trouble and should I look for an alternative?
> 
> 
> Best regards,
> Bas
> 
> --- some additional info
> 
> 
> Linux tmb 2.6.20-uc0 #1 Tue Nov 25 14:27:21 CET 2008 microblaze
> 
> CPU-Family:     MicroBlaze
> FPGA-Arch:      virtex5
> CPU-Ver:        Unknown
> CPU-MHz:        125.00
> BogoMips:       62.05
> HW-Div:         yes
> HW-Shift:       yes
> Icache:        8kB
> Dcache:        8kB
> HW-Debug:       yes
> 
>   PID PORT STAT SIZE SHARED %CPU COMMAND
> 1      S    135K     0K  0.0 /bin/init
> 2      R      0K     0K  0.0 ksoftirqd/0
> 3      S      0K     0K  0.0 events/0
> 4      S      0K     0K  0.0 khelper
> 5      S      0K     0K  0.0 kthread
> 6      S      0K     0K  0.0 kblockd/0
> 7      S      0K     0K  0.0 pdflush
> 8      S      0K     0K  0.0 pdflush
> 9      S      0K     0K  0.0 kswapd0
> 10      S      0K     0K  0.0 aio/0
> 11      S      0K     0K  0.0 mtdblockd
> 24      S      0K     0K  0.0 jffs2_gcd_mtd4
> 40   S0 S    656K     0K  0.0 /bin/sh
> 41   S0 S    643K     0K  0.0 /bin/sh --
> 42      S     67K     0K  0.0 /bin/inetd
> 55   S0 R     68K     0K  0.0 ps
> 
> pseudo code:
> 
> ethernet mac is running at 100 BaseTX-FD
> 
> sender:  (host PC)
>     sd_ = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
>     sendto(sd_, buf, BUFLEN, 0, (struct sockaddr*)&sa_, (socklen_t)sizeof(sa_));
> 
> receiver (Microblaze)
>  sd_ = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
>  bind(sd_, (struct sockaddr*)&sa, sizeof(sa))
>   if (!select(sd_+1, &rfds, 0, 0, &timeout)) { break; }
>  size = recv(sd_, buf, BUFLEN, 0);
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
> 
> 
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/