Re: [Lse-tech] scalability of signal delivery for Posix Threads

From: Ray Bryant
Date: Mon Nov 22 2004 - 22:50:17 EST


Andi Kleen wrote:
On Mon, Nov 22, 2004 at 05:51:59PM +0100, Andreas Schwab wrote:

Andi Kleen <ak@xxxxxxx> writes:


At least in traditional signal semantics you have to call sigaction
or signal in each signal handler to reset the signal. So that assumption is not necessarily true.

If you use sigaction then you get POSIX semantics, which don't have this
problem.


It's just a common case where Ray's assumption is not true.

-Andi


True enough. And in that case the design that I was describing wouldn't
make sigaction() that much more expensive since if you are not in the POSIX
thread environment (more precisely, the thread was not created with
CLONE_SIGHAND) each thread has its own sighand structure and the "global" locking mechanisum I had proposed would only require the taking of one additional lock.

However, special casing ITIMER_PROF is also a reasonable avenue of approach.
The performance monitor code can also deliver signals to user space when
a sampling buffer overflows, and this can have the same kind of scaling
problem as ITIMER_PROF. I'll have to do a little research to figure out
how exactly that works, but that signal (SIGIO?) would also be a candidate
for special casing on our platform.

--
Best Regards,
Ray
-----------------------------------------------
Ray Bryant
512-453-9679 (work) 512-507-7807 (cell)
raybry@xxxxxxx raybry@xxxxxxxxxxxxx
The box said: "Requires Windows 98 or better",
so I installed Linux.
-----------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/