|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86: re-order struct arch_domain fields
On 19/01/15 15:41, Jan Beulich wrote:
> ... to reduce padding holes. While doing this I noticed vtsc_usercount
> is a PV-only thing, so it gets moved straight to struct pv_domain.
The vtsc_{user,kernel}count split is curious. They are both for stats
purposes alone, but there is nothing pv specific about the usercount.
It frankly looks as if it has been mis-implemented for HVM, despite the
split appearing to be deliberate when it was introduced in c/s
bf2c44f8b469. I am really not sure what to make of it.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1767,7 +1767,7 @@ void pv_soft_rdtsc(struct vcpu *v, struc
> if ( guest_kernel_mode(v, regs) )
> d->arch.vtsc_kerncount++;
> else
> - d->arch.vtsc_usercount++;
> + d->arch.pv_domain.vtsc_usercount++;
>
> if ( (int64_t)(now - d->arch.vtsc_last) > 0 )
> d->arch.vtsc_last = now;
> @@ -2020,17 +2020,15 @@ static void dump_softtsc(unsigned char k
> printk(",khz=%"PRIu32, d->arch.tsc_khz);
> if ( d->arch.incarnation )
> printk(",inc=%"PRIu32, d->arch.incarnation);
> - if ( !(d->arch.vtsc_kerncount | d->arch.vtsc_usercount) )
> - {
> - printk("\n");
> - continue;
> - }
> - if ( is_hvm_domain(d) )
> + if ( is_hvm_domain(d) && d->arch.vtsc_kerncount )
> printk(",vtsc count: %"PRIu64" total\n",
> d->arch.vtsc_kerncount);
> - else
> + else if ( is_pv_domain(d) &&
> + (d->arch.vtsc_kerncount |
> d->arch.pv_domain.vtsc_usercount) )
I realise you are simply rearanging the logic from before, but this
should really be a logic or rather than a bitwise or, and is probably
worth tweaking with the movement.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |