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