Messages in this thread | | | Date | Tue, 30 Aug 2016 10:39:55 +0100 | From | Mel Gorman <> | Subject | Re: what is the purpose of SLAB and SLUB (was: Re: [PATCH v3] mm/slab: Improve performance of gathering slabinfo) stats |
| |
On Thu, Aug 25, 2016 at 02:55:43PM -0500, Christoph Lameter wrote: > On Thu, 25 Aug 2016, Mel Gorman wrote: > > > Flipping the lid aside, there will always be a need for fast management > > of 4K pages. The primary use case is networking that sometimes uses > > high-order pages to avoid allocator overhead and amortise DMA setup. > > Userspace-mapped pages will always be 4K although fault-around may benefit > > from bulk allocating the pages. That is relatively low hanging fruit that > > would take a few weeks given a free schedule. > > Userspace mapped pages can be hugepages as well as giant pages and that > has been there for a long time. Intermediate sizes would be useful too in > order to avoid having to keep lists of 4k pages around and continually > scan them. >
Userspace pages cannot always be mapped as huge or giant. mprotect on a 4K boundary is an obvious example.
> > Dirty tracking of pages on a 4K boundary will always be required to avoid IO > > multiplier effects that cannot be side-stepped by increasing the fundamental > > unit of allocation. > > Huge pages cannot be dirtied?
I didn't say that, I said they are required to avoid IO multiplier effects. If a file is mapped as 2M or 1G then even a 1 byte write requires 2M or 1G of IO to writeback.
> This is an issue of hardware support. On > x867 you only have one size. I am pretty such that even intel would > support other sizes if needed. The case has been repeatedly made that 64k > pages f.e. would be useful to have on x86. >
64K pages are not a universal win even on the arches that do support them.
-- Mel Gorman SUSE Labs
| |