Messages in this thread | | | Date | Fri, 14 Jan 2005 19:42:18 -0200 | From | Marcelo Tosatti <> | Subject | Re: [RFC] Avoiding fragmentation through different allocator |
| |
On Wed, Jan 12, 2005 at 11:31:46PM -0800, William Lee Irwin III wrote: > On Wed, Jan 12, 2005 at 09:09:24PM +0000, Mel Gorman wrote: > > So... What the patch does. Allocations are divided up into three different > > types of allocations; > > UserReclaimable - These are userspace pages that are easily reclaimable. Right > > now, I'm putting all allocations of GFP_USER and GFP_HIGHUSER as > > well as disk-buffer pages into this category. These pages are trivially > > reclaimed by writing the page out to swap or syncing with backing > > storage > > KernelReclaimable - These are pages allocated by the kernel that are easily > > reclaimed. This is stuff like inode caches, dcache, buffer_heads etc. > > These type of pages potentially could be reclaimed by dumping the > > caches and reaping the slabs (drastic, but you get the idea). We could > > also add pages into this category that are known to be only required > > for a short time like buffers used with DMA > > KernelNonReclaimable - These are pages that are allocated by the kernel that > > are not trivially reclaimed. For example, the memory allocated for a > > loaded module would be in this category. By default, allocations are > > considered to be of this type > > I'd expect to do better with kernel/user discrimination only, having > address-ordering biases in opposite directions for each case.
What you mean with "address-ordering biases in opposite directions for each case" ?
You mean to have each case allocate from the top and bottom of the free list, respectively, and in opposite address direction ? What you gain from that?
And what that means during a long period of VM stress ?
- 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/
| |