qubes-linux-kernel/patches.arch/s390-add-FREE_PTE_NR

44 lines
1.3 KiB
Plaintext
Raw Normal View History

From: Jeff Mahoney <jeffm@suse.com>
Subject: [PATCH] s390: Define FREE_PTE_NR
Patch-mainline: Never, unless FREE_PTE_NR is used in generic code
Commit ba8a9229ab9e80278c28ad68b15053f65b2b0a7c from
Martin Schwidefsky <schwidefsky@de.ibm.com> removed the
#include <asm-generic/tlb.h> from asm-s390/tlb.h when he defined the
s390-specific TLB operations.
FREE_PTR_NR is generally an internal-only value, but our unmap_vmas-lat
patch uses it to make smarter decisions about dumping PTEs in chunks.
This patch restores the generic value in asm-s390/tlb.h. Since it's only
used for an optimization, this should be safe.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
arch/s390/include/asm/tlb.h | 13 +++++++++++++
1 file changed, 13 insertions(+)
--- a/arch/s390/include/asm/tlb.h
+++ b/arch/s390/include/asm/tlb.h
@@ -34,6 +34,19 @@
#define TLB_NR_PTRS 508
#endif
+/* Lifted from asm-generic/tlb.h; Is used by patches.suse/unmap_vmas-lat */
+/*
+ * For UP we don't need to worry about TLB flush
+ * and page free order so much..
+ */
+#ifdef CONFIG_SMP
+ #define FREE_PTE_NR 506
+ #define tlb_fast_mode(tlb) ((tlb)->nr == ~0U)
+#else
+ #define FREE_PTE_NR 1
+ #define tlb_fast_mode(tlb) 1
+#endif
+
struct mmu_gather {
struct mm_struct *mm;
unsigned int fullmm;