Re: [PARAVIRT/x86] BUGFIX: Put a missing paravirt_release_pmd in pgd_dtor

Jeremy Fitzhardinge
2009-02-06T06:52:25Z

Alok Kataria wrote:
> As it affects only VMI, instead of adding another callback, i have
> hooked on the paravirt_pgd_free call for vmi to release the pgd page.
> Below is the patch. I will run some overnight tests with this patch and
> get back if there are any errors.
>

I'd forgotten that I'd already added pgd_alloc/pgd_free. So, yes, just
use pgd_free.

>> But either way, calling release_pmd here is wrong, since its only meant
>> to be applied to pmds,
>>
> Maybe i misunderstand, but that's how it used to work before that
> commit, we had a single call to release_*pd*, no ?
>

I rearranged things, but I don't remember the details. I think pd was
being overloaded for both pgd and pmd, and I split it out so there was a
specific function for each level.

>> and it would break the Xen code.
>>
>
> i see xen doesn't define the alloc_pmd_clone call.
>

It defines alloc_pmd, but has no need for alloc_pmd_clone (there's no
shadow pagetable, so there's nothing to sync). Zach added specifically
for vmi's use.

J