netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luca Deri <deri@ntop.org>
To: Robert Olsson <Robert.Olsson@data.slu.se>
Cc: hadi@cyberus.ca, Jason Lunz <lunz@falooley.org>,
	netdev@oss.sgi.com, ntop-misc@fuji.unipi.it
Subject: Re: Luca Deri's paper: Improving Passive Packet Capture: Beyond	Device Polling
Date: Wed, 07 Apr 2004 09:03:11 +0200	[thread overview]
Message-ID: <4073A7AF.5060401@ntop.org> (raw)
In-Reply-To: <16498.52551.712261.214192@robur.slu.se>

Robert Olsson wrote:

>jamal writes:
>
> > I didnt follow that discussion; archived for later entertaining reading.
> > My take on it was it is 2.6.x related and in particular the misbehavior
> > observed has to do with use of rcu in the route cache.
> > 
> > > It appears this problem became worse in 2.6 with HZ=1000, because now
> > > the napi rx softirq work is being done 10X as much on return from the
> > > timer interrupt.  I'm not sure if a solution was reached.
> > 
> > Robert?
>
> Well it's a general problem controlling softirq/user and the RCU locking
> put this on our agenda as the dst hash was among the first applications 
> to use the RCU locking. Which in turn had problem doing progress in hard 
> softirq environment which happens during route cache DoS.
>
> NAPI is a part of RX_SOFTIRQ which is well-behaved. NAPI addresses only 
> irq/sofirq problem and is totally innocent for do_sofirq() run from other 
> parts of kernel causing userland starvation.
>
> Under normal hi-load conditions RX_SOFTIRQ schedules itself when the
> netdev_max_backlog is done. do_softirq sees this and defers execution
> to ksoftirqd and things get under (scheduler) control.
>
> During route DoS, code that does a lot do_softirq() is run for hash and 
> fib-lookup, GC etc. The effect is that ksoftirqd is more or less bypassed.
> Again it's a general problem... We are just the unlucky guys getting 
> into this.
>
> I don't know if packet capture tests done by Luca ran into this problems.
> A profile could have helped...
>  
>

Robert,
yes I run into this problems and I have solved using the RTIRQ kernel patch.

Cheers, Luca

> Cheers.
>						--ro 
>  
>


-- 
Luca Deri <deri@ntop.org>	http://luca.ntop.org/
Hacker: someone who loves to program and enjoys being
clever about it - Richard Stallman

  reply	other threads:[~2004-04-07  7:03 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-30 14:23 Luca Deri's paper: Improving Passive Packet Capture: Beyond Device Polling Yusuf Goolamabbas
2004-04-03 23:02 ` jamal
2004-04-05 16:03   ` Jason Lunz
2004-04-06 10:30     ` P
2004-04-06 12:25       ` Luca Deri
2004-04-06 16:01         ` Jason Lunz
2004-04-06 18:40           ` Ben Greear
     [not found]         ` <1081262228.1046.25.camel@jzny.localdomain>
2004-04-07  6:59           ` Luca Deri
2004-04-07 12:20             ` jamal
     [not found]         ` <E1BAt0s-0003V8-00@crown.reflexsecurity.com>
2004-04-07  7:11           ` Luca Deri
2004-04-06 14:18     ` jamal
2004-04-06 15:31       ` Robert Olsson
2004-04-07  7:03         ` Luca Deri [this message]
2004-04-07 15:11           ` [Ntop-misc] " Robert Olsson

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=4073A7AF.5060401@ntop.org \
    --to=deri@ntop.org \
    --cc=Robert.Olsson@data.slu.se \
    --cc=hadi@cyberus.ca \
    --cc=lunz@falooley.org \
    --cc=netdev@oss.sgi.com \
    --cc=ntop-misc@fuji.unipi.it \
    /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).