[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] Heavy packet load and the sigaction..
- To: microblaze-uclinux@xxxxxxxxxxxxxx
- Subject: [microblaze-uclinux] Heavy packet load and the sigaction..
- From: Prasad <ndprasad@xxxxxxxxx>
- Date: Wed, 15 Nov 2006 18:02:36 -0800
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=NEzsiy75CIkuJ2gY2l4vbF5Tmn0tP6NbS/pQRnpPjZqJjQbmbbRSU2cF44sYwDTb/NLQWJapAWMV0wb6vd5yUrTwL8abY1+HbS34pYkzt5wLRCiaAL5X+ee09+1lBVznLe/jOWKnma3g+mRovEdcQFaBuCDzcxVi88faIy6zDnY=
- Reply-to: microblaze-uclinux@xxxxxxxxxxxxxx
- Sender: owner-microblaze-uclinux@xxxxxxxxxxxxxx
I found signal related issue under lots of ethernet packet (typically
in the order of 400 packets or more). I found that timer interrupt is
not scheduled properly under heavy loads. So hooked up timer_irq,
ethernet_irq, uart_irq to the logic-analyzer and figured out it is
getting delayed processing for some strange reason.
It turns out to be related with the sigaction routines. To prove that
i wrote a test send and receive routine that worked fine normally
(under heavy packet load). As soon as i add a sigaction to call a
function every one sec, i see interrupt to the microblaze getting
blocked (in the order of 1 or two msecs or even more) sometimes. I
could see the timer interrupt getting delayed. I see that my test
process runs during that time and the interrupt is disabled when it
runs (which can never happen).
As soon as disable the sigaction, everything comes back to normal.
Just wondering which can disable the interrupt but allow the process
to get scheduled. Seems very strange. I am continuing my debugging on
this and will post as soon as i get something new.
Meanwhile, any pointers regarding this is appreciated.
microblaze-uclinux mailing list
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/