[patch] mips, mm: avoid using HPAGE constants without CONFIG_HUGETLB_PAGE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HPAGE_{MASK,SHIFT,SIZE} are only defined with CONFIG_HUGETLB_PAGE, so
make sure to never use them unless that option is enabled.

Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
---
 arch/mips/mm/tlb-r4k.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -124,9 +124,11 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
 
 		ENTER_CRITICAL(flags);
 		if (huge) {
+#ifdef CONFIG_HUGETLB_PAGE
 			start = round_down(start, HPAGE_SIZE);
 			end = round_up(end, HPAGE_SIZE);
 			size = (end - start) >> HPAGE_SHIFT;
+#endif
 		} else {
 			start = round_down(start, PAGE_SIZE << 1);
 			end = round_up(end, PAGE_SIZE << 1);
@@ -135,15 +137,16 @@ void local_flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
 		if (size <= current_cpu_data.tlbsize/2) {
 			int oldpid = read_c0_entryhi();
 			int newpid = cpu_asid(cpu, mm);
+			unsigned long incr = PAGE_SIZE << 1;
 
-			while (start < end) {
+#ifdef CONFIG_HUGETLB_PAGE
+			if (huge)
+				incr = HPAGE_SIZE;
+#endif
+			for (; start < end; start += incr) {
 				int idx;
 
 				write_c0_entryhi(start | newpid);
-				if (huge)
-					start += HPAGE_SIZE;
-				else
-					start += (PAGE_SIZE << 1);
 				mtc0_tlbw_hazard();
 				tlb_probe();
 				tlb_probe_hazard();



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux