Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: proposal: stop using the xen_system_time timecounter in dom0
>>>>> On Fri, 21 Jun 2024 12:38:13 -0700, "Greg A. Woods" <woods%planix.ca@localhost> said:
> At Fri, 21 Jun 2024 08:59:01 +0200, Manuel Bouyer <bouyer%antioche.eu.org@localhost> wrote:
> Subject: Re: proposal: stop using the xen_system_time timecounter in dom0
>>
>> it is perfectly reliable for me. In my case I'm not sure (really)
>> that other sources would be better.
> I've shown clearly that it is not always reliable without (what would
> otherwise be unnecessary) workarounds (dom0_vcpus_pin=true in my case,
> and perhaps even with that workaround it is still not 100% reliable).
A bit of argument from authority here (I did the initial Xen MP port) -
it might be a useful policy decision to just pin all vCPUs on dom0 to
their corresponding underlying physical cpus - the probe mechanism (from
my memory of more than a decade ago when this was done) is that the
number of vCPUs == the number of pCPUs - so I doubt there is any benefit
in shuffling around vCPUS across pCPUs - perhaps quite the opposite.
It shouldn't have very much performance implications and potentially
performance benefits since:
1) All interrupts are still processed from BSP (unless things have changed
and our apic routing code has got cleverer) - so we'd not need to
xcall/IPI as much as we do now.
2) The described symptom seems to be from a hypervisor assumption that
dom0 access to "local" CPU resources would be somehow sticky.
3) The dom0/platform interface (eg: apic MSR based logic) was poorly
abstracted (not our fault - blame Xen) - and perhaps this has changed
in more recent versions of the hypervisor with new privileged domain
abstractions such as "driver domains" - but I don't think we use any
of that stuff yet.
Should be a quick one-liner patch in the bootstrap MP code.
The cat has jumped out of my bag though - so I'll leave it to someone
else to bell the cat this time around - or not.
--
Math/(~cherry)
Home |
Main Index |
Thread Index |
Old Index