WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: performance regression from c/s 21647:cfba1560054a

>>> On 10.11.11 at 16:55, Gianluca Guida <glguida@xxxxxxxxx> wrote:
> Jan,
> 
> On Thu, Nov 10, 2011 at 7:11 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>>> On 10.11.11 at 15:59, Stefano Stabellini 
>>>>> <stefano.stabellini@xxxxxxxxxxxxx>
>> wrote:
>>> On Thu, 10 Nov 2011, Jan Beulich wrote:
>>>> It's SLE11 SP1 guests that suffered a regression after a maintenance
>>>> update (originally shipped with 4.0.0, while that patch got backported
>>>> later into 4.0.x).
>>>
>>> Is SLES11 SP1 using HVMOP_pagetable_dying (see
>>> arch/x86/xen/mmu.c:xen_hvm_init_mmu_ops)?
>>
>> No, it's not.
> 
> Can you please try the inline patch? Unfortunately I have no unstable
> test machine or infrastructure at the moment, so I can;t really test
> it.

I'll have it tested, but on 4.0.x (where the problem was reported and
is reproducible by those who observed it). I'll let you know as soon as
I know the outcome, but from the debugging we did so far (which
narrowed it to this part of the condition) it is pretty clear that it is
going to do the trick.

Jan

> I finally recalled a bit of details about this patch, so this check is
> clearly a bug as-it-is: it was written with the assumption that all
> the HVM guests would have been Windows guests with particular
> PV-drivers, so I wasn't particularly nice with the checks.
> 
> Thank you,
> Gianluca
> 
> diff -r 068d3d55ce6e xen/arch/x86/mm/shadow/multi.c
> --- a/xen/arch/x86/mm/shadow/multi.c    Tue Nov 01 19:03:38 2011 +0000
> +++ b/xen/arch/x86/mm/shadow/multi.c    Thu Nov 10 16:46:50 2011 -0800
> @@ -2723,8 +2723,9 @@
>             || ( !v->domain->arch.paging.shadow.pagetable_dying_op
>                  &&
> v->arch.paging.shadow.last_emulated_mfn_for_unshadow == mfn_x(gmfn) )
> )
>           && sh_mfn_is_a_page_table(gmfn)
> -         && !(mfn_to_page(gmfn)->shadow_flags
> -              & (SHF_L2_32|SHF_L2_PAE|SHF_L2H_PAE|SHF_L4_64)) )
> +         && (!v->domain->arch.paging.shadow.pagetable_dying_op ||
> +             !(mfn_to_page(gmfn)->shadow_flags
> +               & (SHF_L2_32|SHF_L2_PAE|SHF_L2H_PAE|SHF_L4_64))) )
>      {
>          perfc_incr(shadow_early_unshadow);
>          sh_remove_shadows(v, gmfn, 1, 0 /* Fast, can fail to unshadow */ );





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel