From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail144.messagelabs.com (mail144.messagelabs.com [216.82.254.51]) by kanga.kvack.org (Postfix) with ESMTP id 1485D6B006A for ; Wed, 13 Jan 2010 18:23:52 -0500 (EST) Received: from spaceape11.eur.corp.google.com (spaceape11.eur.corp.google.com [172.28.16.145]) by smtp-out.google.com with ESMTP id o0DNNnLb027152 for ; Wed, 13 Jan 2010 15:23:50 -0800 Received: from pwj1 (pwj1.prod.google.com [10.241.219.65]) by spaceape11.eur.corp.google.com with ESMTP id o0DNMpoC030269 for ; Wed, 13 Jan 2010 15:23:48 -0800 Received: by pwj1 with SMTP id 1so3343081pwj.24 for ; Wed, 13 Jan 2010 15:23:47 -0800 (PST) Date: Wed, 13 Jan 2010 15:23:44 -0800 (PST) From: David Rientjes Subject: Re: [PATCH 5/7] Add /proc trigger for memory compaction In-Reply-To: Message-ID: References: <1262795169-9095-1-git-send-email-mel@csn.ul.ie> <1262795169-9095-6-git-send-email-mel@csn.ul.ie> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org To: Mel Gorman Cc: Andrea Arcangeli , Christoph Lameter , Adam Litke , Avi Kivity , linux-kernel@vger.kernel.org, linux-mm@kvack.org List-ID: 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 > > #include > > #include > > +#include > > > > #include > > #include > > @@ -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. -- 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: email@kvack.org