On 01.08.19 12:37, Julien Grall wrote:
Hi,
On 01/08/2019 07:45, Andrii Anisov wrote:
On 30.07.19 23:10, Julien Grall wrote:
In this series I think I need interrupts locked until I start time accounting
for hypervisor. Time accounting is started by `tacc_head()` function. I prefer
to have it called from C, because it is more convenient and obvious for those
who are less familiar with the ARM code.
Here is the question to you: what is the best place (and way) to start
hypervisor time tracking?
Looking at the patch, hypervisor time accounting is for:
1) softirqs
2) hardirqs
For hardirqs, you always enter in C with interrupt disabled. So this can be
called directly from there.
For softirqs, they are quite a few places where do_sofirq() is called. So you
either want to track the time in the function directly or on each callers.
Softirq? What about the rest of `leave_hypervisor_tail()`?
"big piece" is somewhat half-correct.... All the hypercalls will be correctly
protected, so the problem is only if you receive an interrupt before SSBD is enabled.
I would move the enablement in assembly code as part of entry.
That's it. I suppose the function `enter_hypervisor_head()` was introduced and
named as a part of entry, while in fact is not the part.
And I guess you were confused with it when introducing that WA.
As well as I was some time ago [1].
[1] https://lists.xenproject.org/archives/html/xen-devel/2018-10/msg02248.html
--
Sincerely,
Andrii Anisov.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel