Hello All, I am clear all that the softirq is a software interrupt : Whenever a system call is about to return to the user space or h/w interrupt exit,ant s/w interrupt which are marked pending are run. Now in networking code i found open_softirq(NET_TX_SOFTIRQ, net_tx_action, NULL); What does this do? Thanks
Hi, This is simply a registration of the software interrupt TX method (net_tx_action). The net_tx_action() is invoked in general when transmission was finished: look in : http://lxr.free-electrons.com/source/net/core/dev.c void dev_kfree_skb_irq(struct sk_buff *skb) ... raise_softirq_irqoff(NET_TX_SOFTIRQ); ... whereas the dev_kfree_skb_irq() is called from the driver TX path for freeing the skb. There are other case; look in __netif_reschedule(), and in dev_cpu_callback(), in net/core/dev.c regards, Rami Rosen http://ramirose.wix.com/ramirosen On Wed, Apr 10, 2013 at 3:18 PM, Robert Clove <cloverobert@gmail.com> wrote:
Hello All,
I am clear all that the softirq is a software interrupt : Whenever a system call is about to return to the user space or h/w interrupt exit,ant s/w interrupt which are marked pending are run.
Now in networking code i found
open_softirq(NET_TX_SOFTIRQ, net_tx_action, NULL);
What does this do?
Thanks
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
participants (2)
-
Rami Rosen -
Robert Clove