Re: [ANN] Userspace M-on-N threading model implementation. Alpharelease.

From: Bill Davidsen
Date: Sun Feb 04 2007 - 16:42:52 EST


Jakub Jelinek wrote:
On Sun, Feb 04, 2007 at 03:12:32PM -0500, Bill Davidsen wrote:
Arjan van de Ven wrote:
Because user threading can avoid context switches, there will always be cases where it will outperform o/s threads for hardware reasons.
actually.. switching from one "real" thread to another in Linux is not
an actual context switch in the hardware sense... at least this part of
your argument seems to be incorrect ;)

How does that work? Switching between kernel threads requires going into the kernel, user level thread switches are all done in user mode.

Do you have some way to change o/s threads w/o going into the kernel?

But going into kernel is not very expensive on Linux.

On the other side, the overhead you need to add for every single syscall
that might block for the M:N threads and the associated complications
which make it far harder to conform to POSIX IMHO far outweight the costs
of going into the kernel for a context switch.

That really wasn't my question, Arjan said that switching real threads wasn't a context switch in the hardware sense, and I was asking if I missed something. It may be cheap, but it would seem to be a context switch none-the-less.

--
bill davidsen <davidsen@xxxxxxx>
CTO TMR Associates, Inc
Doing interesting things with small computers since 1979

-
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/