lkml.org 
[lkml]   [2005]   [Oct]   [12]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 12 Oct 2005 09:43:54 -0700
Frommike kravetz <>
SubjectRe: [PATCH 5/8] Fragmentation Avoidance V17: 005_fallback
On Tue, Oct 11, 2005 at 04:12:47PM +0100, Mel Gorman wrote:
> This patch implements fallback logic. In the event there is no 2^(MAX_ORDER-1)
> blocks of pages left, this will help the system decide what list to use. The
> highlights of the patch are;
> 
> o Define a RCLM_FALLBACK type for fallbacks
> o Use a percentage of each zone for fallbacks. When a reserved pool of pages
>   is depleted, it will try and use RCLM_FALLBACK before using anything else.
>   This greatly reduces the amount of fallbacks causing fragmentation without
>   needing complex balancing algorithms

I'm having a little trouble seeing how adding a new type (RCLM_FALLBACK)
helps.  Seems to me that pages put into the RCLM_FALLBACK area would have
gone to the global free list and available to anyone.  I must be missing
something here.

> +int fallback_allocs[RCLM_TYPES][RCLM_TYPES+1] = {
> +	{RCLM_NORCLM,	RCLM_FALLBACK, RCLM_KERN,   RCLM_USER, RCLM_TYPES},
> +	{RCLM_KERN,     RCLM_FALLBACK, RCLM_NORCLM, RCLM_USER, RCLM_TYPES},
> +	{RCLM_USER,     RCLM_FALLBACK, RCLM_NORCLM, RCLM_KERN, RCLM_TYPES},
> +	{RCLM_FALLBACK, RCLM_NORCLM,   RCLM_KERN,   RCLM_USER, RCLM_TYPES}

Do you really need that last line?  Can an allocation of type RCLM_FALLBACK
realy be made?

-- 
Mike
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-10-12 16:46    [from the cache]
©2003-2008