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

Submitted by Hollis Blanchard on Oct. 31, 2008, 7:03 p.m.

Details

Message ID 59bd162a744af080479f.1225479792@localhost.localdomain
State Accepted, archived
Delegated to: Josh Boyer
Headers show

Commit Message

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.

Comments

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 hide | download patch | download mbox

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;