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

From: Huang\, Ying
Date: Tue Jul 11 2017 - 22:23:17 EST


Dave Hansen <dave.hansen@xxxxxxxxx> writes:

> 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?

Yes. It is much better to use percpu counters instead. Will change it
in the next version.

Best Regards,
Huang, Ying