Re: [PATCH] kvm: arm: Fix handling of stage2 huge mappings

From: Marc Zyngier
Date: Wed Mar 20 2019 - 13:24:26 EST


On Wed, 20 Mar 2019 11:12:47 +0000
Suzuki K Poulose <suzuki.poulose@xxxxxxx> wrote:

> Marc,
>
> On 20/03/2019 10:35, Marc Zyngier wrote:
> > On Wed, 20 Mar 2019 10:23:39 +0000
> > Suzuki K Poulose <suzuki.poulose@xxxxxxx> wrote:
> >
> > Hi Suzuki,
> >
> >> Marc,
> >>
> >> On 20/03/2019 10:11, Marc Zyngier wrote:
> >>> On Wed, 20 Mar 2019 09:44:38 +0000
> >>> Suzuki K Poulose <suzuki.poulose@xxxxxxx> wrote:
> >>> >>>> Hi Marc,
> >>>>
> >>>> On 20/03/2019 08:15, Marc Zyngier wrote:
> >>>>> Hi Suzuki,
> >>>>>
> >>>>> On Tue, 19 Mar 2019 14:11:08 +0000,
> >>>>> Suzuki K Poulose <suzuki.poulose@xxxxxxx> wrote:
>
> ...
>
> >>>>>> + if (!pmd_thp_or_huge(old_pmd)) {
> >>>>>> + unmap_stage2_range(kvm, addr & S2_PMD_MASK, S2_PMD_SIZE);
> >>>>>> + goto retry;
> >>>>> >>
> >>>>>> + if (!stage2_pud_huge(kvm, old_pud)) {
> >>>>>> + unmap_stage2_range(kvm, addr & S2_PUD_MASK, S2_PUD_SIZE);
> >>>>> >>
> >>>> We should really get rid of the S2_P{U/M}D_* definitions, as they are
> >>>> always the same as the host. The only thing that changes is the PGD size
> >>>> which varies according to the IPA and the concatenation.
> >>>> >>
> >> Also what do you think about using P{M,U}D_* instead of S2_P{M,U}D_*
> >> above ? I could make that change with the respin.
> >
> > Given that this is a fix, I'd like it to be as small as obvious as
> > possible, making it easier to backport.
> >
> > I'm happy to take another patch for 5.2 that will drop the whole S2_P*
> > if we still think that this should be the case (though what I'd really
> > like is to have architectural levels instead of these arbitrary
> > definitions).
>
> I only meant the two new instances added above in the patch. Of course, I
> could send something to fix the existing ones.

I'd rather be consistent, and use the same names all over the code.
Once we decide to change, we do it all in one go.

Thanks,

M.
--
Without deviation from the norm, progress is not possible.