All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
To: Joshua Stewart <joshua.stewart@comcast.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: From __cpu_raise_softirq() to net_rx_action()
Date: Sun, 22 Dec 2002 19:36:53 -0200	[thread overview]
Message-ID: <20021222213652.GD4942@conectiva.com.br> (raw)
In-Reply-To: <1040591503.11608.6.camel@localhost.localdomain>

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

      parent reply	other threads:[~2002-12-22 21:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021222213652.GD4942@conectiva.com.br \
    --to=acme@conectiva.com.br \
    --cc=joshua.stewart@comcast.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.