Messages in this thread | | | Date | Wed, 13 Jan 2010 15:23:44 -0800 (PST) | From | David Rientjes <> | Subject | Re: [PATCH 5/7] Add /proc trigger for memory compaction |
| |
On Thu, 7 Jan 2010, David Rientjes wrote:
> > diff --git a/include/linux/compaction.h b/include/linux/compaction.h > > index 6201371..5965ef2 100644 > > --- a/include/linux/compaction.h > > +++ b/include/linux/compaction.h > > @@ -5,4 +5,9 @@ > > #define COMPACT_INCOMPLETE 0 > > #define COMPACT_COMPLETE 1 > > > > +#ifdef CONFIG_MIGRATION > > +extern int sysctl_compaction_handler(struct ctl_table *table, int write, > > + void __user *buffer, size_t *length, loff_t *ppos); > > +#endif /* CONFIG_MIGRATION */ > > + > > #endif /* _LINUX_COMPACTION_H */
This should be CONFIG_COMPACTION since mm/compaction.c won't be compiled without it; the later additions to this ifdef, fragmentation_index() and try_to_compact_pages(), can also be under CONFIG_COMPACTION since neither are used outside of the compaction core directly (__fragmentation_index() from vmstat uses its wrapped function at file scope).
> > diff --git a/kernel/sysctl.c b/kernel/sysctl.c > > index 8a68b24..6202e95 100644 > > --- a/kernel/sysctl.c > > +++ b/kernel/sysctl.c > > @@ -50,6 +50,7 @@ > > #include <linux/ftrace.h> > > #include <linux/slow-work.h> > > #include <linux/perf_event.h> > > +#include <linux/compaction.h> > > > > #include <asm/uaccess.h> > > #include <asm/processor.h> > > @@ -80,6 +81,7 @@ extern int pid_max; > > extern int min_free_kbytes; > > extern int pid_max_min, pid_max_max; > > extern int sysctl_drop_caches; > > +extern int sysctl_compact_node; > > extern int percpu_pagelist_fraction; > > extern int compat_log; > > extern int latencytop_enabled; > > @@ -1109,6 +1111,15 @@ static struct ctl_table vm_table[] = { > > .mode = 0644, > > .proc_handler = drop_caches_sysctl_handler, > > }, > > +#ifdef CONFIG_MIGRATION > > + { > > + .procname = "compact_node", > > + .data = &sysctl_compact_node, > > + .maxlen = sizeof(int), > > + .mode = 0644, > > This should only need 0200? >
This needs to be CONFIG_COMPACTION as well, we won't have the handler without mm/compaction.c.
| |