From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Andrea Arcangeli <aarcange@redhat.com>,
Avi Kivity <avi@redhat.com>, Thomas Gleixner <tglx@linutronix.de>,
Rik van Riel <riel@redhat.com>, Ingo Molnar <mingo@elte.hu>,
akpm@linux-fo
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
linux-mm@kvack.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
David Miller <davem@davemloft.net>,
Hugh Dickins <hugh.dickins@tiscali.co.uk>,
Mel Gorman <mel@csn.ul.ie>, Nick Piggin <npiggin@kernel.dk>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul McKenney <paulmck@linux.vnet.ibm.com>,
Yanmin Zhang <yanmin_zhang@linux.intel.com>,
Guan Xuetao <gxt@mprc.pku.edu.cn>
Subject: [PATCH 09/13] unicore: mmu_gather rework
Date: Wed, 02 Mar 2011 18:50:13 +0100 [thread overview]
Message-ID: <20110302175200.883953013@chello.nl> (raw)
In-Reply-To: 20110302175004.222724818@chello.nl
[-- Attachment #1: peter_zijlstra-unicore-mmu_gather.patch --]
[-- Type: text/plain, Size: 2205 bytes --]
Fix up the unicore mmu_gather code to conform to the new API.
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
arch/unicore32/include/asm/tlb.h | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
Index: linux-2.6/arch/unicore32/include/asm/tlb.h
===================================================================
--- linux-2.6.orig/arch/unicore32/include/asm/tlb.h
+++ linux-2.6/arch/unicore32/include/asm/tlb.h
@@ -27,17 +27,11 @@ struct mmu_gather {
unsigned long range_end;
};
-DECLARE_PER_CPU(struct mmu_gather, mmu_gathers);
-
-static inline struct mmu_gather *
-tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush)
+static inline void
+tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int fullmm)
{
- struct mmu_gather *tlb = &get_cpu_var(mmu_gathers);
-
tlb->mm = mm;
- tlb->fullmm = full_mm_flush;
-
- return tlb;
+ tlb->fullmm = fullmm;
}
static inline void
@@ -48,8 +42,6 @@ tlb_finish_mmu(struct mmu_gather *tlb, u
/* keep the page table cache within bounds */
check_pgt_cache();
-
- put_cpu_var(mmu_gathers);
}
/*
@@ -88,7 +80,23 @@ tlb_end_vma(struct mmu_gather *tlb, stru
flush_tlb_range(vma, tlb->range_start, tlb->range_end);
}
-#define tlb_remove_page(tlb, page) free_page_and_swap_cache(page)
+static inline void tlb_flush_mmu(struct mmu_gather *tlb)
+{
+}
+
+static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
+{
+ free_page_and_swap_cache(page);
+ return 0;
+}
+
+static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
+{
+ if (__tlb_remove_page(tlb, page))
+ tlb_flush_mmu(tlb);
+}
+
+
#define pte_free_tlb(tlb, ptep, addr) pte_free((tlb)->mm, ptep)
#define pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, pmdp)
#define pud_free_tlb(tlb, x, addr) do { } while (0)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Andrea Arcangeli <aarcange@redhat.com>,
Avi Kivity <avi@redhat.com>, Thomas Gleixner <tglx@linutronix.de>,
Rik van Riel <riel@redhat.com>, Ingo Molnar <mingo@elte.hu>,
akpm@linux-foundation.org,
Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
linux-mm@kvack.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
David Miller <davem@davemloft.net>,
Hugh Dickins <hugh.dickins@tiscali.co.uk>,
Mel Gorman <mel@csn.ul.ie>, Nick Piggin <npiggin@kernel.dk>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul McKenney <paulmck@linux.vnet.ibm.com>,
Yanmin Zhang <yanmin_zhang@linux.intel.com>,
Guan Xuetao <gxt@mprc.pku.edu.cn>
Subject: [PATCH 09/13] unicore: mmu_gather rework
Date: Wed, 02 Mar 2011 18:50:13 +0100 [thread overview]
Message-ID: <20110302175200.883953013@chello.nl> (raw)
Message-ID: <20110302175013.1dxUd3TVg44IJrP81CmFG14n07SrBJW25VtQCnP_9bk@z> (raw)
In-Reply-To: 20110302175004.222724818@chello.nl
[-- Attachment #1: peter_zijlstra-unicore-mmu_gather.patch --]
[-- Type: text/plain, Size: 1902 bytes --]
Fix up the unicore mmu_gather code to conform to the new API.
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
arch/unicore32/include/asm/tlb.h | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
Index: linux-2.6/arch/unicore32/include/asm/tlb.h
===================================================================
--- linux-2.6.orig/arch/unicore32/include/asm/tlb.h
+++ linux-2.6/arch/unicore32/include/asm/tlb.h
@@ -27,17 +27,11 @@ struct mmu_gather {
unsigned long range_end;
};
-DECLARE_PER_CPU(struct mmu_gather, mmu_gathers);
-
-static inline struct mmu_gather *
-tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush)
+static inline void
+tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int fullmm)
{
- struct mmu_gather *tlb = &get_cpu_var(mmu_gathers);
-
tlb->mm = mm;
- tlb->fullmm = full_mm_flush;
-
- return tlb;
+ tlb->fullmm = fullmm;
}
static inline void
@@ -48,8 +42,6 @@ tlb_finish_mmu(struct mmu_gather *tlb, u
/* keep the page table cache within bounds */
check_pgt_cache();
-
- put_cpu_var(mmu_gathers);
}
/*
@@ -88,7 +80,23 @@ tlb_end_vma(struct mmu_gather *tlb, stru
flush_tlb_range(vma, tlb->range_start, tlb->range_end);
}
-#define tlb_remove_page(tlb, page) free_page_and_swap_cache(page)
+static inline void tlb_flush_mmu(struct mmu_gather *tlb)
+{
+}
+
+static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
+{
+ free_page_and_swap_cache(page);
+ return 0;
+}
+
+static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
+{
+ if (__tlb_remove_page(tlb, page))
+ tlb_flush_mmu(tlb);
+}
+
+
#define pte_free_tlb(tlb, ptep, addr) pte_free((tlb)->mm, ptep)
#define pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, pmdp)
#define pud_free_tlb(tlb, x, addr) do { } while (0)
WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Andrea Arcangeli <aarcange@redhat.com>,
Avi Kivity <avi@redhat.com>, Thomas Gleixner <tglx@linutronix.de>,
Rik van Riel <riel@redhat.com>, Ingo Molnar <mingo@elte.hu>,
akpm@linux-foundation.org,
Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
linux-mm@kvack.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
David Miller <davem@davemloft.net>,
Hugh Dickins <hugh.dickins@tiscali.co.uk>,
Mel Gorman <mel@csn.ul.ie>, Nick Piggin <npiggin@kernel.dk>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul McKenney <paulmck@linux.vnet.ibm.com>,
Yanmin Zhang <yanmin_zhang@linux.intel.com>,
Guan Xuetao <gxt@mprc.pku.edu.cn>
Subject: [PATCH 09/13] unicore: mmu_gather rework
Date: Wed, 02 Mar 2011 18:50:13 +0100 [thread overview]
Message-ID: <20110302175200.883953013@chello.nl> (raw)
In-Reply-To: 20110302175004.222724818@chello.nl
[-- Attachment #1: peter_zijlstra-unicore-mmu_gather.patch --]
[-- Type: text/plain, Size: 2205 bytes --]
Fix up the unicore mmu_gather code to conform to the new API.
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
arch/unicore32/include/asm/tlb.h | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
Index: linux-2.6/arch/unicore32/include/asm/tlb.h
===================================================================
--- linux-2.6.orig/arch/unicore32/include/asm/tlb.h
+++ linux-2.6/arch/unicore32/include/asm/tlb.h
@@ -27,17 +27,11 @@ struct mmu_gather {
unsigned long range_end;
};
-DECLARE_PER_CPU(struct mmu_gather, mmu_gathers);
-
-static inline struct mmu_gather *
-tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush)
+static inline void
+tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int fullmm)
{
- struct mmu_gather *tlb = &get_cpu_var(mmu_gathers);
-
tlb->mm = mm;
- tlb->fullmm = full_mm_flush;
-
- return tlb;
+ tlb->fullmm = fullmm;
}
static inline void
@@ -48,8 +42,6 @@ tlb_finish_mmu(struct mmu_gather *tlb, u
/* keep the page table cache within bounds */
check_pgt_cache();
-
- put_cpu_var(mmu_gathers);
}
/*
@@ -88,7 +80,23 @@ tlb_end_vma(struct mmu_gather *tlb, stru
flush_tlb_range(vma, tlb->range_start, tlb->range_end);
}
-#define tlb_remove_page(tlb, page) free_page_and_swap_cache(page)
+static inline void tlb_flush_mmu(struct mmu_gather *tlb)
+{
+}
+
+static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
+{
+ free_page_and_swap_cache(page);
+ return 0;
+}
+
+static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
+{
+ if (__tlb_remove_page(tlb, page))
+ tlb_flush_mmu(tlb);
+}
+
+
#define pte_free_tlb(tlb, ptep, addr) pte_free((tlb)->mm, ptep)
#define pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, pmdp)
#define pud_free_tlb(tlb, x, addr) do { } while (0)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-03-02 17:50 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-02 17:50 [PATCH 00/13] mm: mmu_gather rework -v2 Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 01/13] mm: mmu_gather rework Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 02/13] powerpc: " Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 03/13] sparc: " Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 04/13] s390: " Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 05/13] arm: " Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 06/13] sh: " Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 07/13] ia64: " Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 08/13] um: " Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra [this message]
2011-03-02 17:50 ` [PATCH 09/13] unicore: " Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-04 11:56 ` Guan Xuetao
2011-03-04 11:56 ` Guan Xuetao
2011-03-04 11:56 ` Guan Xuetao
2011-03-04 12:17 ` Peter Zijlstra
2011-03-04 12:17 ` Peter Zijlstra
2011-03-08 10:25 ` Guan Xuetao
2011-03-08 10:25 ` Guan Xuetao
2011-03-08 10:25 ` Guan Xuetao
2011-03-02 17:50 ` [PATCH 10/13] mm: Now that all old mmu_gather code is gone, remove the storage Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 11/13] mm, powerpc: Move the RCU page-table freeing into generic code Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 12/13] s390: use generic RCP page-table freeing Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` [PATCH 13/13] mm: Extended batches for generic mmu_gather Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
2011-03-02 17:50 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110302175200.883953013@chello.nl \
--to=a.p.zijlstra@chello.nl \
--cc=aarcange@redhat.com \
--cc=akpm@linux-fo \
--cc=avi@redhat.com \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=gxt@mprc.pku.edu.cn \
--cc=hugh.dickins@tiscali.co.uk \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=mingo@elte.hu \
--cc=npiggin@kernel.dk \
--cc=paulmck@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=tglx@linutronix.de \
--cc=yanmin_zhang@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.