Messages in this thread | | | Date | Fri, 22 Dec 2000 14:19:29 +0100 | From | Andrea Arcangeli <> | Subject | Re: Linux 2.2.19pre2 |
| |
On Fri, Dec 22, 2000 at 06:33:00PM +1100, Andrew Morton wrote: > add_waitqueue_exclusive() and TASK_EXCLUSIVE, add a
There's no add_waitqueue_exclusive in my patch.
> Except for this bit, which looks slightly fatal: > > /* > * We can drop the read-lock early if this > * is the only/last process. > */ > if (next == head) { > read_unlock(&waitqueue_lock); > wake_up_process(p); > goto out; > } > > Once the waitqueue_lock has been dropped, the task at `p' > is free to remove itself from the waitqueue and exit. This > CPU can then try to wake up a non-existent task, no?
Yes, that was an unlikely-to-happen SMP race I inerith from 2.2.18 and all previous 2.2.x vanilla kernels. Thanks.
Andrea - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |