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

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



Hi Michal,

I have attached the outcome of netperf. I'm still going to make the results for

with ublaze v7.00.b (tactical patch)
- OPB EMAC (with DMA)
- PLB EMACLITE

with the latest version of Xilinx
- PLB EMACLITE
- PLB ttmac

svn revision petalinux r4909
EDK92i (service pack 2 + tactical patch for ublaze v7.00.b)
Design is using OPB emac (programmed IO) connected to the PLB bus
ML506 board


10.0.0.3; count=10
Linux tmb 2.6.20-uc0 #26 Mon Dec 1 09:00:09 CET 2008 microblaze
CPU-Family:     MicroBlaze
FPGA-Arch:      virtex5
CPU-Ver:        7.00.b
CPU-MHz:        125.00
BogoMips:       62.05
HW-Div:         yes
HW-Shift:       yes
Icache:        8kB
Dcache:        8kB
HW-Debug:       yes
CPU0
0:     339552     level OPB-INTC  timer
1:     807075     level OPB-INTC  eth0
2:          3      edge OPB-INTC  uartlite
3:       2826      edge OPB-INTC  uartlite
MemTotal:       257416 kB
MemFree:        247564 kB
Buffers:           612 kB

|TCP_STREAM| 7596 7496 7703 7945 7133 7344 7377 7330 7534 7810
            |Average  |7526|
|UDP_STREAM| 18043 17973 18009 17991 18009 17973 17973 17973 17991
17973|Average |17990|
|TCP_MAERTS| 8751 8720 8720 8751 8608 8720 8751 8738 8694 8751
            |Average  |8720|
|TCP_RR|     1113 1101 1101 1100 1109 1115 1113 1106 1098 1106
                 |Average  |1106|
|TCP_CRR|    259 257 258 259 259 258 258 258 259 259
                           |Average   |258|
|UDP_RR|     1396 1397 1396 1397 1397 1396 1397 1396 1396 1397
                 |Average  |1396|

eth0      Link encap:Ethernet  HWaddr 00:0A:35:01:C8:D4
inet addr:10.0.0.10  Bcast:10.255.255.255  Mask:255.0.0.0
UP BROADCAST RUNNING  MTU:1500  Metric:1
RX packets:826897 errors:0 dropped:0 overruns:0 frame:0
TX packets:1122734 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
Interrupt:1

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

PID PORT STAT SIZE SHARED %CPU COMMAND
1      S    136K     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
36      S    654K     0K  0.0 /bin/sh
37      S    643K     0K  0.0 /bin/sh --
38      S     67K     0K  0.0 /bin/inetd /etc/inetd.conf
1784      R     68K     0K  0.0 ps


greetings
Bas


On Fri, Nov 28, 2008 at 11:21 AM, Bas van Tiel <bvantiel@xxxxxxxxx> wrote:
> Hi Michal,
>
> indeed it's building now and the flashing/booting is OK. I will try
> out some different hardware configurations and
> will sent the network performance results on short notice. I will
> revert the "disable_irq" in entry.S to see if I get the "hang-up"
> problem
> back to understand for myself why it's needed. I can imagine when
> stressing the system (generating more interrupts) you could trigger it
> the problem earlier (ret_from_intr).  Thanx for the help...
>
> greetings
> Bas
>
> On Thu, Nov 27, 2008 at 11:17 PM, Michal Simek <monstr@xxxxxxxxx> wrote:
>> Hi Bas,
>>
>> that's new feature which we added some days ago for uart16550 support.
>> Just go to your hw design and use latest BSP - and generate libraries.
>> Everything should be fine.
>>
>> And of course you can use U-Boot from my site too.
>>
>> Both version works well. I use both of them.
>>
>> Regards,
>> Michal
>>
>> Bas van Tiel wrote:
>>> Hi Michal,
>>>
>>> thanx, it's getting through the build process. The next stop is at
>>> u-boot somehow I don't have the define CONFIG_STDINOUT_BASEADDR. Can I
>>> follow
>>> your procedure (http://www.monstr.eu/wiki/doku.php?id=uboot:uboot) to
>>> make a good bootloader or should the one from the petalinux work fine?
>>>
>>> greetings
>>> Bas
>>>
>>> On Thu, Nov 27, 2008 at 2:13 PM, Michal Simek <Monstr@xxxxxxxxx> wrote:
>>>> Hi Bas,
>>>>
>>>> Disable uClibc, uclibc is in toolchain
>>>>
>>>> Regards,
>>>> Michal
>>>>
>>>>> ----------------------------------------
>>>>> The problem I'm getting by building the latest svn tree   (r4917,
>>>>> clean checkout) is a compilation error in one of the files in ucLibc
>>>>> The error reproduces by selecting the Xilinx and ML506, uClibc
>>>>> together with the default config files. (that why the cpu version is
>>>>> 6.00.b)
>>>>>
>>>>> Is there any easy way to solve this?
>>>>>
>>>>> greetings
>>>>> Bas
>>>>>
>>>>>  microblaze-uclinux-gcc  -Wall -Wstrict-prototypes -Wno-trigraphs
>>>>> -fno-strict-aliasing  -Os -funit-at-a-time  -mno-xl-soft-mul
>>>>> -mno-xl-soft-div -mxl-barrel-shift -mcpu=v6.00.b -O2 -g
>>>>> -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall
>>>>> -mno-xl-soft-mul -mno-xl-soft-div -mxl-barrel-shift -mcpu=v6.00.b
>>>>> -DEMBED    -fno-builtin -nostdinc -D_LIBC -I../../include -I. -isystem
>>>>> /home/bas.van.tiel/petalinux-svn/tools/linux-i386/microblaze-uclinux-tools/bin/../lib/gcc/microblaze-uclinux/3.4.1/include
>>>>> -DNDEBUG -c ether_addr.c -o ether_addr.o
>>>>> In file included from ../../include/linux/posix_types.h:47,
>>>>>                  from ../../include/linux/types.h:14,
>>>>>                  from ../../include/linux/if_ether.h:24,
>>>>>                  from ../../include/netinet/if_ether.h:26,
>>>>>                  from ../../include/netinet/ether.h:26,
>>>>>                  from ether_addr.c:32:
>>>>> ../../include/asm/posix_types.h:18: error: redefinition of typedef
>>>>> '__kernel_ino_t'
>>>>> ../../include/bits/kernel_types.h:20: error: previous declaration of
>>>>> '__kernel_ino_t' was here
>>>>> ../../include/asm/posix_types.h:19: error: redefinition of typedef
>>>>> '__kernel_mode_t'
>>>>> ../../include/bits/kernel_types.h:22: error: previous declaration of
>>>>> '__kernel_mode_t' was here
>>>>> ../../include/asm/posix_types.h:20: error: redefinition of typedef
>>>>> '__kernel_nlink_t'
>>>>> ../../include/bits/kernel_types.h:23: error: previous declaration of
>>>>> '__kernel_nlink_t' was here
>>>>> ../../include/asm/posix_types.h:21: error: redefinition of typedef
>>>>> '__kernel_off_t'
>>>>> ../../include/bits/kernel_types.h:24: error: previous declaration of
>>>>> '__kernel_off_t' was here
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Nov 26, 2008 at 5:01 PM, Michal Simek <monstr@xxxxxxxxx> wrote:
>>>>>> Hi Bas,
>>>>>>
>>>>>> I look at your app.
>>>>>> 1. you should use user-apps folder for microblaze apps and changed prepare
>>>>>> Makefile. I believe that is not so hard to change it. (petalinux-new-app)
>>>>>> 2. I am missing any readme how to run it. Please add it to that folder and
>>>>> pack
>>>>>> and resend.
>>>>>>
>>>>>> Thanks,
>>>>>> Michal
>>>>>>
>>>>>>
>>>>>>> OK,
>>>>>>>
>>>>>>> I will try tomorrow with the latest changes from svn.
>>>>>>>
>>>>>>> the test program is also attached....
>>>>>>>
>>>>>>> thx, for the quick responses..
>>>>>>>
>>>>>>> Bas
>>>>>>>
>>>>>>> On Wed, Nov 26, 2008 at 10:21 AM, Michal Simek <monstr@xxxxxxxxx> wrote:
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> this changes is in latest entry.S too.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Michal
>>>>>>>>
>>>>>>>>
>>>>>>>>>  Hi,
>>>>>>>>> We used to have the same problem, although we don't use xemac. Without
>>>>>>>>> going into possibly misleading details, we noticed a one-line difference
>>>>>>>>> between our entry.S and the one in the Petalogix tree. After making the
>>>>>>>>> change we've been able to run a simple script that continuously sends
>>>>>>>>> packets to the board for several days without crashing. Running the same
>>>>>>>>> script before the change, the system would freeze in seconds. I hope
>>>>>>>>> this helps, here's an attachment just in case.
>>>>>>>>>
>>>>>>>>> Location -
>>>>>>>>> petalinux/software/linux-2.6.x-petalogix/arch/microblaze/kernel/entry.S
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Bas van Tiel <bvantiel@xxxxxxxxx>
>>>>>>>>> To: microblaze-uclinux@xxxxxxxxxxxxxx
>>>>>>>>> Sent: Tue, 25 Nov 2008 15:10
>>>>>>>>> Subject: [microblaze-uclinux] UDP packet reception triggers a hangup on
>>>>>>>>> the microblaze
>>>>>>>>>
>>>>>>>>> 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
>>>>> <mailto:microblaze-uclinux@xxxxxxxxxxxxxx>
>>>>>>>>> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
>>>>> <http://www.itee.uq.edu.au/%7Ejwilliams/mblaze-uclinux>
>>>>>>>>> Mailing List Archive :
>>>>> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
>>>>> <http://www.itee.uq.edu.au/%7Elistarch/microblaze-uclinux/>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------
>>>>>>>>> *AOL Email goes Mobile!* You can now read your AOL Emails whilst on the
>>>>>>>>> move. Sign up <http://info.aol.co.uk/email1> for a free AOL Email
>>>>>>>>> account with unlimited storage today.
>>>>>>>> ___________________________
>>>>>>>> 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/
>>>>>>
>>>>> ___________________________
>>>>> 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/
>>>>
>>>>
>>> ___________________________
>>> 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/
>>
>>
>
___________________________
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/