Changes in v3: - Collect Reviewed-by tag from xu xin, thanks! - Improve the changelog of patch-2, per xu xin. - Rebase and retest based on v6.10-rc1. - Link to v2: https://lore.kernel.org/r/20240513-b4-ksm-counters-v2-0-f2520183a8ca@xxxxxxxxx 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: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0 change-id: 20240528-b4-ksm-counters-6a6452e23f17 Best regards, -- Chengming Zhou <chengming.zhou@xxxxxxxxx>