[lkml]   [2006]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC] Initial alpha-0 for new page allocator API
    The problems to be solved are:

    1. Have a means to allocate from a range of memory that is defined by the
    device driver and *not* by the architecture. Devices currently cannot rely
    on GFP_DMA because the range vary according to the architecture.

    2. I wish we there would be some point in the future where we could get
    rid of GFP_DMAxx... As Andi notes most hardware these days is sane so
    there is less need to create VM overhead by managing additional zones.

    3. There are issues with memory policies coming from the process
    environment that may redirect allocations. We also have additional calls
    with xx_node like alloc_pages and alloc_pages_node. A new API could
    fix these and allow a complete specification of how the allocation should
    proceeds without strange side effect from the process (which makes
    GFP_THISNODE necessary).

    One easy alternate way to support allocating from a range of memory
    without reworking the API would be to simply add a new page allocator

    struct page *alloc_pages_range(int order, gfp_t gfp_flags, unsigned long
    low, unsigned long high [ , node ? ]);

    This would scan through the freelists for available memory in that range
    and if not found simply do page reclaim until such memory becomes
    available. We could get more sophisticated than that but this would allow
    allocating memory from the ranges needed by broken devices and it would
    penalize the device for the problem it has and would not impact the rest
    of the system.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-09-22 19:39    [W:0.024 / U:6.404 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site