Thread (7 messages) 7 messages, 2 authors, 2021-01-26

Re: [RFC PATCH v1 0/5] Enable CPU TTRem feature for stage-2

From: Marc Zyngier <maz@kernel.org>
Date: 2021-01-26 14:20:42
Also in: kvm, kvmarm, lkml

Hi Yanan,

On 2021-01-26 13:41, Yanan Wang wrote:
Hi all,
This series enable CPU TTRem feature for stage-2 page table and a RFC 
is sent
for some comments, thanks.

The ARMv8.4 TTRem feature offers 3 levels of support when changing 
block
size without changing any other parameters that are listed as requiring 
use
of break-before-make. And I found that maybe we can use this feature to 
make
some improvement for stage-2 page table and the following explains what
TTRem exactly does for the improvement.

If migration of a VM with hugepages is canceled midway, KVM will adjust 
the
stage-2 table mappings back to block mappings. We currently use BBM to 
replace
the table entry with a block entry. Take adjustment of 1G block mapping 
as an
example, with BBM procedures, we have to invalidate the old table entry 
first,
flush TLB and unmap the old table mappings, right before installing the 
new
block entry.
In all honesty, I think the amount of work that is getting added to
support this "migration cancelled mid-way" use case is getting out
of control.

This is adding a complexity and corner cases for a use case that
really shouldn't happen that often. And it is adding it at the worse
possible place, where we really should keep things as straightforward
as possible.

I would expect userspace to have a good enough knowledge of whether
the migration is likely to succeed, and not to attempt it if it is
likely to fail. And yes, it will fail sometimes. But it should be
so rare that adding this various stages of BBM support shouldn't be
that useful.

Or is there something else that I am missing?

Thanks,

         M.
-- 
Jazz is not dead. It just smells funny...

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help