lkml.org 
[lkml]   [2007]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
On Fri, 26 Jan 2007, Chris Friesen wrote:

> Mel Gorman wrote:
>
>> Worse, the problem is to have high order contiguous blocks free at the time
>> of allocation without reclaim or migration. If the allocations were not
>> atomic, anti-fragmentation as it is today would be enough.
>
> Has anyone looked at marking the buffers as "needs refilling" then kick off a
> kernel thread or something to do the allocations under GFP_KERNEL?

I haven't seen it being discussed although it's probably doable as an
addition to the existing mempool mechanism. Anti-fragmentation would mean
that the non-atomic GFP_KERNEL allocation had a chance of succeeding.

> That way we avoid having to allocate the buffers with GFP_ATOMIC.
>

Unless the load was so high that the pool was getting depleted and memory
under so much pressure that reclaim could not keep up. But yes, it's
possible that GFP_ATOMIC allocations could be avoided the majority of
times.

> I seem to recall that the tulip driver used to do this. Is it just too
> complicated from a race condition standpoint?
>

It shouldn't be that complicated.

> We currently see this issue on our systems, as we have older e1000 hardware
> with 9KB jumbo frames. After a while we just fail to allocate buffers and
> the system goes belly-up.
>

Can you describe a reliable way of triggering this problem? At best, I
hear "on our undescribed workload, we sometimes see this problem" but not
much in the way of details.

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
-
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: 2007-01-26 21:47    [from the cache]
©2003-2011 Jasper Spaans