[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v6 04/11] xen/x86: Add supporting code for uploading LAPIC contexts during domain create
On 09.10.2024 18:44, Alejandro Vallejo wrote: > On Wed Oct 9, 2024 at 2:28 PM BST, Jan Beulich wrote: >> On 01.10.2024 14:38, Alejandro Vallejo wrote: >>> If toolstack were to upload LAPIC contexts as part of domain creation it >> >> If it were to - yes. But it doesn't, an peeking ahead in the series I also >> couldn't spot this changing. Hence I don#t think I see why this change >> would be needed, and why ... > > Patch 10 does. It's the means by which (in a rather roundabout way) > toolstack overrides vlapic->hw.x2apic_id. Oh, indeed - I managed to not spot this. I think you want to either re-word the description here to make clear there's actually a plan to do what is being said as purely hypothetical, or simply fold the patches. >>> would encounter a problem were the architectural state does not reflect >>> the APIC ID in the hidden state. This patch ensures updates to the >>> hidden state trigger an update in the architectural registers so the >>> APIC ID in both is consistent. >>> >>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@xxxxxxxxx> >>> --- >>> xen/arch/x86/hvm/vlapic.c | 20 ++++++++++++++++++++ >>> 1 file changed, 20 insertions(+) >>> >>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c >>> index 02570f9dd63a..a8183c3023da 100644 >>> --- a/xen/arch/x86/hvm/vlapic.c >>> +++ b/xen/arch/x86/hvm/vlapic.c >>> @@ -1640,7 +1640,27 @@ static int cf_check lapic_load_hidden(struct domain >>> *d, hvm_domain_context_t *h) >>> >>> s->loaded.hw = 1; >>> if ( s->loaded.regs ) >>> + { >>> + /* >>> + * We already processed architectural regs in lapic_load_regs(), so >>> + * this must be a migration. Fix up inconsistencies from any older >>> Xen. >>> + */ >>> lapic_load_fixup(s); >>> + } >>> + else >>> + { >>> + /* >>> + * We haven't seen architectural regs so this could be a migration >>> or a >>> + * plain domain create. In the domain create case it's fine to >>> modify >>> + * the architectural state to align it to the APIC ID that was just >>> + * uploaded and in the migrate case it doesn't matter because the >>> + * architectural state will be replaced by the LAPIC_REGS ctx >>> later on. >>> + */ >> >> ... a comment would need to mention a case that never really happens, thus >> only risking to cause confusion. > > I assume the "never really happens" is about the same as the previous > paragraph? If so, the same answer applies. Yes. > About the lack of ordering in the migrate stream the code already makes no > assumptions as to which HVM context blob might appear first in the vLAPIC > area. > > I'm not sure why, but I assumed it may be different on older Xen. I agree with being flexible here; I'm not aware of anything in the migration spec (and certainly not in the unwritten v1 one) mandating particular ordering. Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |