--- /dev/null
+From: andrea@suse.de
+Subject: low-latency stuff
+
+
+My point is that preempt and no-preempt should do the same thing there,
+otherwise when you benchmark -preempt, you'll get better latency,
+but not because of the preempt feature, but just because of unrelated
+latency improvements that have nothing to do with preempt.
+
+
+---
+ mm/memory.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/mm/memory.c
++++ b/mm/memory.c
+@@ -855,11 +855,11 @@ static unsigned long unmap_page_range(st
+ return addr;
+ }
+
+-#ifdef CONFIG_PREEMPT
+-# define ZAP_BLOCK_SIZE (8 * PAGE_SIZE)
++#ifdef CONFIG_SMP
++/* zap one pte page at a time */
++#define ZAP_BLOCK_SIZE (FREE_PTE_NR * PAGE_SIZE)
+ #else
+-/* No preempt: go for improved straight-line efficiency */
+-# define ZAP_BLOCK_SIZE (1024 * PAGE_SIZE)
++#define ZAP_BLOCK_SIZE (253 * PAGE_SIZE)
+ #endif
+
+ /**