* [nacked] mm-thp-always-specify-disabled-vmas-as-nh-in-smaps.patch removed from -mm tree
@ 2019-01-29 22:09 akpm
[not found] ` <20190130144649.A532E218A3@mail.kernel.org>
0 siblings, 1 reply; 3+ messages in thread
From: akpm @ 2019-01-29 22:09 UTC (permalink / raw)
To: mm-commits, xemul, vbabka, stable, rppt, mhocko, kirill.shutemov,
gorcunov, avagin, adobriyan, rientjes
The patch titled
Subject: mm, thp: always specify disabled vmas as nh in smaps
has been removed from the -mm tree. Its filename was
mm-thp-always-specify-disabled-vmas-as-nh-in-smaps.patch
This patch was dropped because it was nacked
------------------------------------------------------
From: David Rientjes <rientjes@google.com>
Subject: mm, thp: always specify disabled vmas as nh in smaps
1860033237d4 ("mm: make PR_SET_THP_DISABLE immediately active") introduced
a regression in that userspace cannot always determine the set of vmas
where thp is disabled.
Userspace relies on the "nh" flag being emitted as part of /proc/pid/smaps
to determine if a vma has been disabled from being backed by hugepages.
Previous to this commit, prctl(PR_SET_THP_DISABLE, 1) would cause thp to
be disabled and emit "nh" as a flag for the corresponding vmas as part of
/proc/pid/smaps. After the commit, thp is disabled by means of an mm flag
and "nh" is not emitted.
This causes smaps parsing libraries to assume a vma is enabled for thp and
ends up puzzling the user on why its memory is not backed by thp.
This also clears the "hg" flag to make the behavior of MADV_HUGEPAGE and
PR_SET_THP_DISABLE definitive.
Link: http://lkml.kernel.org/r/alpine.DEB.2.21.1809251449060.96762@chino.kir.corp.google.com
Fixes: 1860033237d4 ("mm: make PR_SET_THP_DISABLE immediately active")
Signed-off-by: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Andrei Vagin <avagin@gmail.com>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Pavel Emelyanov <xemul@virtuozzo.com>
Cc: <stable@vger.kernel.org> [4.13+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
Documentation/filesystems/proc.txt | 7 ++++++-
fs/proc/task_mmu.c | 14 +++++++++++++-
2 files changed, 19 insertions(+), 2 deletions(-)
--- a/Documentation/filesystems/proc.txt~mm-thp-always-specify-disabled-vmas-as-nh-in-smaps
+++ a/Documentation/filesystems/proc.txt
@@ -508,9 +508,14 @@ manner. The codes are the following:
sd - soft-dirty flag
mm - mixed map area
hg - huge page advise flag
- nh - no-huge page advise flag
+ nh - no-huge page advise flag [*]
mg - mergable advise flag
+ [*] A process mapping may be advised to not be backed by transparent hugepages
+ by either madvise(MADV_NOHUGEPAGE) or prctl(PR_SET_THP_DISABLE). See
+ Documentation/admin-guide/mm/transhuge.rst for system-wide and process
+ mapping policies.
+
Note that there is no guarantee that every flag and associated mnemonic will
be present in all further kernel releases. Things get changed, the flags may
be vanished or the reverse -- new added. Interpretation of their meaning
--- a/fs/proc/task_mmu.c~mm-thp-always-specify-disabled-vmas-as-nh-in-smaps
+++ a/fs/proc/task_mmu.c
@@ -653,13 +653,25 @@ static void show_smap_vma_flags(struct s
#endif
#endif /* CONFIG_ARCH_HAS_PKEYS */
};
+ unsigned long flags = vma->vm_flags;
size_t i;
+ /*
+ * Disabling thp is possible through both MADV_NOHUGEPAGE and
+ * PR_SET_THP_DISABLE. Both historically used VM_NOHUGEPAGE. Since
+ * the introduction of MMF_DISABLE_THP, however, userspace needs the
+ * ability to detect vmas where thp is not eligible in the same manner.
+ */
+ if (vma->vm_mm && test_bit(MMF_DISABLE_THP, &vma->vm_mm->flags)) {
+ flags &= ~VM_HUGEPAGE;
+ flags |= VM_NOHUGEPAGE;
+ }
+
seq_puts(m, "VmFlags: ");
for (i = 0; i < BITS_PER_LONG; i++) {
if (!mnemonics[i][0])
continue;
- if (vma->vm_flags & (1UL << i)) {
+ if (flags & (1UL << i)) {
seq_putc(m, mnemonics[i][0]);
seq_putc(m, mnemonics[i][1]);
seq_putc(m, ' ');
_
Patches currently in -mm which might be from rientjes@google.com are
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [nacked] mm-thp-always-specify-disabled-vmas-as-nh-in-smaps.patch removed from -mm tree
[not found] ` <20190130144649.A532E218A3@mail.kernel.org>
@ 2019-01-30 15:07 ` Cyrill Gorcunov
2019-01-30 16:17 ` Sasha Levin
0 siblings, 1 reply; 3+ messages in thread
From: Cyrill Gorcunov @ 2019-01-30 15:07 UTC (permalink / raw)
To: Sasha Levin
Cc: David Rientjes, mm-commits, xemul, vbabka, Michal Hocko,
Alexey Dobriyan, Kirill A. Shutemov, Mike Rapoport, Andrei Vagin,
stable
On Wed, Jan 30, 2019 at 02:46:48PM +0000, Sasha Levin wrote:
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a "Fixes:" tag,
> fixing commit: 1860033237d4 mm: make PR_SET_THP_DISABLE immediately active.
>
> The bot has tested the following trees: v4.20.5, v4.19.18, v4.14.96.
>
> v4.20.5: Build OK!
> v4.19.18: Build OK!
> v4.14.96: Failed to apply! Possible dependencies:
> f66406638fff ("proc: replace seq_printf on seq_putc to speed up /proc/pid/smaps")
>
>
> How should we proceed with this patch?
We shouldn't. It is a false positive due to Fixes flag.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [nacked] mm-thp-always-specify-disabled-vmas-as-nh-in-smaps.patch removed from -mm tree
2019-01-30 15:07 ` Cyrill Gorcunov
@ 2019-01-30 16:17 ` Sasha Levin
0 siblings, 0 replies; 3+ messages in thread
From: Sasha Levin @ 2019-01-30 16:17 UTC (permalink / raw)
To: Cyrill Gorcunov
Cc: David Rientjes, mm-commits, xemul, vbabka, Michal Hocko,
Alexey Dobriyan, Kirill A. Shutemov, Mike Rapoport, Andrei Vagin,
stable
On Wed, Jan 30, 2019 at 06:07:30PM +0300, Cyrill Gorcunov wrote:
>On Wed, Jan 30, 2019 at 02:46:48PM +0000, Sasha Levin wrote:
>> Hi,
>>
>> [This is an automated email]
>>
>> This commit has been processed because it contains a "Fixes:" tag,
>> fixing commit: 1860033237d4 mm: make PR_SET_THP_DISABLE immediately active.
>>
>> The bot has tested the following trees: v4.20.5, v4.19.18, v4.14.96.
>>
>> v4.20.5: Build OK!
>> v4.19.18: Build OK!
>> v4.14.96: Failed to apply! Possible dependencies:
>> f66406638fff ("proc: replace seq_printf on seq_putc to speed up /proc/pid/smaps")
>>
>>
>> How should we proceed with this patch?
>
>We shouldn't. It is a false positive due to Fixes flag.
I need a better filter for Andrew's mails :)
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-01-30 16:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-29 22:09 [nacked] mm-thp-always-specify-disabled-vmas-as-nh-in-smaps.patch removed from -mm tree akpm
[not found] ` <20190130144649.A532E218A3@mail.kernel.org>
2019-01-30 15:07 ` Cyrill Gorcunov
2019-01-30 16:17 ` Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).