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? That way we avoid having to allocate the buffers with GFP_ATOMIC.
I seem to recall that the tulip driver used to do this. Is it just too complicated from a race condition standpoint?
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.
Chris - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- References:
- [PATCH 0/8] Create ZONE_MOVABLE to partition memory between movable and non-movable pages
- From: Mel Gorman <[email protected]>
- [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Mel Gorman <[email protected]>
- Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Christoph Lameter <[email protected]>
- Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Mel Gorman <[email protected]>
- Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Christoph Lameter <[email protected]>
- Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Mel Gorman <[email protected]>
- Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Christoph Lameter <[email protected]>
- Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Mel Gorman <[email protected]>
- Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Christoph Lameter <[email protected]>
- Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- From: Mel Gorman <[email protected]>
- [PATCH 0/8] Create ZONE_MOVABLE to partition memory between movable and non-movable pages
- Prev by Date: Re: [uml-devel] [PATCH] [UML] fix mknod
- Next by Date: Re: Linux 2.6.20-rc6 - build failure
- Previous by thread: Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- Next by thread: Re: [PATCH 3/8] Allow huge page allocations to use GFP_HIGH_MOVABLE
- Index(es):