Re: [PATCH v2] KVM: PPC: cache flush for kernel managed pages

2013-04-26 Thread Alexander Graf

On 25.04.2013, at 18:33, Bharat Bhushan wrote:

> From: Bharat Bhushan 
> 
> Kernel can only access pages which maps as memory.
> So flush only the valid kernel pages.
> 
> Signed-off-by: Bharat Bhushan 

Thanks, applied to kvm-ppc-queue.


Alex

> ---
> v1->v2
> - move pfn_valid() check in kvmppc_mmu_flush_icache
> - Added comment to describe why this is needed
> 
> arch/powerpc/include/asm/kvm_ppc.h |9 -
> 1 files changed, 8 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/kvm_ppc.h 
> b/arch/powerpc/include/asm/kvm_ppc.h
> index f589307..4794de6 100644
> --- a/arch/powerpc/include/asm/kvm_ppc.h
> +++ b/arch/powerpc/include/asm/kvm_ppc.h
> @@ -282,8 +282,15 @@ void kvmppc_init_lpid(unsigned long nr_lpids);
> 
> static inline void kvmppc_mmu_flush_icache(pfn_t pfn)
> {
> - /* Clear i-cache for new pages */
>   struct page *page;
> + /*
> +  * We can only access pages that the kernel maps
> +  * as memory. Bail out for unmapped ones.
> +  */
> + if (!pfn_valid(pfn))
> + return;
> +
> + /* Clear i-cache for new pages */
>   page = pfn_to_page(pfn);
>   if (!test_bit(PG_arch_1, &page->flags)) {
>   flush_dcache_icache_page(page);
> -- 
> 1.7.0.4
> 
> 

--
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


[PATCH v2] KVM: PPC: cache flush for kernel managed pages

2013-04-25 Thread Bharat Bhushan
From: Bharat Bhushan 

Kernel can only access pages which maps as memory.
So flush only the valid kernel pages.

Signed-off-by: Bharat Bhushan 
---
v1->v2
 - move pfn_valid() check in kvmppc_mmu_flush_icache
 - Added comment to describe why this is needed

 arch/powerpc/include/asm/kvm_ppc.h |9 -
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/include/asm/kvm_ppc.h 
b/arch/powerpc/include/asm/kvm_ppc.h
index f589307..4794de6 100644
--- a/arch/powerpc/include/asm/kvm_ppc.h
+++ b/arch/powerpc/include/asm/kvm_ppc.h
@@ -282,8 +282,15 @@ void kvmppc_init_lpid(unsigned long nr_lpids);
 
 static inline void kvmppc_mmu_flush_icache(pfn_t pfn)
 {
-   /* Clear i-cache for new pages */
struct page *page;
+   /*
+* We can only access pages that the kernel maps
+* as memory. Bail out for unmapped ones.
+*/
+   if (!pfn_valid(pfn))
+   return;
+
+   /* Clear i-cache for new pages */
page = pfn_to_page(pfn);
if (!test_bit(PG_arch_1, &page->flags)) {
flush_dcache_icache_page(page);
-- 
1.7.0.4


--
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