Messages in this thread | | | Subject | Re: [PATCH] 0/2 Buddy allocator with placement policy (Version 9) + prezeroing (Version 4) | From | Dave Hansen <> | Date | Thu, 10 Mar 2005 09:37:47 -0800 |
| |
On Thu, 2005-03-10 at 14:31 +0000, Mel Gorman wrote: > > > There are 2 kinds of sections: user and kernel. The traditional > > > ZONE_HIGHMEM is full of user sections (except for vmalloc). > > And PTEs if configured to be allocated from high memory. I have not double > checked but I don't think they can be trivially reclaimed.
We've run into a couple of these pieces of highmem that can't be reclaimed. The latest one are pages for the new pipe buffers. We could code these up with a flag something like __GFP_HIGHMEM_NORCLM, that is __GFP_HIGHMEM in the normal case, but 0 in the hotplug case (at least for now).
> > > Any > > > section which has slab pages or any kernel caller to alloc_pages() is > > > a kernel section. > > Slab pages could be moved to the user section as long as the cache owner > was able to reclaim the slabs on demand.
At least for the large consumers of slab (dentry/inode caches), they can't quite reclaim on demand. I was picking Dipankar's brain about this one day, and there are going to be particularly troublesome dentries, like "/", that are going to need some serious rethinking to be able to forcefully free.
-- Dave
- 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/
| |