Re: [PATCH v2 00/12] Convert all vmstat counters to pages or bytes

From: Muchun Song
Date: Sun Dec 06 2020 - 05:03:53 EST


I am very sorry that I have hit 'git send-email *' in a directory
containing both v1 and v2 patchs. Please ignore this. I will
resend this version. Very sorry for the noise. Thanks.

On Sun, Dec 6, 2020 at 4:25 PM Muchun Song <songmuchun@xxxxxxxxxxxxx> wrote:
>
> Hi,
>
> This patch series is aimed to convert all THP vmstat counters to pages
> and some KiB vmstat counters to bytes.
>
> The unit of some vmstat counters are pages, some are bytes, some are
> HPAGE_PMD_NR, and some are KiB. When we want to expose these vmstat
> counters to the userspace, we have to know the unit of the vmstat counters
> is which one. It makes the code complex. Because there are too many choices,
> the probability of making a mistake will be greater.
>
> For example, the below is some bug fix:
> - 7de2e9f195b9 ("mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg")
> - not committed(it is the first commit in this series) ("mm: memcontrol: fix NR_ANON_THPS account")
>
> This patch series can make the code simple (161 insertions(+), 187 deletions(-)).
> And make the unit of the vmstat counters are either pages or bytes. Fewer choices
> means lower probability of making mistakes :).
>
> This was inspired by Johannes and Roman. Thanks to them.
>
> Changes in v1 -> v2:
> - Change the series subject from "Convert all THP vmstat counters to pages"
> to "Convert all vmstat counters to pages or bytes".
> - Convert NR_KERNEL_SCS_KB account to bytes.
> - Convert vmstat slab counters to bytes.
> - Remove {global_}node_page_state_pages.
>
> Muchun Song (12):
> mm: memcontrol: fix NR_ANON_THPS account
> mm: memcontrol: convert NR_ANON_THPS account to pages
> mm: memcontrol: convert NR_FILE_THPS account to pages
> mm: memcontrol: convert NR_SHMEM_THPS account to pages
> mm: memcontrol: convert NR_SHMEM_PMDMAPPED account to pages
> mm: memcontrol: convert NR_FILE_PMDMAPPED account to pages
> mm: memcontrol: convert kernel stack account to bytes
> mm: memcontrol: convert NR_KERNEL_SCS_KB account to bytes
> mm: memcontrol: convert vmstat slab counters to bytes
> mm: memcontrol: scale stat_threshold for byted-sized vmstat
> mm: memcontrol: make the slab calculation consistent
> mm: memcontrol: remove {global_}node_page_state_pages
>
> drivers/base/node.c | 25 ++++-----
> fs/proc/meminfo.c | 22 ++++----
> include/linux/mmzone.h | 21 +++-----
> include/linux/vmstat.h | 21 ++------
> kernel/fork.c | 8 +--
> kernel/power/snapshot.c | 2 +-
> kernel/scs.c | 4 +-
> mm/filemap.c | 4 +-
> mm/huge_memory.c | 9 ++--
> mm/khugepaged.c | 4 +-
> mm/memcontrol.c | 131 ++++++++++++++++++++++++------------------------
> mm/oom_kill.c | 2 +-
> mm/page_alloc.c | 17 +++----
> mm/rmap.c | 19 ++++---
> mm/shmem.c | 3 +-
> mm/vmscan.c | 2 +-
> mm/vmstat.c | 54 ++++++++------------
> 17 files changed, 161 insertions(+), 187 deletions(-)
>
> --
> 2.11.0
>


--
Yours,
Muchun