The quilt patch titled Subject: proc-ksm-add-ksm-stats-to-proc-pid-smaps-v5 has been removed from the -mm tree. Its filename was proc-ksm-add-ksm-stats-to-proc-pid-smaps-v5.patch This patch was dropped because it was folded into proc-ksm-add-ksm-stats-to-proc-pid-smaps.patch ------------------------------------------------------ From: Stefan Roesch <shr@xxxxxxxxxxxx> Subject: proc-ksm-add-ksm-stats-to-proc-pid-smaps-v5 Date: Wed, 23 Aug 2023 10:01:07 -0700 Link: https://lkml.kernel.org/r/20230823170107.1457915-1-shr@xxxxxxxxxxxx Signed-off-by: Stefan Roesch <shr@xxxxxxxxxxxx> Reviewed-by: David Hildenbrand <david@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- Documentation/filesystems/proc.rst | 4 ++-- fs/proc/task_mmu.c | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) --- a/Documentation/filesystems/proc.rst~proc-ksm-add-ksm-stats-to-proc-pid-smaps-v5 +++ a/Documentation/filesystems/proc.rst @@ -502,8 +502,8 @@ accessed. a mapping associated with a file may contain anonymous pages: when MAP_PRIVATE and a page is modified, the file page is replaced by a private anonymous copy. -"KSM" shows the amount of anonymous memory that has been de-duplicated. The -value is independent of the use of shared zeropage. +"KSM" reports how many of the pages are KSM pages. Note that KSM-placed zeropages +are not included, only actual KSM pages. "LazyFree" shows the amount of memory which is marked by madvise(MADV_FREE). The memory isn't freed immediately with madvise(). It's freed in memory --- a/fs/proc/task_mmu.c~proc-ksm-add-ksm-stats-to-proc-pid-smaps-v5 +++ a/fs/proc/task_mmu.c @@ -437,9 +437,9 @@ static void smaps_page_accumulate(struct } } -static void smaps_account(struct mem_size_stats *mss, pte_t *pte, - struct page *page, bool compound, bool young, bool dirty, - bool locked, bool migration) +static void smaps_account(struct mem_size_stats *mss, struct page *page, + bool compound, bool young, bool dirty, bool locked, + bool migration) { int i, nr = compound ? compound_nr(page) : 1; unsigned long size = nr * PAGE_SIZE; @@ -454,7 +454,7 @@ static void smaps_account(struct mem_siz mss->lazyfree += size; } - if (PageKsm(page) && (!pte || !is_ksm_zero_pte(*pte))) + if (PageKsm(page)) mss->ksm += size; mss->resident += size; @@ -562,7 +562,7 @@ static void smaps_pte_entry(pte_t *pte, if (!page) return; - smaps_account(mss, pte, page, false, young, dirty, locked, migration); + smaps_account(mss, page, false, young, dirty, locked, migration); } #ifdef CONFIG_TRANSPARENT_HUGEPAGE @@ -596,7 +596,7 @@ static void smaps_pmd_entry(pmd_t *pmd, else mss->file_thp += HPAGE_PMD_SIZE; - smaps_account(mss, NULL, page, true, pmd_young(*pmd), pmd_dirty(*pmd), + smaps_account(mss, page, true, pmd_young(*pmd), pmd_dirty(*pmd), locked, migration); } #else _ Patches currently in -mm which might be from shr@xxxxxxxxxxxx are proc-ksm-add-ksm-stats-to-proc-pid-smaps.patch