Re: [PATCH 2/4] Split the free lists into kernel and user parts

From: Coywolf Qi Hunt
Date: Sun Feb 05 2006 - 04:10:33 EST


2006/2/5, Coywolf Qi Hunt <coywolf@xxxxxxxxx>:
> 2006/1/20, Mel Gorman <mel@xxxxxxxxx>:
> >
> > This patch adds the core of the anti-fragmentation strategy. It works by
> > grouping related allocation types together. The idea is that large groups of
> > pages that may be reclaimed are placed near each other. The zone->free_area
> > list is broken into RCLM_TYPES number of lists.
> >
> > Signed-off-by: Mel Gorman <mel@xxxxxxxxx>
> > Signed-off-by: Joel Schopp <jschopp@xxxxxxxxxxxxxx>
> > diff -rup -X /usr/src/patchset-0.5/bin//dontdiff linux-2.6.16-rc1-mm1-001_antifrag_flags/include/linux/mmzone.h linux-2.6.16-rc1-mm1-002_fragcore/include/linux/mmzone.h
> > --- linux-2.6.16-rc1-mm1-001_antifrag_flags/include/linux/mmzone.h 2006-01-19 11:21:59.000000000 +0000
> > +++ linux-2.6.16-rc1-mm1-002_fragcore/include/linux/mmzone.h 2006-01-19 21:51:05.000000000 +0000
> > @@ -22,8 +22,16 @@
> > #define MAX_ORDER CONFIG_FORCE_MAX_ZONEORDER
> > #endif
> >
> > +#define RCLM_NORCLM 0
>
> better be RCLM_NORMAL

err, RCLM_NONRCLM, or RCLM_NONE

>
> > +#define RCLM_EASY 1
> > +#define RCLM_TYPES 2
> > +
> > +#define for_each_rclmtype_order(type, order) \
> > + for (order = 0; order < MAX_ORDER; order++) \
> > + for (type = 0; type < RCLM_TYPES; type++)
> > +
> > struct free_area {
> > - struct list_head free_list;
> > + struct list_head free_list[RCLM_TYPES];
> > unsigned long nr_free;
> > };

--
Coywolf Qi Hunt
-
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/