All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20100302110058.GA1921@linux>

diff --git a/a/1.txt b/N1/1.txt
index 58988ba..a79d1c3 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -2,111 +2,111 @@ On Tue, Mar 02, 2010 at 12:04:53PM +0200, Kirill A. Shutemov wrote:
 [snip]
 > > +static inline s64 mem_cgroup_page_stat(enum mem_cgroup_page_stat_item item)
 > > +{
-> > +       return -ENOMEM;
+> > +       return -ENOMEM;
 > 
 > Why ENOMEM? Probably, EINVAL or ENOSYS?
 
 OK, ENOSYS is more appropriate IMHO.
 
 > > +static s64 mem_cgroup_get_local_page_stat(struct mem_cgroup *memcg,
-> > +                               enum mem_cgroup_page_stat_item item)
+> > +                               enum mem_cgroup_page_stat_item item)
 > > +{
-> > +       s64 ret;
+> > +       s64 ret;
 > > +
-> > +       switch (item) {
-> > +       case MEMCG_NR_DIRTYABLE_PAGES:
-> > +               ret = res_counter_read_u64(&memcg->res, RES_LIMIT) -
-> > +                       res_counter_read_u64(&memcg->res, RES_USAGE);
-> > +               /* Translate free memory in pages */
-> > +               ret >>= PAGE_SHIFT;
-> > +               ret += mem_cgroup_read_stat(memcg, LRU_ACTIVE_FILE) +
-> > +                       mem_cgroup_read_stat(memcg, LRU_INACTIVE_FILE);
-> > +               if (mem_cgroup_can_swap(memcg))
-> > +                       ret += mem_cgroup_read_stat(memcg, LRU_ACTIVE_ANON) +
-> > +                               mem_cgroup_read_stat(memcg, LRU_INACTIVE_ANON);
-> > +               break;
-> > +       case MEMCG_NR_RECLAIM_PAGES:
-> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_FILE_DIRTY) +
-> > +                       mem_cgroup_read_stat(memcg,
-> > +                                       MEM_CGROUP_STAT_UNSTABLE_NFS);
-> > +               break;
-> > +       case MEMCG_NR_WRITEBACK:
-> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_WRITEBACK);
-> > +               break;
-> > +       case MEMCG_NR_DIRTY_WRITEBACK_PAGES:
-> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_WRITEBACK) +
-> > +                       mem_cgroup_read_stat(memcg,
-> > +                               MEM_CGROUP_STAT_UNSTABLE_NFS);
-> > +               break;
-> > +       default:
-> > +               ret = 0;
-> > +               WARN_ON_ONCE(1);
+> > +       switch (item) {
+> > +       case MEMCG_NR_DIRTYABLE_PAGES:
+> > +               ret = res_counter_read_u64(&memcg->res, RES_LIMIT) -
+> > +                       res_counter_read_u64(&memcg->res, RES_USAGE);
+> > +               /* Translate free memory in pages */
+> > +               ret >>= PAGE_SHIFT;
+> > +               ret += mem_cgroup_read_stat(memcg, LRU_ACTIVE_FILE) +
+> > +                       mem_cgroup_read_stat(memcg, LRU_INACTIVE_FILE);
+> > +               if (mem_cgroup_can_swap(memcg))
+> > +                       ret += mem_cgroup_read_stat(memcg, LRU_ACTIVE_ANON) +
+> > +                               mem_cgroup_read_stat(memcg, LRU_INACTIVE_ANON);
+> > +               break;
+> > +       case MEMCG_NR_RECLAIM_PAGES:
+> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_FILE_DIRTY) +
+> > +                       mem_cgroup_read_stat(memcg,
+> > +                                       MEM_CGROUP_STAT_UNSTABLE_NFS);
+> > +               break;
+> > +       case MEMCG_NR_WRITEBACK:
+> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_WRITEBACK);
+> > +               break;
+> > +       case MEMCG_NR_DIRTY_WRITEBACK_PAGES:
+> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_WRITEBACK) +
+> > +                       mem_cgroup_read_stat(memcg,
+> > +                               MEM_CGROUP_STAT_UNSTABLE_NFS);
+> > +               break;
+> > +       default:
+> > +               ret = 0;
+> > +               WARN_ON_ONCE(1);
 > 
 > I think it's a bug, not warning.
 
 OK.
 
-> > +       }
-> > +       return ret;
+> > +       }
+> > +       return ret;
 > > +}
 > > +
 > > +static int mem_cgroup_page_stat_cb(struct mem_cgroup *mem, void *data)
 > > +{
-> > +       struct mem_cgroup_page_stat *stat = (struct mem_cgroup_page_stat *)data;
+> > +       struct mem_cgroup_page_stat *stat = (struct mem_cgroup_page_stat *)data;
 > > +
-> > +       stat->value += mem_cgroup_get_local_page_stat(mem, stat->item);
-> > +       return 0;
+> > +       stat->value += mem_cgroup_get_local_page_stat(mem, stat->item);
+> > +       return 0;
 > > +}
 > > +
 > > +s64 mem_cgroup_page_stat(enum mem_cgroup_page_stat_item item)
 > > +{
-> > +       struct mem_cgroup_page_stat stat = {};
-> > +       struct mem_cgroup *memcg;
+> > +       struct mem_cgroup_page_stat stat = {};
+> > +       struct mem_cgroup *memcg;
 > > +
-> > +       if (mem_cgroup_disabled())
-> > +               return -ENOMEM;
+> > +       if (mem_cgroup_disabled())
+> > +               return -ENOMEM;
 > 
 > EINVAL/ENOSYS?
 
 OK.
 
 > 
-> > +       rcu_read_lock();
-> > +       memcg = mem_cgroup_from_task(current);
-> > +       if (memcg) {
-> > +               /*
-> > +                * Recursively evaulate page statistics against all cgroup
-> > +                * under hierarchy tree
-> > +                */
-> > +               stat.item = item;
-> > +               mem_cgroup_walk_tree(memcg, &stat, mem_cgroup_page_stat_cb);
-> > +       } else
-> > +               stat.value = -ENOMEM;
+> > +       rcu_read_lock();
+> > +       memcg = mem_cgroup_from_task(current);
+> > +       if (memcg) {
+> > +               /*
+> > +                * Recursively evaulate page statistics against all cgroup
+> > +                * under hierarchy tree
+> > +                */
+> > +               stat.item = item;
+> > +               mem_cgroup_walk_tree(memcg, &stat, mem_cgroup_page_stat_cb);
+> > +       } else
+> > +               stat.value = -ENOMEM;
 > 
 > ditto.
 
 OK.
 
 > 
-> > +       rcu_read_unlock();
+> > +       rcu_read_unlock();
 > > +
-> > +       return stat.value;
+> > +       return stat.value;
 > > +}
 > > +
-> >  static int mem_cgroup_count_children_cb(struct mem_cgroup *mem, void *data)
-> >  {
-> >        int *val = data;
+> >  static int mem_cgroup_count_children_cb(struct mem_cgroup *mem, void *data)
+> >  {
+> >        int *val = data;
 > > @@ -1263,14 +1418,16 @@ static void record_last_oom(struct mem_cgroup *mem)
-> >  }
+> >  }
 > >
-> >  /*
+> >  /*
 > > - * Currently used to update mapped file statistics, but the routine can be
 > > - * generalized to update other statistics as well.
 > > + * Generalized routine to update memory cgroup statistics.
-> >  */
+> >  */
 > > -void mem_cgroup_update_file_mapped(struct page *page, int val)
 > > +void mem_cgroup_update_stat(struct page *page,
-> > +                       enum mem_cgroup_stat_index idx, int val)
+> > +                       enum mem_cgroup_stat_index idx, int val)
 > 
 > EXPORT_SYMBOL_GPL(mem_cgroup_update_stat) is needed, since
 > it uses by filesystems.
@@ -116,13 +116,13 @@ Agreed.
 > > +static int
 > > +mem_cgroup_dirty_write(struct cgroup *cgrp, struct cftype *cft, u64 val)
 > > +{
-> > +       struct mem_cgroup *memcg = mem_cgroup_from_cont(cgrp);
-> > +       int type = cft->private;
+> > +       struct mem_cgroup *memcg = mem_cgroup_from_cont(cgrp);
+> > +       int type = cft->private;
 > > +
-> > +       if (cgrp->parent == NULL)
-> > +               return -EINVAL;
-> > +       if (((type == MEM_CGROUP_DIRTY_RATIO) ||
-> > +               (type == MEM_CGROUP_DIRTY_BACKGROUND_RATIO)) && (val > 100))
+> > +       if (cgrp->parent == NULL)
+> > +               return -EINVAL;
+> > +       if (((type == MEM_CGROUP_DIRTY_RATIO) ||
+> > +               (type == MEM_CGROUP_DIRTY_BACKGROUND_RATIO)) && (val > 100))
 > 
 > Too many unnecessary brackets
 > 
@@ -134,3 +134,9 @@ OK.
 
 Thanks,
 -Andrea
+
+--
+To unsubscribe, send a message with 'unsubscribe linux-mm' in
+the body to majordomo@kvack.org.  For more info on Linux MM,
+see: http://www.linux-mm.org/ .
+Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
diff --git a/a/content_digest b/N1/content_digest
index 2f34344..b14c53f 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -20,111 +20,111 @@
  "[snip]\n"
  "> > +static inline s64 mem_cgroup_page_stat(enum mem_cgroup_page_stat_item item)\n"
  "> > +{\n"
- "> > + \302\240 \302\240 \302\240 return -ENOMEM;\n"
+ "> > +       return -ENOMEM;\n"
  "> \n"
  "> Why ENOMEM? Probably, EINVAL or ENOSYS?\n"
  "\n"
  "OK, ENOSYS is more appropriate IMHO.\n"
  "\n"
  "> > +static s64 mem_cgroup_get_local_page_stat(struct mem_cgroup *memcg,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 enum mem_cgroup_page_stat_item item)\n"
+ "> > +                               enum mem_cgroup_page_stat_item item)\n"
  "> > +{\n"
- "> > + \302\240 \302\240 \302\240 s64 ret;\n"
+ "> > +       s64 ret;\n"
  "> > +\n"
- "> > + \302\240 \302\240 \302\240 switch (item) {\n"
- "> > + \302\240 \302\240 \302\240 case MEMCG_NR_DIRTYABLE_PAGES:\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 ret = res_counter_read_u64(&memcg->res, RES_LIMIT) -\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 res_counter_read_u64(&memcg->res, RES_USAGE);\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 /* Translate free memory in pages */\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 ret >>= PAGE_SHIFT;\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 ret += mem_cgroup_read_stat(memcg, LRU_ACTIVE_FILE) +\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 mem_cgroup_read_stat(memcg, LRU_INACTIVE_FILE);\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 if (mem_cgroup_can_swap(memcg))\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 ret += mem_cgroup_read_stat(memcg, LRU_ACTIVE_ANON) +\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 mem_cgroup_read_stat(memcg, LRU_INACTIVE_ANON);\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 break;\n"
- "> > + \302\240 \302\240 \302\240 case MEMCG_NR_RECLAIM_PAGES:\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_FILE_DIRTY) +\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 mem_cgroup_read_stat(memcg,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 MEM_CGROUP_STAT_UNSTABLE_NFS);\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 break;\n"
- "> > + \302\240 \302\240 \302\240 case MEMCG_NR_WRITEBACK:\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_WRITEBACK);\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 break;\n"
- "> > + \302\240 \302\240 \302\240 case MEMCG_NR_DIRTY_WRITEBACK_PAGES:\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_WRITEBACK) +\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 mem_cgroup_read_stat(memcg,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 MEM_CGROUP_STAT_UNSTABLE_NFS);\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 break;\n"
- "> > + \302\240 \302\240 \302\240 default:\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 ret = 0;\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 WARN_ON_ONCE(1);\n"
+ "> > +       switch (item) {\n"
+ "> > +       case MEMCG_NR_DIRTYABLE_PAGES:\n"
+ "> > +               ret = res_counter_read_u64(&memcg->res, RES_LIMIT) -\n"
+ "> > +                       res_counter_read_u64(&memcg->res, RES_USAGE);\n"
+ "> > +               /* Translate free memory in pages */\n"
+ "> > +               ret >>= PAGE_SHIFT;\n"
+ "> > +               ret += mem_cgroup_read_stat(memcg, LRU_ACTIVE_FILE) +\n"
+ "> > +                       mem_cgroup_read_stat(memcg, LRU_INACTIVE_FILE);\n"
+ "> > +               if (mem_cgroup_can_swap(memcg))\n"
+ "> > +                       ret += mem_cgroup_read_stat(memcg, LRU_ACTIVE_ANON) +\n"
+ "> > +                               mem_cgroup_read_stat(memcg, LRU_INACTIVE_ANON);\n"
+ "> > +               break;\n"
+ "> > +       case MEMCG_NR_RECLAIM_PAGES:\n"
+ "> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_FILE_DIRTY) +\n"
+ "> > +                       mem_cgroup_read_stat(memcg,\n"
+ "> > +                                       MEM_CGROUP_STAT_UNSTABLE_NFS);\n"
+ "> > +               break;\n"
+ "> > +       case MEMCG_NR_WRITEBACK:\n"
+ "> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_WRITEBACK);\n"
+ "> > +               break;\n"
+ "> > +       case MEMCG_NR_DIRTY_WRITEBACK_PAGES:\n"
+ "> > +               ret = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_WRITEBACK) +\n"
+ "> > +                       mem_cgroup_read_stat(memcg,\n"
+ "> > +                               MEM_CGROUP_STAT_UNSTABLE_NFS);\n"
+ "> > +               break;\n"
+ "> > +       default:\n"
+ "> > +               ret = 0;\n"
+ "> > +               WARN_ON_ONCE(1);\n"
  "> \n"
  "> I think it's a bug, not warning.\n"
  "\n"
  "OK.\n"
  "\n"
- "> > + \302\240 \302\240 \302\240 }\n"
- "> > + \302\240 \302\240 \302\240 return ret;\n"
+ "> > +       }\n"
+ "> > +       return ret;\n"
  "> > +}\n"
  "> > +\n"
  "> > +static int mem_cgroup_page_stat_cb(struct mem_cgroup *mem, void *data)\n"
  "> > +{\n"
- "> > + \302\240 \302\240 \302\240 struct mem_cgroup_page_stat *stat = (struct mem_cgroup_page_stat *)data;\n"
+ "> > +       struct mem_cgroup_page_stat *stat = (struct mem_cgroup_page_stat *)data;\n"
  "> > +\n"
- "> > + \302\240 \302\240 \302\240 stat->value += mem_cgroup_get_local_page_stat(mem, stat->item);\n"
- "> > + \302\240 \302\240 \302\240 return 0;\n"
+ "> > +       stat->value += mem_cgroup_get_local_page_stat(mem, stat->item);\n"
+ "> > +       return 0;\n"
  "> > +}\n"
  "> > +\n"
  "> > +s64 mem_cgroup_page_stat(enum mem_cgroup_page_stat_item item)\n"
  "> > +{\n"
- "> > + \302\240 \302\240 \302\240 struct mem_cgroup_page_stat stat = {};\n"
- "> > + \302\240 \302\240 \302\240 struct mem_cgroup *memcg;\n"
+ "> > +       struct mem_cgroup_page_stat stat = {};\n"
+ "> > +       struct mem_cgroup *memcg;\n"
  "> > +\n"
- "> > + \302\240 \302\240 \302\240 if (mem_cgroup_disabled())\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 return -ENOMEM;\n"
+ "> > +       if (mem_cgroup_disabled())\n"
+ "> > +               return -ENOMEM;\n"
  "> \n"
  "> EINVAL/ENOSYS?\n"
  "\n"
  "OK.\n"
  "\n"
  "> \n"
- "> > + \302\240 \302\240 \302\240 rcu_read_lock();\n"
- "> > + \302\240 \302\240 \302\240 memcg = mem_cgroup_from_task(current);\n"
- "> > + \302\240 \302\240 \302\240 if (memcg) {\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 /*\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240* Recursively evaulate page statistics against all cgroup\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240* under hierarchy tree\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240*/\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 stat.item = item;\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 mem_cgroup_walk_tree(memcg, &stat, mem_cgroup_page_stat_cb);\n"
- "> > + \302\240 \302\240 \302\240 } else\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 stat.value = -ENOMEM;\n"
+ "> > +       rcu_read_lock();\n"
+ "> > +       memcg = mem_cgroup_from_task(current);\n"
+ "> > +       if (memcg) {\n"
+ "> > +               /*\n"
+ "> > +                * Recursively evaulate page statistics against all cgroup\n"
+ "> > +                * under hierarchy tree\n"
+ "> > +                */\n"
+ "> > +               stat.item = item;\n"
+ "> > +               mem_cgroup_walk_tree(memcg, &stat, mem_cgroup_page_stat_cb);\n"
+ "> > +       } else\n"
+ "> > +               stat.value = -ENOMEM;\n"
  "> \n"
  "> ditto.\n"
  "\n"
  "OK.\n"
  "\n"
  "> \n"
- "> > + \302\240 \302\240 \302\240 rcu_read_unlock();\n"
+ "> > +       rcu_read_unlock();\n"
  "> > +\n"
- "> > + \302\240 \302\240 \302\240 return stat.value;\n"
+ "> > +       return stat.value;\n"
  "> > +}\n"
  "> > +\n"
- "> > \302\240static int mem_cgroup_count_children_cb(struct mem_cgroup *mem, void *data)\n"
- "> > \302\240{\n"
- "> > \302\240 \302\240 \302\240 \302\240int *val = data;\n"
+ "> >  static int mem_cgroup_count_children_cb(struct mem_cgroup *mem, void *data)\n"
+ "> >  {\n"
+ "> >        int *val = data;\n"
  "> > @@ -1263,14 +1418,16 @@ static void record_last_oom(struct mem_cgroup *mem)\n"
- "> > \302\240}\n"
+ "> >  }\n"
  "> >\n"
- "> > \302\240/*\n"
+ "> >  /*\n"
  "> > - * Currently used to update mapped file statistics, but the routine can be\n"
  "> > - * generalized to update other statistics as well.\n"
  "> > + * Generalized routine to update memory cgroup statistics.\n"
- "> > \302\240*/\n"
+ "> >  */\n"
  "> > -void mem_cgroup_update_file_mapped(struct page *page, int val)\n"
  "> > +void mem_cgroup_update_stat(struct page *page,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 enum mem_cgroup_stat_index idx, int val)\n"
+ "> > +                       enum mem_cgroup_stat_index idx, int val)\n"
  "> \n"
  "> EXPORT_SYMBOL_GPL(mem_cgroup_update_stat) is needed, since\n"
  "> it uses by filesystems.\n"
@@ -134,13 +134,13 @@
  "> > +static int\n"
  "> > +mem_cgroup_dirty_write(struct cgroup *cgrp, struct cftype *cft, u64 val)\n"
  "> > +{\n"
- "> > + \302\240 \302\240 \302\240 struct mem_cgroup *memcg = mem_cgroup_from_cont(cgrp);\n"
- "> > + \302\240 \302\240 \302\240 int type = cft->private;\n"
+ "> > +       struct mem_cgroup *memcg = mem_cgroup_from_cont(cgrp);\n"
+ "> > +       int type = cft->private;\n"
  "> > +\n"
- "> > + \302\240 \302\240 \302\240 if (cgrp->parent == NULL)\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 return -EINVAL;\n"
- "> > + \302\240 \302\240 \302\240 if (((type == MEM_CGROUP_DIRTY_RATIO) ||\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 (type == MEM_CGROUP_DIRTY_BACKGROUND_RATIO)) && (val > 100))\n"
+ "> > +       if (cgrp->parent == NULL)\n"
+ "> > +               return -EINVAL;\n"
+ "> > +       if (((type == MEM_CGROUP_DIRTY_RATIO) ||\n"
+ "> > +               (type == MEM_CGROUP_DIRTY_BACKGROUND_RATIO)) && (val > 100))\n"
  "> \n"
  "> Too many unnecessary brackets\n"
  "> \n"
@@ -151,6 +151,12 @@
  "OK.\n"
  "\n"
  "Thanks,\n"
- -Andrea
+ "-Andrea\n"
+ "\n"
+ "--\n"
+ "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n"
+ "the body to majordomo@kvack.org.  For more info on Linux MM,\n"
+ "see: http://www.linux-mm.org/ .\n"
+ "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>"
 
-02534379cbe3a2f80e457f4e79854566863420b62a2647b2d3c15ef6da4df7df
+8acd810280b800d5da4e2c5a646c2d2914d617183c5cce6c3339daeaa0d4c792

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.