* From __cpu_raise_softirq() to net_rx_action()
@ 2002-12-22 21:11 Joshua Stewart
2002-12-22 21:15 ` Randy.Dunlap
2002-12-22 21:36 ` Arnaldo Carvalho de Melo
0 siblings, 2 replies; 5+ messages in thread
From: Joshua Stewart @ 2002-12-22 21:11 UTC (permalink / raw)
To: linux-kernel
I'm still trying to follow a packet (or even better an sk_buff) from the
NIC card to user space. I think I have a good chunk of it figured out,
but I'm missing a bit from the time that the __netif_rx_schedule()
routine calls __cpu_raise_softirq() until the routine net_rx_action()
occurs. I read in a book on Linux TCP/IP implementation that the
softirq basically leads to a call to net_rx_action(), but I don't see
the connection yet. It's probably due to my lack of understanding of
IRQ's (and software IRQ's).
Any help is appreciated.
Thanks,
Josh
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: From __cpu_raise_softirq() to net_rx_action()
2002-12-22 21:11 From __cpu_raise_softirq() to net_rx_action() Joshua Stewart
@ 2002-12-22 21:15 ` Randy.Dunlap
2002-12-22 21:35 ` Joshua Stewart
2002-12-22 21:36 ` Arnaldo Carvalho de Melo
1 sibling, 1 reply; 5+ messages in thread
From: Randy.Dunlap @ 2002-12-22 21:15 UTC (permalink / raw)
To: Joshua Stewart; +Cc: linux-kernel
On Sun, 22 Dec 2002, Joshua Stewart wrote:
| I'm still trying to follow a packet (or even better an sk_buff) from the
| NIC card to user space. I think I have a good chunk of it figured out,
| but I'm missing a bit from the time that the __netif_rx_schedule()
| routine calls __cpu_raise_softirq() until the routine net_rx_action()
| occurs. I read in a book on Linux TCP/IP implementation that the
| softirq basically leads to a call to net_rx_action(), but I don't see
| the connection yet. It's probably due to my lack of understanding of
| IRQ's (and software IRQ's).
|
| Any help is appreciated.
What are you going to do with this good info when you have it?
Something like putting it on a web page would be very good, so that
other people with similar questions can have a reference to look at.
--
~Randy
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: From __cpu_raise_softirq() to net_rx_action()
2002-12-22 21:15 ` Randy.Dunlap
@ 2002-12-22 21:35 ` Joshua Stewart
2002-12-22 21:31 ` Randy.Dunlap
0 siblings, 1 reply; 5+ messages in thread
From: Joshua Stewart @ 2002-12-22 21:35 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: linux-kernel
After I understand it all, I will not be against putting together an
explanation of the whole process and posting it back to this mailing
list, or trying to find a Linux website that will host it. Is this type
of this suitable for the Linux Documentation Project website?
Josh
On Sun, 2002-12-22 at 16:15, Randy.Dunlap wrote:
> On Sun, 22 Dec 2002, Joshua Stewart wrote:
>
> | I'm still trying to follow a packet (or even better an sk_buff) from the
> | NIC card to user space. I think I have a good chunk of it figured out,
> | but I'm missing a bit from the time that the __netif_rx_schedule()
> | routine calls __cpu_raise_softirq() until the routine net_rx_action()
> | occurs. I read in a book on Linux TCP/IP implementation that the
> | softirq basically leads to a call to net_rx_action(), but I don't see
> | the connection yet. It's probably due to my lack of understanding of
> | IRQ's (and software IRQ's).
> |
> | Any help is appreciated.
>
> What are you going to do with this good info when you have it?
> Something like putting it on a web page would be very good, so that
> other people with similar questions can have a reference to look at.
>
> --
> ~Randy
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: From __cpu_raise_softirq() to net_rx_action()
2002-12-22 21:35 ` Joshua Stewart
@ 2002-12-22 21:31 ` Randy.Dunlap
0 siblings, 0 replies; 5+ messages in thread
From: Randy.Dunlap @ 2002-12-22 21:31 UTC (permalink / raw)
To: Joshua Stewart; +Cc: linux-kernel
On Sun, 22 Dec 2002, Joshua Stewart wrote:
| After I understand it all, I will not be against putting together an
| explanation of the whole process and posting it back to this mailing
| list, or trying to find a Linux website that will host it. Is this type
| of this suitable for the Linux Documentation Project website?
|
| Josh
Yes, it should be fine for LDP.
Thanks,
--
~Randy
| On Sun, 2002-12-22 at 16:15, Randy.Dunlap wrote:
| > On Sun, 22 Dec 2002, Joshua Stewart wrote:
| >
| > | I'm still trying to follow a packet (or even better an sk_buff) from the
| > | NIC card to user space. I think I have a good chunk of it figured out,
| > | but I'm missing a bit from the time that the __netif_rx_schedule()
| > | routine calls __cpu_raise_softirq() until the routine net_rx_action()
| > | occurs. I read in a book on Linux TCP/IP implementation that the
| > | softirq basically leads to a call to net_rx_action(), but I don't see
| > | the connection yet. It's probably due to my lack of understanding of
| > | IRQ's (and software IRQ's).
| > |
| > | Any help is appreciated.
| >
| > What are you going to do with this good info when you have it?
| > Something like putting it on a web page would be very good, so that
| > other people with similar questions can have a reference to look at.
| >
| > --
| > ~Randy
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: From __cpu_raise_softirq() to net_rx_action()
2002-12-22 21:11 From __cpu_raise_softirq() to net_rx_action() Joshua Stewart
2002-12-22 21:15 ` Randy.Dunlap
@ 2002-12-22 21:36 ` Arnaldo Carvalho de Melo
1 sibling, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2002-12-22 21:36 UTC (permalink / raw)
To: Joshua Stewart; +Cc: linux-kernel
Em Sun, Dec 22, 2002 at 04:11:37PM -0500, Joshua Stewart escreveu:
> I'm still trying to follow a packet (or even better an sk_buff) from the
> NIC card to user space. I think I have a good chunk of it figured out,
> but I'm missing a bit from the time that the __netif_rx_schedule()
> routine calls __cpu_raise_softirq() until the routine net_rx_action()
> occurs. I read in a book on Linux TCP/IP implementation that the
> softirq basically leads to a call to net_rx_action(), but I don't see
> the connection yet. It's probably due to my lack of understanding of
> IRQ's (and software IRQ's).
You need to read about softirqs, but here is a quick explanation: there are
several points where softirqs are serviced, like bottom halves were in the
past (softirqs are much nicer), one example:
do_IRQ -> irq_exit -> do_softirq -> net_rx_action
So basically search for places calling do_softirq, they look if there is
softirqs pending and call do_softirq that will call the appropriate _action
function registered at softirq creation (look at net/core/dev.c, function
net_dev_init, line 2875.
- Arnaldo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2002-12-22 21:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-22 21:11 From __cpu_raise_softirq() to net_rx_action() Joshua Stewart
2002-12-22 21:15 ` Randy.Dunlap
2002-12-22 21:35 ` Joshua Stewart
2002-12-22 21:31 ` Randy.Dunlap
2002-12-22 21:36 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.