netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Boris Protopopov <borisp@mc.com>
To: jamal <hadi@cyberus.ca>
Cc: Cheng Jin <chengjin@cs.caltech.edu>, netdev@oss.sgi.com
Subject: Re: Linux SMP on 2.4.18-3
Date: Tue, 29 Oct 2002 20:40:17 -0500	[thread overview]
Message-ID: <3DBF3881.6070208@mc.com> (raw)
In-Reply-To: Pine.GSO.4.30.0210280741020.9849-100000@shell.cyberus.ca

Jamal, could you give some pointers as to how "NAPIfy" a 2.4.18-3/e1000-4.3.15 
setup ? Boris.

jamal wrote:
> 
> The IP network stack in linux is totaly reentrant. You could have a
> packet on _each_ processor in SMP concurently executing the same code. If
> you add anything, you need to take this into account.
> In non-NAPI based NICs such as yours, you could have reordering within
> the system (this is described in the NAPI paper). Either get it NAPIfied
> or get yourself a NAPI capable NIC such as tg3 based, e1000, Dlink gige
> etc.
> 
> cheers,
> jamal
> 
> On Sun, 27 Oct 2002, Cheng Jin wrote:
> 
> 
>>Hi,
>>
>>Please excuse me for asking questions on a rather old kernel.  We decided
>>to do kernel modificatios against 2.4.18-3 so we can't back it out now.
>>
>>On the SMP test machine we have at the lab (Dual 2.4 Ghz Xeons with one
>>SysKonnect Gigabit Ethernet card, SuperMicro P4DP6 MB), I observed TCP
>>functions being called simultaneously by both processors.  What I did was
>>to simply increment a counter (init to zero) and check whether it is one
>>in the functions under suspicion.  Sure enough, I see a lot of messages
>>printed out saying it is two.  Admittedly, my counter var is not protected
>>either, but seeing it becoming 2 is proof enough that the functions are
>>entered simultaneously (yes I decrement the counter before functions
>>return).
>>
>>I looked at the code fairly extensively, and I didn't see any lock for
>>these functions, tcp_send_skb, tcp_push_one, update_send_head, where
>>packets_out gets incremented.  The problem I was having was that
>>tp->packets_out got out of sync with the number of unacked packets on the
>>sk->write_queue.
>>
>>I would like to confirm with people that are involved with kernel
>>developement that what I observed was indeed correct.
>>
>>Thanks,
>>
>>Cheng
>>
>>Lab # 626 395 8820
>>
>>
> 
> 
> 
> 
> 

  parent reply	other threads:[~2002-10-30  1:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-27  8:27 Linux SMP on 2.4.18-3 Cheng Jin
2002-10-28 12:47 ` jamal
2002-10-28 18:26   ` Cheng Jin
2002-10-30 19:03     ` Robert Olsson
2002-10-31  7:55       ` Network Device-Driver/Layer Implementation: Help required Harish Kulkarni
2002-10-31 16:35         ` James R. Leu
2002-11-04 13:10     ` Linux SMP on 2.4.18-3 jamal
2002-10-30  1:40   ` Boris Protopopov [this message]
2002-10-30  1:54     ` Jeff Garzik

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=3DBF3881.6070208@mc.com \
    --to=borisp@mc.com \
    --cc=chengjin@cs.caltech.edu \
    --cc=hadi@cyberus.ca \
    --cc=netdev@oss.sgi.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).