]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - mm/memcontrol.c
per-zone and reclaim enhancements for memory controller: remember reclaim priority...
[linux-2.6-omap-h63xx.git] / mm / memcontrol.c
index 78a928d902674c9ffe647b4cdda7cc745b54f089..f8a6a39c440d8a9c26704dc7de96fdc566d41b96 100644 (file)
@@ -132,6 +132,7 @@ struct mem_cgroup {
         */
        spinlock_t lru_lock;
        unsigned long control_type;     /* control RSS or RSS+Pagecache */
+       int     prev_priority;  /* for recording reclaim priority */
        /*
         * statistics.
         */
@@ -451,6 +452,25 @@ long mem_cgroup_reclaim_imbalance(struct mem_cgroup *mem)
        return (long) (active / (inactive + 1));
 }
 
+/*
+ * prev_priority control...this will be used in memory reclaim path.
+ */
+int mem_cgroup_get_reclaim_priority(struct mem_cgroup *mem)
+{
+       return mem->prev_priority;
+}
+
+void mem_cgroup_note_reclaim_priority(struct mem_cgroup *mem, int priority)
+{
+       if (priority < mem->prev_priority)
+               mem->prev_priority = priority;
+}
+
+void mem_cgroup_record_reclaim_priority(struct mem_cgroup *mem, int priority)
+{
+       mem->prev_priority = priority;
+}
+
 unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan,
                                        struct list_head *dst,
                                        unsigned long *scanned, int order,