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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to