Re: Pagecache: find_or_create_page does not call a proper pageallocator function

From: Andrew Morton
Date: Tue Apr 24 2007 - 16:42:38 EST


On Tue, 24 Apr 2007 13:30:33 -0700 (PDT) Christoph Lameter <clameter@xxxxxxx> wrote:

> > > If the system has both high memory and normal memory then only allocations
> > > to highmemory are subject to memory policies etc etc. The block device
> > > allocations would be in zone normal/dma and thus be exempt from NUMA
> > > placement.
> >
> > Please just point us to the line where sys_move_pages enforces this.
>
> It does not. It will happily move the pages into highmem. The filesystem
> cannot expect the page to remain in the same zone without holding a
> reference count. Swap may also move pages between zones. There is nothing
> special in what page migration does here.
>
> I would say that the filesystem is broke if it has such expectations
> regardless of page migration.

Others disagree ;)

The filesystem has *told* the core kernel what its allocation constraints
are by setting up mapping_gfp_mask(). If the core kernel stops honouring
that request then it is core kernel which is broken.
-
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/