lkml.org 
[lkml]   [2008]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: motive for sending Ethernet packets in soft-irq context
From
From: Parav Pandit <paravpandit@yahoo.com>
Date: Fri, 2 May 2008 02:16:07 -0700 (PDT)

[ Your question belongs on netdev, that's where the kernel
networking developers hang out, CC:'d ]

> What I understand is,
> It is not done into the process context of send() system call beacause,

Where did you obtain this understanding? It's not accurate :-)

It is actually done in the send() system call thread of execution most
of the time. soft-irqs are simply disabled during the
->hard_start_xmit() driver call so that input packet processing cannot
execute on the local cpu while this happens.

However, many packets are sent in response to received
packets. In this case, since receive packets are
processed in soft-irq context, the response will be
sent in such a context too.

This applies for TCP data queued up waiting for the congestion
window or TCP window to open up. When an ACK arrives which
satisfies the necessary conditions, queued up socket
data packets are send, again in soft-irq context.

So whether we send to the network card in soft-irq context
or not is entirely situation dependent.


\
 
 \ /
  Last update: 2008-05-02 13:25    [W:0.206 / U:0.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site