Re: [PATCH -mm -v2 2/6] mm, swap: Add swap readahead hit statistics

From: Dave Hansen
Date: Tue Jul 11 2017 - 14:25:50 EST


On 06/29/2017 06:44 PM, Huang, Ying wrote:
>
> static atomic_t swapin_readahead_hits = ATOMIC_INIT(4);
> +static atomic_long_t swapin_readahead_hits_total = ATOMIC_INIT(0);
> +static atomic_long_t swapin_readahead_total = ATOMIC_INIT(0);
>
> void show_swap_cache_info(void)
> {
> @@ -305,8 +307,10 @@ struct page * lookup_swap_cache(swp_entry_t entry)
>
> if (page && likely(!PageTransCompound(page))) {
> INC_CACHE_INFO(find_success);
> - if (TestClearPageReadahead(page))
> + if (TestClearPageReadahead(page)) {
> atomic_inc(&swapin_readahead_hits);
> + atomic_long_inc(&swapin_readahead_hits_total);
> + }
> }

Adding global atomics that we touch in hot paths seems like poor
future-proofing. Are we sure we want to do this and not use some of the
nice, fancy, percpu counters that we have?