summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/mm/tlb.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-26 19:44:50 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 01:14:06 -0800
commit7a591cfe4efef8a232e4938d44ae6693b319f6d7 (patch)
treee6fbdfb34572f768788b773e3ce186e3924ab685 /arch/sparc64/mm/tlb.c
parent2a3a5f5ddbefde498e87f10924d4bf741c5bf37f (diff)
downloadlinux-7a591cfe4efef8a232e4938d44ae6693b319f6d7.tar.gz
linux-7a591cfe4efef8a232e4938d44ae6693b319f6d7.tar.bz2
linux-7a591cfe4efef8a232e4938d44ae6693b319f6d7.zip
[SPARC64]: Avoid dcache-dirty page state management on sun4v.
It is totally wasted work, since we have no D-cache aliasing issues on sun4v. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/mm/tlb.c')
-rw-r--r--arch/sparc64/mm/tlb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sparc64/mm/tlb.c b/arch/sparc64/mm/tlb.c
index 78357cc2a0b7..a079cf42505e 100644
--- a/arch/sparc64/mm/tlb.c
+++ b/arch/sparc64/mm/tlb.c
@@ -49,7 +49,8 @@ void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t
if (pte_exec(orig))
vaddr |= 0x1UL;
- if (pte_dirty(orig)) {
+ if (tlb_type != hypervisor &&
+ pte_dirty(orig)) {
unsigned long paddr, pfn = pte_pfn(orig);
struct address_space *mapping;
struct page *page;