[lkml]   [2012]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH 15/40] autonuma: knuma_migrated per NUMA node queues
This implements the knuma_migrated queues. The pages are added to
these queues through the NUMA hinting page faults (memory follow CPU
algorithm with false sharing evaluation) and knuma_migrated then is
waken with a certain hysteresis to migrate the memory in round robin
from all remote nodes to its local node.

The head that belongs to the local node that knuma_migrated runs on,
for now must be empty and it's not being used.

Signed-off-by: Andrea Arcangeli <>
include/linux/mmzone.h | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 2427706..d53b26a 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -697,6 +697,12 @@ typedef struct pglist_data {
struct task_struct *kswapd;
int kswapd_max_order;
enum zone_type classzone_idx;
+ spinlock_t autonuma_lock;
+ struct list_head autonuma_migrate_head[MAX_NUMNODES];
+ unsigned long autonuma_nr_migrate_pages;
+ wait_queue_head_t autonuma_knuma_migrated_wait;
} pg_data_t;

#define node_present_pages(nid) (NODE_DATA(nid)->node_present_pages)

 \ /
  Last update: 2012-06-28 15:21    [W:0.272 / U:12.788 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site