On 05/11/2025 13:39, [email protected] wrote:
Hi,
Hi Haseeb,
I have sent out a patch using IPAS2E1IS. The R version RIPAS2E1IS would only be
helpful if we have to invalidate more than one page at a time and this is not
possible unless a batch version of hypercall is implemented because otherwise
there is only one page removed per hypercall.
I have only briefly look at your patch. You have the following loop:
/* Invalidate stage-2 TLB entries by IPA range */
for ( i = 0; i < page_count; i++ ) {
flush_guest_tlb_one_s2(ipa);
ipa += 1UL << PAGE_SHIFT;
}
With RIPAS2E1IS, you would be able to replace this loop with a single
instruction. This may not have any value in your setup because you are
unmaping 4KB at the time. But there are other hypercalls (such as
XENMEM_decrease_reservation) where you can remove larger mapping.
So I think there are some values to use the range version. Although, I
would be fine if this is not handled in your current patch.
Thanks again for your great suggestions. Please review my patch, you should've
received an email.
I will add it in my list of reviews.
Cheers,
--
Julien Grall