Hello Julien, On 12.02.19 21:21, Julien Grall wrote:
Please provide more meaningful arguments other than "I don't like it". I provided potential drawbacks on my previous e-mails that you haven't yet addressed.
Well, currently, on each runstate update, `copy_to_guest()` which translates the buffer virtual address is called three times. On context switch, runstate update is done twice, when we change a vcpu.
FWIW, Volodymyr had the same argument on OP-TEE and I requested to avoid the global mapping. I haven't seen any concern for performance devredation afterwards. Please feel free to come with numbers here.
The numbers here are controversial and really confusing to me. I've measured the raw `update_runstate_area()` execution time. With runstate mapped - its execution time is less than my timer tick (120ns), with runstate not mapped - I've seen its execution time as 4 to 8 ticks (480-960ns). But using TBM, I encountered that making runstate mapped with Roger's patch increases the IRQ latency from ~7000ns to ~7900ns. It is opposite to my expectations and to the raw decrease of `runstate_update_area()` execution time. Also glmark2 benchmark shown me slight performance drop on getting runstate mapping. -- Sincerely, Andrii Anisov. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel