Re: 2.6.18-rc6-mm1: GPF loop on early boot
From: Jeremy Fitzhardinge
Date: Mon Sep 11 2006 - 03:53:38 EST
Ingo Molnar wrote:
btw., what's the connection of %gs based PDA to Xen and
paravirtualization in general - %esp based current is just as
Xen-friendly, or am i wrong? I guess there must be some connection,
given that you are working on this ;)
Yep. The goal is to put the Xen VCPU structure into the PDA, so that it
can be easily accessed. At present, masking events (ie, cli), is
something along the lines of
xen_shared_info->vcpu[smp_processor_id()].mask = 1
which comes out to something like 20 bytes of code, and is probably too
awkward to inline. If the vcpu is in the PDA, it would come out to:
movb $1, %gs:xen_vcpu_mask
which has the added benefit of not needing a register.
Even without modifying Xen to allow us to place the VCPU structure,
putting a VCPU pointer into the PDA helps a lot:
mov %gs:xen_vcpu, %eax
movb $1, mask(%eax)
J
-
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/