Re: [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic.
From: Konstantin Khlebnikov
Date: Tue Oct 23 2018 - 01:11:39 EST
On 23.10.2018 7:15, Joe Perches wrote:> On Mon, 2018-10-22 at 22:53 +0530, Arun KS wrote:
>> Remove managed_page_count_lock spinlock and instead use atomic
>> variables.
>
> Perhaps better to define and use macros for the accesses
> instead of specific uses of atomic_long_<inc/dec/read>
>
> Something like:
>
> #define totalram_pages() (unsigned long)atomic_long_read(&_totalram_pages)
or proper static inline
this code isn't so low level for breaking include dependencies with macro
> #define totalram_pages_inc() (unsigned long)atomic_long_inc(&_totalram_pages)
> #define totalram_pages_dec() (unsigned long)atomic_long_dec(&_totalram_pages)
these are void
conversion zone->managed_pages should be split into separate patch
[dropped bloated cc - my server rejects this mess]