Forgot to mention that the receiver side is running OpenSolaris 2008.11, and the NIC uses the e1000g driver.
Thanks, Vish On Tue, Apr 20, 2010 at 10:24 AM, Vishal Ahuja <[email protected]> wrote: > Hi All, > > I have two machines connected back to back over a 1 Gbps link, and am doing > some file transfer experiments over UDP. The receiver is running a few cpu > bound processes. As expected, the receiver incurs losses because the CPU is > busy. My understanding was that these losses could occur at the following > three places: > > 1. UDP application's socket buffer. > 2. NIC's buffer. > 3. During protocol processing in the kernel. > > But in my experiments I see only losses due to the socket buffer overflow. > Could anyone please tell me the conditions under which the NIC's buffer > overflows, and when does the kernel drop packets. > > Since I saw losses only at the socket buffer, I thought that it could be > happening because the NIC interrupts must be issued at a higher priority, so > they would cause any user process to yield the CPU. To see if this was > correct, I thought of raising the priority of the UDP receiver application > using the priocntl command. I changed its class to Real time, and set its > priority to 59 (the maximum), but even then I was noticing losses only at > the socket buffer. Can someone please explain if a real time process with > high priority competes with the NIC interrupts, or will the NIC interrupts > still cause it to yield the CPU? > > Thank you, > Vish >
_______________________________________________ networking-discuss mailing list [email protected]
