[PATCH 00/16] KVM: arm64: Rework timer offsetting for fun and profit
Colton Lewis
coltonlewis at google.com
Thu Feb 23 14:29:29 PST 2023
Hello Marc,
This patch is of special interest to me as I was working on my own
ECV/CNTPOFF implementation, although mine was more narrow and doesn't
address any of your other goals. As far as I can tell at the moment,
your patch can cover the uses of mine, so I will dedicate
myself to reviewing and testing yours. Please include me on any future
rerolls of this patch.
Marc Zyngier <maz at kernel.org> writes:
> This series aims at satisfying multiple goals:
> - allow a VMM to atomically restore a timer offset for a whole VM
> instead of updating the offset each time a vcpu get its counter
> written
> - allow a VMM to save/restore the physical timer context, something
> that we cannot do at the moment due to the lack of offsetting
> - provide a framework that is suitable for NV support, where we get
> both global and per timer, per vcpu offsetting
If I am understanding your changes correctly, you introduce some VM-wide
timers with no hardware backing and a new API to access them from
userspace. This is useful both because it makes the code simpler (no
need to manually keep registers in sync), and so CNT{V,P}OFF can be
appropriately virtualized with NV. Is that a fair summary of the
important bits?
> This has been moderately tested with nVHE, VHE and NV. I do not have
> access to CNTPOFF-aware HW, so the jury is still out on that one. Note
> that the NV patches in this series are here to give a perspective on
> how this gets used.
> I've updated the arch_timer selftest to allow offsets to be provided
> from the command line, but the arch_test is pretty flimsy and tends to
> fail with an error==EINTR, even without this series. Something to
> investigate.
I can help you with testing because I have access to CNTPOFF-aware
hardware and emulators. Is there anything you are especially interested
to try out?
More information about the linux-arm-kernel
mailing list