Context Switching is Broken

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Jun 10 19:36:17 EDT 2010


On Thu, Jun 10, 2010 at 04:26:47PM -0700, Herman Swartz wrote:
> Yes, the kernel has the functions, because the kernel uses them in
> it's operation. The glibc needs to implement these calls to the
> kernel. Do I have that right?

No.  The kernel's context switching is entirely different to the
"context switching" that you're talking about here.

As I've said twice - and I'm not going to repeat it a third time -
this has nothing to do with the kernel and everything to do with
glibc.

You can see this from the i386 version of setcontext(), which can
be found in the glibc source code:

	sysdeps/unix/sysv/linux/i386/setcontext.S

The only call this code makes to the kernel is to set the processes
signal mask - which ARM has provided since day 1, and is used for
many things other than providing this support.  So there's nothing
to add to the kernel.

What's missing is the glibc support code.  Not the kernel code.

You need to talk to glibc people about this, not kernel people.



More information about the linux-arm-kernel mailing list