netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@redhat.com>
To: hadi@cyberus.ca
Cc: manfred@colorfullife.com, jgarzik@pobox.com, zaitcev@redhat.com,
	jbourne@mtroyal.ab.ca, netdev@oss.sgi.com
Subject: Re: NAPI note
Date: Tue, 18 Feb 2003 19:18:41 -0800 (PST)	[thread overview]
Message-ID: <20030218.191841.132918432.davem@redhat.com> (raw)
In-Reply-To: <20030218212441.M25195@shell.cyberus.ca>

   From: jamal <hadi@cyberus.ca>
   Date: Tue, 18 Feb 2003 21:53:12 -0500 (EST)
   
   Theres other drivers which dont follow this rule and just shutdown
   all interupt sources. I know that the e1000 for example does this.
   I am not sure about the tg3. I think the doc says this but may not
   emphasize it as strongly.
   So if tg3 uses method 2 then its as Dave says - a bug.
   
Right, but I forgot that it's not a bug in the shared interrupt
case where we need to grab a lock to access the hardware and
fetch the interrupt status.

   Shared interupts should be interesting actually.
   However if you are in poll mode and you receive an interupt you should be
   able to quickly determine its not yours without much effect on shared
   locks, no?

As Jeff has responded already, often you do need locks to do this
sanely.

In tg3, it's really complicated even though the chip writes the
interrupt status to a piece of memory shared with the cpu.

Any time you want to enable/disable tg3 chip interrupts you must
flip and/or check a status bit in this piece of memory.  So it
really needs a lock.

I personally think Jeff is overly optimistic about lock removal in
the driver.  :-)  The last time I attempted to be clever here, we
ended up with all sorts of deadlocks in tg3.  It requires real brain
time and heavy testing to make any kinds of changes in this area.
I also don't want to accomplish this by splitting up into seperate
lines of development of tg3, that's nuts as it would split up our
testing and make both lines get less testing than a unified mainline
driver would (which is what we happily do now).

      parent reply	other threads:[~2003-02-19  3:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3E4D66DF.3040800@colorfullife.com>
2003-02-14 23:58 ` NAPI note (was Re: lockups with 2.4.20 (tg3? net/core/dev.c|deliver_to_old_ones)) Jeff Garzik
2003-02-18  2:57   ` NAPI note David S. Miller
2003-02-18 16:31     ` Manfred Spraul
2003-02-19  2:53       ` jamal
2003-02-19  3:14         ` Jeff Garzik
2003-02-19  3:18         ` David S. Miller [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=20030218.191841.132918432.davem@redhat.com \
    --to=davem@redhat.com \
    --cc=hadi@cyberus.ca \
    --cc=jbourne@mtroyal.ab.ca \
    --cc=jgarzik@pobox.com \
    --cc=manfred@colorfullife.com \
    --cc=netdev@oss.sgi.com \
    --cc=zaitcev@redhat.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).