Messages in this thread | | | Date | Tue, 24 Apr 2007 13:53:48 -0700 | From | Andrew Morton <> | Subject | Re: Pagecache: find_or_create_page does not call a proper page allocator function |
| |
On Tue, 24 Apr 2007 13:44:50 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote:
> On Tue, 24 Apr 2007, Andrew Morton wrote: > > > > 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. > > Then I think we should disable page migration for allocations that do not > allow access to the policy zone. That would fix it.
Can't we use mapping_gfp_mask() when allocating the destination page?
It would be better to do so, really. Who knows, mapping_gfp_mask() might be extented in the future to say "I want GFP_NOIO" or something. Or a filesystem might specify GFP_KERNEL for regular pagecache pages or whatever.
Generally, the interface is "address_space tells core kernel how to allocate its pages", and to be nice we should honour that in all places where we allocate a page for an address_space.
If we'd had any brains we would have implemented this function as an address_space_operations callback, but we don't so we didn't.
- 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/
| |