Messages in this thread |  | | Date | Wed, 26 Sep 2001 10:48:00 -0700 | From | Mike Kravetz <> | Subject | Re: [patch] softirq performance fixes, cleanups, 2.4.10. |
| |
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/
|  |