Re: [patch] softirq performance fixes, cleanups, 2.4.10.

Mike Kravetz (kravetz@us.ibm.com)
Wed, 26 Sep 2001 10:48:00 -0700


On Wed, Sep 26, 2001 at 06:44:03PM +0200, Ingo Molnar wrote:
> +void __unwakeup_process(struct task_struct * p, long state)
> +{
> + unsigned long flags;
> +
> + spin_lock_irqsave(&runqueue_lock, flags);
> + if (!p->has_cpu && (p != current) && task_on_runqueue(p)) {
> + del_from_runqueue(p);
> + p->state = state;
> + }
> + spin_unlock_irqrestore(&runqueue_lock, flags);
> +}

Is it really possible for a task to be 'current' without having
'has_cpu' set? If so, then don't you need to compare p to
'current' on all CPUs since 'current' is CPU specific?

-- 
Mike Kravetz                                  kravetz@us.ibm.com
IBM Linux Technology Center       (we're not at Sequent anymore)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/