21.03.2023 1:51, Tamas K Lengyel wrote:
On Mon, Mar 20, 2023 at 12:32 PM Ковалёв Сергей <[email protected]
<mailto:[email protected]>> wrote:
>
> gva_to_gfn command used for fast address translation in LibVMI project.
> With such a command it is possible to perform address translation in
> single call instead of series of queries to get every page table.
You have a couple assumptions here:
- Xen will always have a direct map of the entire guest memory - there
are already plans to move away from that. Without that this approach
won't have any advantage over doing the same mapping by LibVMI
Thanks! I didn't know about the plan. Though I use this patch
back ported into 4.16.
- LibVMI has to map every page for each page table for every lookup -
you have to do that only for the first, afterwards the pages on which
the pagetable is are kept in a cache and subsequent lookups would be
actually faster then having to do this domctl since you can keep being
in the same process instead of having to jump to Xen.
Yes. I know about the page cache. But I have faced with several issues
with cache like this one https://github.com/libvmi/libvmi/pull/1058 .
So I had to disable the cache.
With these perspectives in mind I don't think this would be a useful
addition. Please prove me wrong with performance numbers and a specific
use-case that warrants adding this and how you plan to introduce it into
LibVMI without causing performance regression to all other use-cases.
I will send You a PR into LibVMI in a day or two. I don't have any
performance numbers at the time. I send this patch to share my current
work as soon as possible.
To prevent regression in all use-cases we could add a configure option.
Thanks to make me notice that!
Tamas
--
С уважением,
Ковалёв Сергей.