Patchwork powerpc/44x: declare tlb_44x_index for use in C code

login
register
mail settings
Submitter Hollis Blanchard
Date Oct. 31, 2008, 7:03 p.m.
Message ID <59bd162a744af080479f.1225479792@localhost.localdomain>
Download mbox | patch
Permalink /patch/6739/
State Accepted
Delegated to: Josh Boyer
Headers show

Comments

Hollis Blanchard - Oct. 31, 2008, 7:03 p.m.
# HG changeset patch
# User Hollis Blanchard <hollisb@us.ibm.com>
# Date 1225479768 18000
# Node ID 59bd162a744af080479fedffa97d01e26dceee6a
# Parent  635f3f74befc230d93f79dc3198c509394247ee8
powerpc/44x: declare tlb_44x_index for use in C code

KVM currently ignores the host's round robin TLB eviction selection, instead
maintaining its own TLB state and its own round robin index. However, by
participating in the normal 44x TLB selection, we can drop the alternate TLB
processing in KVM. This results in a significant performance improvement,
since that processing currently must be done on *every* guest exit.

Accordingly, KVM needs to be able to access and increment tlb_44x_index.
(KVM on 440 cannot be a module, so there is no need to export this symbol.)

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>

---

Josh, can I get your ack? I'll submit through the KVM tree as usual.
Josh Boyer - Nov. 3, 2008, 8:09 p.m.
On Fri, 31 Oct 2008 14:03:12 -0500
Hollis Blanchard <hollisb@us.ibm.com> wrote:

> # HG changeset patch
> # User Hollis Blanchard <hollisb@us.ibm.com>
> # Date 1225479768 18000
> # Node ID 59bd162a744af080479fedffa97d01e26dceee6a
> # Parent  635f3f74befc230d93f79dc3198c509394247ee8
> powerpc/44x: declare tlb_44x_index for use in C code
> 
> KVM currently ignores the host's round robin TLB eviction selection, instead
> maintaining its own TLB state and its own round robin index. However, by
> participating in the normal 44x TLB selection, we can drop the alternate TLB
> processing in KVM. This results in a significant performance improvement,
> since that processing currently must be done on *every* guest exit.
> 
> Accordingly, KVM needs to be able to access and increment tlb_44x_index.
> (KVM on 440 cannot be a module, so there is no need to export this symbol.)
> 
> Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>

Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>

> 
> ---
> 
> Josh, can I get your ack? I'll submit through the KVM tree as usual.
> 
> diff --git a/arch/powerpc/include/asm/mmu-44x.h b/arch/powerpc/include/asm/mmu-44x.h
> --- a/arch/powerpc/include/asm/mmu-44x.h
> +++ b/arch/powerpc/include/asm/mmu-44x.h
> @@ -54,6 +54,7 @@
>  #ifndef __ASSEMBLY__
> 
>  extern unsigned int tlb_44x_hwater;
> +extern unsigned int tlb_44x_index;
> 
>  typedef struct {
>  	unsigned long id;

Patch

diff --git a/arch/powerpc/include/asm/mmu-44x.h b/arch/powerpc/include/asm/mmu-44x.h
--- a/arch/powerpc/include/asm/mmu-44x.h
+++ b/arch/powerpc/include/asm/mmu-44x.h
@@ -54,6 +54,7 @@ 
 #ifndef __ASSEMBLY__
 
 extern unsigned int tlb_44x_hwater;
+extern unsigned int tlb_44x_index;
 
 typedef struct {
 	unsigned long id;