Thread (57 messages) 57 messages, 14 authors, 2020-11-17

Re: [PATCH v6 5/6] mm: secretmem: use PMD-size pages to amortize direct map fragmentation

From: Matthew Wilcox <willy@infradead.org>
Date: 2020-09-30 15:10:10
Also in: linux-api, linux-arm-kernel, linux-fsdevel, linux-kselftest, linux-mm, linux-riscv, lkml, nvdimm

On Wed, Sep 30, 2020 at 01:27:45PM +0300, Mike Rapoport wrote:
On Tue, Sep 29, 2020 at 05:15:52PM +0200, Peter Zijlstra wrote:
quoted
On Tue, Sep 29, 2020 at 05:58:13PM +0300, Mike Rapoport wrote:
quoted
On Tue, Sep 29, 2020 at 04:12:16PM +0200, Peter Zijlstra wrote:
quoted
quoted
It will drop them down to 4k pages. Given enough inodes, and allocating
only a single sekrit page per pmd, we'll shatter the directmap into 4k.
Why? Secretmem allocates PMD-size page per inode and uses it as a pool
of 4K pages for that inode. This way it ensures that
__kernel_map_pages() is always called on PMD boundaries.
Oh, you unmap the 2m page upfront? I read it like you did the unmap at
the sekrit page alloc, not the pool alloc side of things.

Then yes, but then you're wasting gobs of memory. Basically you can pin
2M per inode while only accounting a single page.
Right, quite like THP :)
Huh?  THP accounts every page it allocates.  If you allocate 2MB,
it accounts 512 pages.  And THP are reclaimable by vmscan, this is
obviously not.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help