[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a36005b50705071949r4f45194bhc0c0416db28d1560@mail.gmail.com>
Date: Mon, 7 May 2007 19:49:04 -0700
From: "Ulrich Drepper" <drepper@...il.com>
To: "Davide Libenzi" <davidel@...ilserver.org>
Cc: "Davi Arnaut" <davi@...ent.com.br>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"Linus Torvalds" <torvalds@...ux-foundation.org>,
"Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] rfc: threaded epoll_wait thundering herd
On 5/7/07, Davide Libenzi <davidel@...ilserver.org> wrote:
> read(2) is a cancellation point too. So if the fine userspace code issues
> a random pthread_cancel() to a thread handling that, data is lost together
> with the session that thread was handling.
This is absolutely not comparable. When read/write is canceled no
data is lost. Some other thread might have to pick up the slack but
that's it.
With your poll extensions where one thread gets notified and then the
kernel forgets about the event information. Now this information is
only available in the thread itself. How can a cancellation handler
communication this to all the other threads waiting in poll()? Every
event which is reported and forgotten must be communication. To make
things more fun, the various waiters can be in different processes.
We went over this for kevent discussions. I really am not willing to
do it all again especially since there is no hope to achieve a
satisfying result with poll. So, don't count my silence as agreement,
it isn't.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists