[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: [rtl] Problems with Epic100 NIC



On Mon, 20 Dec 1999, Aleksandar Bakic wrote:

> it from starting dropping packets. However, I could not find good
> values of the period and demand; when trying some relatively extreme
> values (e.g., period under 10 ms, or demand/period ratio above 40%),
> the Linux kernel output various errors, such as "Aiee, scheduling in
> interrupt" (even though I used cli(), save_flags() and restore_flags()
> within rt_schedule(), in addition to the already present r_*()
> counterparts), "kfree of non-malloced data", etc.

This probably means some corruption of the kernel data structures. May be
stack overflow, may be you are calling the network driver from RT context
(during the time when IRQs are soft disabled)? Remember that network ISR
ends up in delivering the packet to the kernel, and does skb_alloc
(kmalloc) which is not RT safe. If you send a packet, the ethernet driver
does kfree in the end.

What code is sending the packets and how are they received (I mean user
space application, or some kernel code?)

I guess you should somehow allow network interrupt to be serviced while
your RT task is running. How much time is your RT task taking?

--
Tomek


--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail majordomo@rtlinux.cs.nmt.edu OR
echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.cs.nmt.edu
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/