Hello Jakub (and Adam), On Tue, 28 Apr 2020 at 20:09, Jakub Wilk <jwilk@xxxxxxxxx> wrote: > > Hi Adam! > > * Adam Langley <agl@xxxxxxxxxx>, 2020-04-28, 17:40: > > These > > .I advice > > values do not influence the semantics of the application > > (except in the case of > >-.BR MADV_DONTNEED ), > >+.BR MADV_DONTNEED > >+and > >+.BR MADV_WIPEONFORK ), > > but may influence its performance. > > This sentence is in the "Conventional advice value" subsection, which > defines only MADV_NORMAL, MADV_RANDOM, MADV_SEQUENTIAL, MADV_WILLNEED, > and MADV_DONTNEED. (Good catch.) > MADV_WIPEONFORK is defined in the "Linux-specific advice values" > subsection, which already notes that "some of these operations change > the semantics of memory accesses". <nod> > (Perhaps s/some/most/ would be better > wording.) Perhaps you are right. Here's my take: Do change memory semantics: MADV_REMOVE MADV_DONTFORK / MADV_DOFORK MADV_HWPOISON MADV_FREE MADV_WIPEONFORK Don't change memory semantics: MADV_MERGEABLE / MADV_UNMERGEABLE MADV_SOFT_OFFLINE MADV_HUGEPAGE / MADV_NOHUGEPAGE MADV_DONTDUMP / MADV_DODUMP Do you agree? "Some" is perhaps a little loose, but perhaps "most" is overstating it, so I'm not quite sure what to do here. Perhaps ad a line to each of the operations in the first category noting that the operations change memory semantics. THoughts? Cheers, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/