[PATCH v4] KVM: PPC: e500mc: Enhance tlb invalidation condition on vcpu schedule

Alexander Graf agraf at suse.de
Tue Jun 24 22:12:43 EST 2014


On 18.06.14 09:15, Mihai Caraman wrote:
> On vcpu schedule, the condition checked for tlb pollution is too loose.
> The tlb entries of a vcpu become polluted (vs stale) only when a different
> vcpu within the same logical partition runs in-between. Optimize the tlb
> invalidation condition keeping last_vcpu per logical partition id.
>
> With the new invalidation condition, a guest shows 4% performance improvement
> on P5020DS while running a memory stress application with the cpu oversubscribed,
> the other guest running a cpu intensive workload.
>
> Guest - old invalidation condition
>    real 3.89
>    user 3.87
>    sys 0.01
>
> Guest - enhanced invalidation condition
>    real 3.75
>    user 3.73
>    sys 0.01
>
> Host
>    real 3.70
>    user 1.85
>    sys 0.00
>
> The memory stress application accesses 4KB pages backed by 75% of available
> TLB0 entries:
>
> char foo[ENTRIES][4096] __attribute__ ((aligned (4096)));
>
> int main()
> {
> 	char bar;
> 	int i, j;
>
> 	for (i = 0; i < ITERATIONS; i++)
>          	for (j = 0; j < ENTRIES; j++)
>              		bar = foo[j][0];
>
> 	return 0;
> }
>
> Signed-off-by: Mihai Caraman <mihai.caraman at freescale.com>
> Cc: Scott Wood <scottwood at freescale.com>

Thanks, applied to kvm-ppc-queue.


Alex



More information about the Linuxppc-dev mailing list