[RFC 8/8] Optimize mempolicies for a single zone

From: Christoph Lameter
Date: Fri Jul 07 2006 - 20:04:59 EST


Use SINGLE_ZONE to remove the highest zone determination

Siged-off-by: Christoph Lameter <clameter@xxxxxxx>

Index: linux-2.6.17-mm6/mm/mempolicy.c
===================================================================
--- linux-2.6.17-mm6.orig/mm/mempolicy.c 2006-07-07 16:50:18.790221361 -0700
+++ linux-2.6.17-mm6/mm/mempolicy.c 2006-07-07 16:53:46.057679926 -0700
@@ -103,9 +103,11 @@ static struct kmem_cache *sn_cache;

#define PDprintk(fmt...)

+#ifndef SINGLE_ZONE
/* Highest zone. An specific allocation for a zone below that is not
policied. */
int policy_zone = 0;
+#endif

struct mempolicy default_policy = {
.refcnt = ATOMIC_INIT(1), /* never free it */
Index: linux-2.6.17-mm6/include/linux/mempolicy.h
===================================================================
--- linux-2.6.17-mm6.orig/include/linux/mempolicy.h 2006-07-03 13:47:21.727467854 -0700
+++ linux-2.6.17-mm6/include/linux/mempolicy.h 2006-07-07 16:53:46.057679926 -0700
@@ -162,12 +162,18 @@ extern struct zonelist *huge_zonelist(st
unsigned long addr);
extern unsigned slab_node(struct mempolicy *policy);

+#ifndef SINGLE_ZONE
+#define policy_zone ZONE_NORMAL
+#else
extern int policy_zone;
+#endif

static inline void check_highest_zone(int k)
{
+#ifndef SINGLE_ZONE
if (k > policy_zone)
policy_zone = k;
+#endif
}

int do_migrate_pages(struct mm_struct *mm,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/