netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Stephen Hemminger <shemminger@osdl.org>, netdev@oss.sgi.com
Subject: Re: [PATCH] Updated 8139too with NAPI
Date: Fri, 31 Oct 2003 02:12:41 +0900	[thread overview]
Message-ID: <873cdaabue.fsf@devron.myhome.or.jp> (raw)
In-Reply-To: <3FA01629.2080202@pobox.com>

Jeff Garzik <jgarzik@pobox.com> writes:

> I'd like to apply this to net-drivers-2.[45]-exp, but it doesn't apply
> cleanly.  Can you wait a bit, for my posting of those queues, and then
> resend?

Probably more tester/reviewer is always welcome, so I think it's good.


Stephen Hemminger <shemminger@osdl.org> writes:

> +	/* Receive packets are processed by poll routine.
> +	   If not running start it now. */
> +	if (status & RxAckBits){
> +		if (netif_rx_schedule_prep(dev)) {
> +			RTL_W16_F (IntrMask, rtl8139_norx_intr_mask);
> +			__netif_rx_schedule (dev);
>  		}

I think that this style is common issues of NIC drivers for "NAPI
support and intr-mask" handling. Looks like __netif_poll_disable()
also has the following problem.

For example,

	in ISR
		[...]
		if (status & RxAckBits){
			if (netif_rx_schedule_prep(dev)) {
				RTL_W16_F (IntrMask, rtl8139_norx_intr_mask);
				__netif_rx_schedule (dev);
			}
		}
		[...]

	in dev_close()
		[...]
		while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
			/* No hurry. */
			current->state = TASK_INTERRUPTIBLE;
			schedule_timeout(1);
		}
		  --------- (*)
		if (dev->stop)
			dev->stop(dev);
		[...]

If Rx interrupt happen on (*) point, ISR can't ack or disable.
Then it will start busy Rx interrupt loop. So if this happen, it's
seriously problem on UP system.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

  reply	other threads:[~2003-10-30 17:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3F9070B6.9090306@pobox.com>
2003-10-18 12:56 ` [Fwd: [RFT] NAPI for 8139too] OGAWA Hirofumi
2003-10-20 15:41   ` Stephen Hemminger
2003-10-20 20:11   ` [RFT] merged 8139too NAPI Stephen Hemminger
2003-10-21 13:35     ` OGAWA Hirofumi
2003-10-28 19:47       ` [PATCH] Updated 8139too with NAPI Stephen Hemminger
2003-10-29 19:34         ` Jeff Garzik
2003-10-30 17:12           ` OGAWA Hirofumi [this message]
     [not found]             ` <20031030104943.20b61af0.shemminger@osdl.org>
     [not found]               ` <87ekwu9tn4.fsf@devron.myhome.or.jp>
2003-11-11 22:31                 ` Stephen Hemminger
2003-11-12  0:20                   ` Jeff Garzik
2003-11-12 15:41                   ` OGAWA Hirofumi
2003-11-12 16:01                     ` 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=873cdaabue.fsf@devron.myhome.or.jp \
    --to=hirofumi@mail.parknet.co.jp \
    --cc=jgarzik@pobox.com \
    --cc=netdev@oss.sgi.com \
    --cc=shemminger@osdl.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 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).