netdev
[Top] [All Lists]

Re: route cache DoS testing and softirqs

To: Srivatsa Vaddagiri <vatsa@xxxxxxxxxx>
Subject: Re: route cache DoS testing and softirqs
From: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Wed, 31 Mar 2004 12:36:25 +1000
Cc: Andrea Arcangeli <andrea@xxxxxxx>, Dipankar Sarma <dipankar@xxxxxxxxxx>, lkml - Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, netdev@xxxxxxxxxxx, Robert Olsson <Robert.Olsson@xxxxxxxxxxx>, "Paul E. McKenney" <paulmck@xxxxxxxxxx>, Dave Miller <davem@xxxxxxxxxx>, Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxx>, rusty@xxxxxxxxxxx
In-reply-to: <20040330050614.GA4669@in.ibm.com>
References: <20040329184550.GA4540@in.ibm.com> <20040329222926.GF3808@dualathlon.random> <20040330050614.GA4669@in.ibm.com>
Sender: netdev-bounce@xxxxxxxxxxx
On Tue, 2004-03-30 at 15:06, Srivatsa Vaddagiri wrote:
> On Tue, Mar 30, 2004 at 01:07:12AM +0000, Andrea Arcangeli wrote:
> > btw, the set_current_state(TASK_INTERRUPTIBLE) before
> > kthread_should_stop seems overkill w.r.t. smp locking, plus the code is
> > written in the wrong way around, all set_current_state are in the wrong
> > place. It's harmless but I cleaned up that bit as well.
> 
> I think set_current_state(TASK_INTERRUPTIBLE) before kthread_should_stop()
> _is_ required, otherwise kthread_stop can fail to destroy a kthread.

The problem is that kthread_stop used to send a signal to the kthread,
which meant we didn't have to beware of races (since it would never
sleep any more): kthread_should_stop() was called signal_pending 8)

Andrew hated the signal mechanism, so I abandoned it, but didn't go back
and fix all the users.  It's tempting to send a signal anyway to make
life simpler, though, although that might set a bad example for others.

Rusty.
-- 
Anyone who quotes me in their signature is an idiot -- Rusty Russell


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