Re: [PATCH v2 3/4] mm: convert totalram_pages and totalhigh_pages variables to atomic

From: Arun KS
Date: Thu Nov 08 2018 - 02:23:37 EST


On 2018-11-07 14:34, Vlastimil Babka wrote:
On 11/6/18 5:21 PM, Arun KS wrote:
totalram_pages and totalhigh_pages are made static inline function.

Suggested-by: Michal Hocko <mhocko@xxxxxxxx>
Suggested-by: Vlastimil Babka <vbabka@xxxxxxx>
Signed-off-by: Arun KS <arunks@xxxxxxxxxxxxxx>
Reviewed-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>
Acked-by: Michal Hocko <mhocko@xxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

One bug (probably) below:

diff --git a/mm/highmem.c b/mm/highmem.c
index 59db322..02a9a4b 100644
--- a/mm/highmem.c
+++ b/mm/highmem.c
@@ -105,9 +105,7 @@ static inline wait_queue_head_t *get_pkmap_wait_queue_head(unsigned int color)
}
#endif

-unsigned long totalhigh_pages __read_mostly;
-EXPORT_SYMBOL(totalhigh_pages);

I think you still need to export _totalhigh_pages so that modules can
use the inline accessors.

Thanks for pointing this. I missed that. Will do the same for _totalram_pages.

Regards,
Arun


-
+atomic_long_t _totalhigh_pages __read_mostly;

EXPORT_PER_CPU_SYMBOL(__kmap_atomic_idx);