netdev
[Top] [All Lists]

Re: route cache DoS testing and softirqs

To: Dipankar Sarma <dipankar@xxxxxxxxxx>
Subject: Re: route cache DoS testing and softirqs
From: Andrea Arcangeli <andrea@xxxxxxx>
Date: Wed, 31 Mar 2004 23:31:09 +0200
Cc: "David S. Miller" <davem@xxxxxxxxxx>, kuznet@xxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx, Robert.Olsson@xxxxxxxxxxx, paulmck@xxxxxxxxxx, akpm@xxxxxxxx
In-reply-to: <20040331204611.GC4543@xxxxxxxxxx>
References: <20040329222926.GF3808@xxxxxxxxxxxxxxxxx> <200403302005.AAA00466@xxxxxxxxxxxxxxx> <20040330211450.GI3808@xxxxxxxxxxxxxxxxx> <20040330133000.098761e2.davem@xxxxxxxxxx> <20040330213742.GL3808@xxxxxxxxxxxxxxxxx> <20040330142210.080dbe38.davem@xxxxxxxxxx> <20040330224902.GM3808@xxxxxxxxxxxxxxxxx> <20040331204611.GC4543@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.4.1i
On Thu, Apr 01, 2004 at 02:16:11AM +0530, Dipankar Sarma wrote:
> I don't do any of this. I just have a separate quiescent state counter
> for softirq RCU. It is incremented for regular quiescent points
> like cswitch, userland, idle loop as well as at the completion
> of each softirq handler. call_rcu_bh() uses its own queues.
> Everything else works like call_rcu().

the point is that you want this counter to increase in every cpu quick,
that's why I was thinking at posting the tasklet, if the counter doesn't
increase from softirq, you fallback in the grace period length of the
non-bh rcu.

maybe the softirq load is so high in all cpus that just the additional
counter will fix it w/o having to post any additional tasklet (I very
much hope so but especially with irq binding I don't see it happening,
however with irq binding you may have a call_rcu_bh_cpuset).  You should
give it a try and see if it just works.

<Prev in Thread] Current Thread [Next in Thread>