[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZD8JgfphE+HWCGve@bombadil.infradead.org>
Date: Tue, 18 Apr 2023 14:20:01 -0700
From: Luis Chamberlain <mcgrof@...nel.org>
To: Hugh Dickins <hughd@...gle.com>
Cc: akpm@...ux-foundation.org, willy@...radead.org, brauner@...nel.org,
linux-mm@...ck.org, p.raghav@...sung.com, da.gomez@...sung.com,
a.manzanares@...sung.com, dave@...olabs.net, yosryahmed@...gle.com,
keescook@...omium.org, patches@...ts.linux.dev,
linux-kernel@...r.kernel.org, David Hildenbrand <david@...hat.com>
Subject: Re: [PATCH v2 5/6] shmem: update documentation
On Mon, Apr 17, 2023 at 10:29:59PM -0700, Hugh Dickins wrote:
> On Thu, 9 Mar 2023, Luis Chamberlain wrote:
>
> > Update the docs to reflect a bit better why some folks prefer tmpfs
> > over ramfs and clarify a bit more about the difference between brd
> > ramdisks.
> >
> > While at it, add THP docs for tmpfs, both the mount options and the
> > sysfs file.
>
> Okay: the original canonical reference for THP options on tmpfs has
> been Documentation/admin-guide/mm/transhuge.rst. You're right that
> they would be helpful here too: IIRC (but I might well be confusing
> with our Google tree) we used to have them documented in both places,
> but grew tired of keeping the two in synch. You're volunteering to
> do so! so please check now that they tell the same story.
Hehe. Sure, we should just make one point to the other. Which one should
be the authoritive source?
> But nowadays, "man 5 tmpfs" is much more important (and that might
> give you a hint for what needs to be done after this series goes into
> 6.4-rc - and I wonder if there are tmpfs manpage updates needed from
> Christian for idmapped too? or already taken care of?).
Sure, what's the man page git tree to use? I can do that once these
documents are settled as well. I'll send fixes.
> There's a little detail we do need you to remove, indicated below.
>
> > +====== ============================================================
> > +huge=0 never: disables huge pages for the mount
> > +huge=1 always: enables huge pages for the mount
> > +huge=2 within_size: only allocate huge pages if the page will be
> > + fully within i_size, also respect fadvise()/madvise() hints.
> > +huge=3 advise: only allocate huge pages if requested with
> > + fadvise()/madvise()
>
> You're taking the source too literally there. Minor point is that there
> is no fadvise() for this, to date anyway. Major point is: have you tried
> mounting tmpfs with huge=0 etc? I did propose "huge=0" and "huge=1" years
> ago, but those "never" went in, it's "always" been the named options.
> Please remove those misleading numbers, it's "huge=never" etc.
Will do.
> > +== ============================================================
> > +-1 deny: disables huge on shm_mnt and all mounts, for
> > + emergency use
> > +-2 force: enables huge on shm_mnt and all mounts, w/o needing
> > + option, for testing
>
> Likewise here, please delete the invalid "-1" and "-2" notations,
> -1 and -2 are just #defines for use in the kernel source.
ok!
> And the description above is not quite accurate: it is very hard to
> describe shmem_enabled, partly because it combines two different things.
> It's partly the "huge=" mount option for any "internal mount", those
> things like SysV SHM and memfd and i915 and shared-anonymous: the shmem
> which has no user-visible mount to hold the option. But also these
> "deny" and "force" overrides affecting *all* internal and visible mounts.
I see thanks.
Luis
Powered by blists - more mailing lists