Changes in v2: - Add Fixes and Acked-by tags from David Hildenbrand, thanks! - Inline atomic_long_read(&ksm_zero_pages), per David Hildenbrand. - Don't include the last two optimization patches to keep this fix simple. - Link to v1: https://lore.kernel.org/r/20240508-b4-ksm-counters-v1-0-e2a9b13f70c5@xxxxxxxxx We encounter some abnormal ksm_pages_scanned and ksm_zero_pages during some random tests. 1. ksm_pages_scanned unchanged even ksmd scanning has progress. 2. ksm_zero_pages maybe -1 in some rare cases. Thanks for review and comments! Signed-off-by: Chengming Zhou <chengming.zhou@xxxxxxxxx> --- Chengming Zhou (2): mm/ksm: fix ksm_pages_scanned accounting mm/ksm: fix ksm_zero_pages accounting fs/proc/base.c | 2 +- include/linux/ksm.h | 17 ++++++++++++++--- include/linux/mm_types.h | 2 +- mm/ksm.c | 17 +++++++---------- 4 files changed, 23 insertions(+), 15 deletions(-) --- base-commit: fb0f40125feec3de7ef4524600ac83946207117e change-id: 20240508-b4-ksm-counters-04817b40d3ee Best regards, -- Chengming Zhou <chengming.zhou@xxxxxxxxx>