[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <026801c7083f$cc80e670$0732700a@djlaptop>
Date: Tue, 14 Nov 2006 17:54:10 -0500
From: "Richard B. Johnson" <jmodem@...minableFirebug.com>
To: <eli@....mellanox.co.il>, <linux-kernel@...r.kernel.org>,
<linux-net@...r.kernel.org>
Subject: Re: UDP packets loss
----- Original Message -----
From: <eli@....mellanox.co.il>
To: <linux-kernel@...r.kernel.org>; <linux-net@...r.kernel.org>
Sent: Tuesday, November 14, 2006 5:15 PM
Subject: UDP packets loss
> Hi,
> I am running a client/server test app over IPOIB in which the client sends
> a certain amount of data to the server. When the transmittion ends, the
> server prints the bandwidth and how much data it received. I can see that
> the server reports it received about 60% that the client sent. However,
> when I look at the server's interface counters before and after the
> transmittion, I see that it actually received all the data that the client
> sent. This leads me to suspect that the networking layer somehow dropped
> some of the data. One thing to not - the CPU is 100% busy at the receiver.
> Could this be the reason (the machine I am using is 2 dual cores - 4
> CPUs).
>
> The secod question is how do I make the interrupts be srviced by all CPUs?
> I tried through the procfs as described by IRQ-affinity.txt but I can set
> the mask to 0F bu then I read back and see it is indeed 0f but after a few
> seconds I see it back to 02 (which means only CPU1).
>
> One more thing - the device I am using is capable of generating MSIX
> interrupts.
>
> Thanks from advance
> Eli
>
> -
Yes. The packet counters tell that the data was received by the interface.
However, the interface may be faster than the application that ultimately
receives the data so that the kernel eventually runs out of buffers used to
store the temporary data. When this happens, the kernel just drops them.
Since UDP is not "reliable", it can't ask the sender to send them again when
it has resources available. If you need all the data, use a TCP/IP stream
protocol, in other words, a connection. That way, you will get all the data,
even if you are writing it to a slow disk.
Cheers,
Dick Johnson
Penguin : Linux version 2.6.16.24 (somewhere). IT removed email for
engineers!
New Book: http://www.AbominableFirebug.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists