Messages in this thread |  | | | Date | Thu, 23 Nov 2006 09:11:59 -0800 (PST) | | From | Linus Torvalds <> | | Subject | Re: [PATCH 1/11] Add __GFP_MOVABLE flag and update callers |
| |
On Thu, 23 Nov 2006, Mel Gorman wrote: > > There are a suprising number of GFP_HIGHUSER users. I've included an > untested patch below to give an idea of what the reworked patch would > look like.
Thanks. Seeing the patch actually was useful, because I think this isa good idea quite regardless of anything else: it adds a certain amount of "inherent documentation" when you see a line like
page = alloc_page(GFP_HIGHUNMOVABLE);
because it makes it very obvious that something is going on.
At the same time, I do get the feelign that maybe we should simply go the other way: talk about allocating MOVABLE pages instead of talking about allocating pages that are NOT movable.
Because usually it's really that way you think about it: when you allocate a _movable_ page, you need to add support for moving it some way (ie you need to put it on the proper page-cache lists etc), while a page that you don't think about is generally _not_ movable.
So: I think this is the right direction, but I would actually prefer to see
page = alloc_page(GFP_[HIGH_]MOVABLE);
instead, and then just teach the routines that create movable pages (whether they are movable because they are in the page cache, or for some other reason) to use that flag instead of GFP_[HIGH]USER.
And the assumption would be that if it's MOVABLE, then it's obviously a USER allocation (it it can fail much more eagerly - that's really what the whole USER bit ends up meaning internally).
Linus - 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/
|  |