Messages in this thread | | | Date | Tue, 26 Jan 2016 11:56:58 +0100 | From | Michael Holzheu <> | Subject | Re: [PATCH] numa: fix /proc/<pid>/numa_maps for hugetlbfs on s390 |
| |
On Mon, 25 Jan 2016 14:51:16 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:
> On Mon, 25 Jan 2016 17:30:42 +0100 Michael Holzheu <holzheu@linux.vnet.ibm.com> wrote: > > > When working with hugetlbfs ptes (which are actually pmds) is not > > valid to directly use pte functions like pte_present() because the > > hardware bit layout of pmds and ptes can be different. This is the > > case on s390. Therefore we have to convert the hugetlbfs ptes first > > into a valid pte encoding with huge_ptep_get(). > > > > Currently the /proc/<pid>/numa_maps code uses hugetlbfs ptes without > > huge_ptep_get(). On s390 this leads to the following two problems: > > > > 1) The pte_present() function returns false (instead of true) for > > PROT_NONE hugetlb ptes. Therefore PROT_NONE vmas are missing > > completely in the "numa_maps" output. > > > > 2) The pte_dirty() function always returns false for all hugetlb ptes. > > Therefore these pages are reported as "mapped=xxx" instead of > > "dirty=xxx". > > > > Therefore use huge_ptep_get() to correctly convert the hugetlb ptes. > > I'm aiming this at 4.5 only. Please let me know if you think that a > -stable backport is warranted.
S390 has NUMA support since kernel 4.3, therefore:
Cc: stable@vger.kernel.org # v4.3+
Michael
| |