Re: [patch 2] Xen core patch : arch_free_page return value

From: Andrew Morton
Date: Wed Nov 17 2004 - 22:15:07 EST


Jeff Dike <jdike@xxxxxxxxxxx> wrote:
>
> Ian.Pratt@xxxxxxxxxxxx said:
> > Pages that have been allocated by our custom allocators get passed
> > into standard linux subsystems where we get no control over how
> > they're freed. We want the normal page ref counting etc to happen as
> > per normal, we just want to intercept the final free so that we can
> > return it to our allocator rather than the standard one.
>
> I have to agree with Dave - this is just a wierd solution. I added
> arch_free_page to do arch-specific, invisible-to-the-generic-kernel things.
> My intent may not be the be-all and end-all for this, but I think the semantics
> you want to add to it are not that reasonable.
>
> My gut reaction (without knowing your problem in any detail) would be that
> you need too add some more structure to whatever mechanism you have
> so that the pages land in your allocator automatically, like a slab or a new
> zone or something.
>

I can't immediately think of any way of doing that.

One could perhaps hide it with

#ifdef CONFIG_ZEN
#define __free_pages_ok xen_free_page
#else
#define __free_pages_ok everybody_else_free_page
#endif

and rename __free_pages_ok() to everybody_else_free_page().

But heck - why bother? The current patch adds just one line of code in one
place, and the compiler will toss it away anyway for all but xen and um.

I think we can live with that.
-
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/