Re: [PATCH] mm: compaction: fix echo 1 > compact_memory return errorissue

From: David Rientjes
Date: Mon Jan 07 2013 - 22:16:17 EST


On Mon, 7 Jan 2013, Andrew Morton wrote:

> --- a/mm/compaction.c~mm-compaction-fix-echo-1-compact_memory-return-error-issue-fix
> +++ a/mm/compaction.c
> @@ -1150,7 +1150,7 @@ unsigned long try_to_compact_pages(struc
>
>
> /* Compact all zones within a node */
> -static int __compact_pgdat(pg_data_t *pgdat, struct compact_control *cc)
> +static void __compact_pgdat(pg_data_t *pgdat, struct compact_control *cc)
> {
> int zoneid;
> struct zone *zone;
> @@ -1183,11 +1183,9 @@ static int __compact_pgdat(pg_data_t *pg
> VM_BUG_ON(!list_empty(&cc->freepages));
> VM_BUG_ON(!list_empty(&cc->migratepages));
> }
> -
> - return 0;
> }
>
> -int compact_pgdat(pg_data_t *pgdat, int order)
> +void compact_pgdat(pg_data_t *pgdat, int order)
> {
> struct compact_control cc = {
> .order = order,
> @@ -1195,10 +1193,10 @@ int compact_pgdat(pg_data_t *pgdat, int
> .page = NULL,
> };
>
> - return __compact_pgdat(pgdat, &cc);
> + __compact_pgdat(pgdat, &cc);
> }
>
> -static int compact_node(int nid)
> +static void compact_node(int nid)
> {
> struct compact_control cc = {
> .order = -1,
> @@ -1206,7 +1204,7 @@ static int compact_node(int nid)
> .page = NULL,
> };
>
> - return __compact_pgdat(NODE_DATA(nid), &cc);
> + __compact_pgdat(NODE_DATA(nid), &cc);
> }
>
> /* Compact all nodes in the system */
> diff -puN include/linux/compaction.h~mm-compaction-fix-echo-1-compact_memory-return-error-issue-fix include/linux/compaction.h
> --- a/include/linux/compaction.h~mm-compaction-fix-echo-1-compact_memory-return-error-issue-fix
> +++ a/include/linux/compaction.h
> @@ -23,7 +23,7 @@ extern int fragmentation_index(struct zo
> extern unsigned long try_to_compact_pages(struct zonelist *zonelist,
> int order, gfp_t gfp_mask, nodemask_t *mask,
> bool sync, bool *contended, struct page **page);
> -extern int compact_pgdat(pg_data_t *pgdat, int order);
> +extern void compact_pgdat(pg_data_t *pgdat, int order);
> extern void reset_isolation_suitable(pg_data_t *pgdat);
> extern unsigned long compaction_suitable(struct zone *zone, int order);
>
> @@ -80,9 +80,8 @@ static inline unsigned long try_to_compa
> return COMPACT_CONTINUE;
> }
>
> -static inline int compact_pgdat(pg_data_t *pgdat, int order)
> +static inline void compact_pgdat(pg_data_t *pgdat, int order)
> {
> - return COMPACT_CONTINUE;
> }
>
> static inline void reset_isolation_suitable(pg_data_t *pgdat)

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/