Re: voluntary-preempt-2.6.8.1-P1 seems to lose UDP messages.
From: P.O. Gaillard
Date: Thu Aug 19 2004 - 02:27:41 EST
P.O. Gaillard wrote:
> Hello,
>
> I have a real-time application that transmits 20 MBytes/s over
> UDP/Gigabit Ethernet between 2 PCs. The NICs are from Intel and use the
> e1000 driver (MTU=1500). On the receive side, the computer has to
> process the data (real-time tasks doing signal processing work and using
> up 50% of the CPU time).
>
> This app works OK with 2.6.7 and 2.6.8.1 : the app does not complain
> about lost messages.
Thanks to the support of Pádraig Brady, I have found out that the
voluntary-preempt patch is "innocent".
In fact, it seems that the patch changes the scheduling of the application and
reveals that the UDP reception buffer is too small for this application.
So I changed /proc/sys/net/core/rmem_default to 200KBytes as instructed and the
problem disappeared.
It seems a bit counter-intuitive since the application has real-time threads
that are supposed to receive and timestamp all incoming messages as soon as they
arrive. I would therefore have expected the voluntary-preempt patch to improve
the reactivity of these tasks.
Anyway, it seems safe to say that the losses of UDP messages were not caused by
a bug in the voluntary-preempt patch. This is good news since it means that I
can use this patch.
Note: after running the program for the whole night the problem seemed to come
back after 2 hours or so. I will try with eth0/threaded=0 as Lee Revell suggested.
thanks a lot for your help,
P.O. Gaillard
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/