diff mbox series

[v2,2/3] mm,thp: stats for file backed THP

Message ID 20190614182204.2673660-3-songliubraving@fb.com (mailing list archive)
State New, archived
Headers show
Series Enable THP for text section of non-shmem files | expand

Commit Message

Song Liu June 14, 2019, 6:22 p.m. UTC
In preparation for non-shmem THP, this patch adds two stats and exposes
them in /proc/meminfo

Signed-off-by: Song Liu <songliubraving@fb.com>
---
 fs/proc/meminfo.c      | 4 ++++
 include/linux/mmzone.h | 2 ++
 mm/vmstat.c            | 2 ++
 3 files changed, 8 insertions(+)

Comments

Rik van Riel June 17, 2019, 3 p.m. UTC | #1
On Fri, 2019-06-14 at 11:22 -0700, Song Liu wrote:
> In preparation for non-shmem THP, this patch adds two stats and
> exposes
> them in /proc/meminfo
> 
> Signed-off-by: Song Liu <songliubraving@fb.com>

Acked-by: Rik van Riel <riel@surriel.com>
Kirill A. Shutemov June 21, 2019, 12:50 p.m. UTC | #2
On Fri, Jun 14, 2019 at 11:22:03AM -0700, Song Liu wrote:
> In preparation for non-shmem THP, this patch adds two stats and exposes
> them in /proc/meminfo
> 
> Signed-off-by: Song Liu <songliubraving@fb.com>

I think you also need to cover smaps.

See my old patch for refernece:

https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git/commit/?h=hugeext4/v6&id=e629d1c4f9200c16bd7b4b02e8016d020c0869cb
Song Liu June 21, 2019, 2:09 p.m. UTC | #3
> On Jun 21, 2019, at 5:50 AM, Kirill A. Shutemov <kirill@shutemov.name> wrote:
> 
> On Fri, Jun 14, 2019 at 11:22:03AM -0700, Song Liu wrote:
>> In preparation for non-shmem THP, this patch adds two stats and exposes
>> them in /proc/meminfo
>> 
>> Signed-off-by: Song Liu <songliubraving@fb.com>
> 
> I think you also need to cover smaps.
> 
> See my old patch for refernece:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/kas/linux.git/commit/?h=hugeext4/v6&id=e629d1c4f9200c16bd7b4b02e8016d020c0869cb
> 
Thanks for the reference!

Adding the fix. 

Thanks,
Song
diff mbox series

Patch

diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
index 568d90e17c17..bac395fc11f9 100644
--- a/fs/proc/meminfo.c
+++ b/fs/proc/meminfo.c
@@ -136,6 +136,10 @@  static int meminfo_proc_show(struct seq_file *m, void *v)
 		    global_node_page_state(NR_SHMEM_THPS) * HPAGE_PMD_NR);
 	show_val_kb(m, "ShmemPmdMapped: ",
 		    global_node_page_state(NR_SHMEM_PMDMAPPED) * HPAGE_PMD_NR);
+	show_val_kb(m, "FileHugePages: ",
+		    global_node_page_state(NR_FILE_THPS) * HPAGE_PMD_NR);
+	show_val_kb(m, "FilePmdMapped: ",
+		    global_node_page_state(NR_FILE_PMDMAPPED) * HPAGE_PMD_NR);
 #endif
 
 #ifdef CONFIG_CMA
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 70394cabaf4e..827f9b777938 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -234,6 +234,8 @@  enum node_stat_item {
 	NR_SHMEM,		/* shmem pages (included tmpfs/GEM pages) */
 	NR_SHMEM_THPS,
 	NR_SHMEM_PMDMAPPED,
+	NR_FILE_THPS,
+	NR_FILE_PMDMAPPED,
 	NR_ANON_THPS,
 	NR_UNSTABLE_NFS,	/* NFS unstable pages */
 	NR_VMSCAN_WRITE,
diff --git a/mm/vmstat.c b/mm/vmstat.c
index fd7e16ca6996..6afc892a148a 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1158,6 +1158,8 @@  const char * const vmstat_text[] = {
 	"nr_shmem",
 	"nr_shmem_hugepages",
 	"nr_shmem_pmdmapped",
+	"nr_file_hugepages",
+	"nr_file_pmdmapped",
 	"nr_anon_transparent_hugepages",
 	"nr_unstable",
 	"nr_vmscan_write",