netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Chapman <jchapman@katalix.com>
To: hadi@cyberus.ca
Cc: Mandeep Singh Baines <mandeep.baines@gmail.com>,
	Daniele Venzano <venza@brownhat.org>,
	davem@davemloft.net, rick.jones2@hp.com, msb@google.com,
	netdev@vger.kernel.org, grundler@google.com,
	robert.olsson@its.uu.se, jeff@garzik.org, nhorman@tuxdriver.com
Subject: Re: [PATCH] [sis900] convert to NAPI, WAS Re: pktgen terminating condition
Date: Wed, 05 Sep 2007 14:55:17 +0100	[thread overview]
Message-ID: <46DEB545.3030509@katalix.com> (raw)
In-Reply-To: <1188995619.4238.5.camel@localhost>

jamal wrote:
> On Wed, 2007-05-09 at 13:03 +0100, James Chapman wrote:
> 
>> I have a patch that solves the high interrupt rate problem by keeping 
>> the driver in polled mode longer. It's written for the latest NAPI 
>> version that DaveM posted recently. I'll try to get some time to write 
>> it up and post it for comment.
> 
> Theres interesting challenges to be tackled with resolving that. 
> Just so you dont reinvent the wheel or to help invent a better one;
> please read:
> http://kernel.org/pub/linux/kernel/people/hadi/docs/UKUUG2005.pdf
> 
> if you have, what are the differences in your approach - and when
> do you find it useful?

Thanks Jamal. Yes, I'd already read your paper. I think my idea is 
different to the ideas described in your paper and I'm in the process of 
writing it up as an RFC to post to netdev. Briefly though, the driver's 
->poll() holds off doing netif_rx_complete() for 1-2 jiffies and keeps 
itself in poll_on mode for that time, consuming no quota. The net_rx 
softirq processing loop is modified to detect the case when the only 
devices in its poll list are doing no work (consuming no quota). The 
driver's ->poll() samples jiffies while it is considering when to do the 
netif_rx_complete() like your Parked state - no timers are used.

If I missed that this approach has already been tried before and 
rejected, please let me know. I see better throughput and latency in my 
packet forwarding and LAN setups using it.

-- 
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development


  reply	other threads:[~2007-09-05 13:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-01 10:47 pktgen terminating condition Daniele Venzano
2007-09-04  3:20 ` [PATCH] [sis900] convert to NAPI, WAS " Mandeep Singh Baines
2007-09-04 13:03   ` jamal
2007-09-04 17:21     ` Mandeep Baines
2007-09-04 16:56   ` Daniele Venzano
2007-09-04 17:24     ` Mandeep Baines
2007-09-05  7:44     ` Mandeep Singh Baines
2007-09-05 12:03       ` James Chapman
2007-09-05 12:33         ` jamal
2007-09-05 13:55           ` James Chapman [this message]
2007-09-05 14:21             ` jamal
2007-09-06  5:06               ` Mandeep Singh Baines
2007-09-06 13:22                 ` jamal

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=46DEB545.3030509@katalix.com \
    --to=jchapman@katalix.com \
    --cc=davem@davemloft.net \
    --cc=grundler@google.com \
    --cc=hadi@cyberus.ca \
    --cc=jeff@garzik.org \
    --cc=mandeep.baines@gmail.com \
    --cc=msb@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@tuxdriver.com \
    --cc=rick.jones2@hp.com \
    --cc=robert.olsson@its.uu.se \
    --cc=venza@brownhat.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).