Re: [patch] scheduler bugfix, SMP, 2.4.0-test7

From: David S. Miller (davem@redhat.com)
Date: Tue Aug 29 2000 - 16:08:22 EST


   Date: Tue, 29 Aug 2000 16:13:22 +0100 (BST)
   From: Alan Cox <alan@lxorguk.ukuu.org.uk>

> Ingo, the local flags stuff on Sparc, remember?

   Maybe its time to have FASTCALLFLAGS that is different for sparc ?

The problem not FASTCALL, which is a NOP on sparc anyways. The
problem is the fact that people expect the following to work:

void foo(unsigned long flags)
{
        restore_flags(flags);
}

void bar(void)
{
        unsigned long flags;

        save_flags(flags);
        foo(flags);
}

And it doesn't on Sparc because the flags are stored in the same CPU
register as the current register window.

Therefore you cannot restore irq flags in a different function than
the one in which you obtained them.

Later,
David S. Miller
davem@redhat.com
-
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/



This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:24 EST