Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable

From: Eric W. Biederman
Date: Tue Mar 20 2007 - 12:02:03 EST


Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes:

> On Mon, 19 Mar 2007, Jeremy Fitzhardinge wrote:
>> Actually, it still does need a temp register. The sequence for cli is:
>>
>> mov %fs:xen_vcpu, %eax
>> movb $1,1(%eax)
>
> We should just do this natively. There's been several tests over the years
> saying that it's much more efficient to do sti/cli as a simple store, and
> handling the "oops, we got an interrupt while interrupts were disabled" as
> a special case.
>
> I have this dim memory that ARM has done it that way for a long time
> because it's so expensive to do a "real" cli/sti.
>
> And I think -rt does it for other reasons. It's just more flexible.

If that is the case. In the normal kernel what would
the "the oops, we got an interrupt code do?"
I assume it would leave interrupts disabled when it returns?
Like we currently do with the delayed disable of normal interrupts?

I'm trying to understand the proposed semantics.

Looking at the above code snippet. I guess it is about time to
merge our per_cpu and pda variables...

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