We finally found the problem. I want to thank the folks who
gave any thought and/or feedback to us, particularly Alexey
and David.
For what its worth we tracked it down to the kernel memory
allocation routines allocating the same buffer to two
different network requesters. This in turn was caused by a
basic flaw in the preemption code that preempted on
spin_unlock, REGARDLESS OF THE STATE OF THE INTERRUPT
SYSTEM.
--
George Anzinger george@xxxxxxxxxx
High-res-timers:
http://sourceforge.net/projects/high-res-timers/
Real time sched: http://sourceforge.net/projects/rtsched/
Preemption patch:
http://www.kernel.org/pub/linux/kernel/people/rml
|