[Devel] [PATCH] mm: Drop swap_cache_info reporting in vzstat

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Tue Jan 2 05:46:00 MSK 2024


Looks good.

Reviewed-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>

While on it, can we also remove swap_cache_info_struct in 
include/linux/vzstat.h as it looks unused?

On 29/12/2023 01:15, Konstantin Khorenko wrote:
> Mainstream has dropped swap_cache_info statistics:
>   442701e7058b ("mm/swap: remove swap_cache_info statistics")
> 
> So we are dropping reporting it via /proc/vz/stats interface.
> 
> We could leave the format of /proc/vz/stats file the same (it is an
> interface after all, should be stable), but as in vz9 we'll have so many
> changes, vzstat utility is also should be rewritten, so it's a good time
> to drop the junk code rathen than preserve the interface file format.
> 
> Of course we inc the format version to 2.7.
> 
> This patch:
>   * fully reverts 44a915de19aa ("mm: Export swap_cache_info struct and
>     variable")
>   * removes couple of hunks in 5952b9c2f339 ("vzstat: Add vzstat module and
>     kstat interfaces") - related to swap_cache_info
> 
> https://virtuozzo.atlassian.net/browse/PSBM-152466
> 
> Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
> 
> Feature: ve: extra statistics (mm, latency)
> ---
>   include/linux/swap.h   |  9 ---------
>   include/linux/vzstat.h |  7 -------
>   kernel/ve/vzstat.c     | 16 +---------------
>   mm/swap_state.c        |  3 ---
>   4 files changed, 1 insertion(+), 34 deletions(-)
> 
> diff --git a/include/linux/swap.h b/include/linux/swap.h
> index 9348574b5bb7..1af5b711bc00 100644
> --- a/include/linux/swap.h
> +++ b/include/linux/swap.h
> @@ -715,14 +715,5 @@ static inline bool mem_cgroup_swap_full(struct page *page)
>   }
>   #endif
>   
> -struct swap_cache_info {
> -	unsigned long add_total;
> -	unsigned long del_total;
> -	unsigned long find_success;
> -	unsigned long find_total;
> -};
> -
> -extern struct swap_cache_info swap_cache_info;
> -
>   #endif /* __KERNEL__*/
>   #endif /* _LINUX_SWAP_H */
> diff --git a/include/linux/vzstat.h b/include/linux/vzstat.h
> index 505487117ca4..4a5738bd036f 100644
> --- a/include/linux/vzstat.h
> +++ b/include/linux/vzstat.h
> @@ -14,13 +14,6 @@
>   #include <linux/mmzone.h>
>   #include <linux/kstat.h>
>   
> -struct swap_cache_info_struct {
> -	unsigned long add_total;
> -	unsigned long del_total;
> -	unsigned long find_success;
> -	unsigned long find_total;
> -};
> -
>   struct kstat_zone_avg {
>   	unsigned long		free_pages_avg[3],
>   				nr_active_avg[3],
> diff --git a/kernel/ve/vzstat.c b/kernel/ve/vzstat.c
> index 7ffd5ec7f2a3..73063a4189d7 100644
> --- a/kernel/ve/vzstat.c
> +++ b/kernel/ve/vzstat.c
> @@ -27,7 +27,6 @@
>   #include <linux/kthread.h>
>   #include <linux/freezer.h>
>   #include <linux/veowner.h>
> -#include <linux/swap.h>
>   
>   #include <linux/vzstat.h>
>   
> @@ -385,18 +384,6 @@ static void kernel_text_csum_seq_show(struct seq_file *m, void *v)
>   	seq_printf(m, "kernel_text_csum_broken: %d\n", 0);
>   }
>   
> -static void swap_cache_seq_show(struct seq_file *m, void *v)
> -{
> -	struct swap_cache_info *swpcache;
> -
> -	swpcache = &swap_cache_info;
> -	seq_printf(m, "Swap cache: add %lu, del %lu, find %lu/%lu\n",
> -			swpcache->add_total,
> -			swpcache->del_total,
> -			swpcache->find_success,
> -			swpcache->find_total);
> -}
> -
>   /*
>    * Declare special structure to store summarized statistics. The 'struct zone'
>    * is not used because of it's tremendous size.
> @@ -668,14 +655,13 @@ static int stats_seq_show(struct seq_file *m, void *v)
>   {
>   	if (!v)
>   		return 0;
> -	seq_puts(m, "Version: 2.6\n");
> +	seq_puts(m, "Version: 2.7\n");
>   	cycles_per_jiffy_show(m, v);
>   	jiffies_per_second_show(m, v);
>   	seq_puts(m, "\nLoad info:\n");
>   	task_counts_seq_show(m, v);
>   	seq_puts(m, "\nMemory info:\n");
>   	kernel_text_csum_seq_show(m, v);
> -	swap_cache_seq_show(m, v);
>   	mem_free_areas_show(m, v);
>   	mem_avg_show(m, v);
>   	mem_fails_show(m, v);
> diff --git a/mm/swap_state.c b/mm/swap_state.c
> index 034dd5d0c6d9..b16dc348bbd2 100644
> --- a/mm/swap_state.c
> +++ b/mm/swap_state.c
> @@ -59,9 +59,6 @@ static bool enable_vma_readahead __read_mostly = true;
>   #define GET_SWAP_RA_VAL(vma)					\
>   	(atomic_long_read(&(vma)->swap_readahead_info) ? : 4)
>   
> -struct swap_cache_info swap_cache_info;
> -EXPORT_SYMBOL_GPL(swap_cache_info);
> -
>   static atomic_t swapin_readahead_hits = ATOMIC_INIT(4);
>   
>   void show_swap_cache_info(void)

-- 
Best regards, Tikhomirov Pavel
Senior Software Developer, Virtuozzo.


More information about the Devel mailing list