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.cara...@freescale.com>
Cc: Scott Wood <scottw...@freescale.com>

Thanks, applied to kvm-ppc-queue.


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to