On Sun, Jan 06, 2013 at 03:44:33PM +0800, Jason Liu wrote: > when run the folloing command under shell, it will return error > sh/$ echo 1 > /proc/sys/vm/compact_memory > sh/$ sh: write error: Bad address > > After strace, I found the following log: > ... > write(1, "1\n", 2) = 3 > write(1, "", 4294967295) = -1 EFAULT (Bad address) > write(2, "echo: write error: Bad address\n", 31echo: write error: Bad address > ) = 31 > > This tells system return 3(COMPACT_COMPLETE) after write data to compact_memory. > > The fix is to make the system just return 0 instead 3(COMPACT_COMPLETE) from > sysctl_compaction_handler after compaction_nodes finished. > > Suggested-by:David Rientjes <rientjes@xxxxxxxxxx> > Cc:Mel Gorman <mgorman@xxxxxxx> > Cc:Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc:Rik van Riel <riel@xxxxxxxxxx> > Cc:Minchan Kim <minchan@xxxxxxxxxx> > Cc:KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> > Signed-off-by: Jason Liu <r64343@xxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>