[PATCH] mm: vmscan: mark kswapd_run() and kswapd_stop() __meminit

Miaohe Lin posted 1 patch 2 years, 8 months ago
include/linux/swap.h | 4 ++--
mm/vmscan.c          | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
[PATCH] mm: vmscan: mark kswapd_run() and kswapd_stop() __meminit
Posted by Miaohe Lin 2 years, 8 months ago
Add __meminit to kswapd_run() and kswapd_stop() to ensure they're default
to __init when memory hotplug is not enabled.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 include/linux/swap.h | 4 ++--
 mm/vmscan.c          | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/swap.h b/include/linux/swap.h
index 2ddbfd85f6c7..b5f6f2916de1 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -460,8 +460,8 @@ static inline bool node_reclaim_enabled(void)
 void check_move_unevictable_folios(struct folio_batch *fbatch);
 void check_move_unevictable_pages(struct pagevec *pvec);
 
-extern void kswapd_run(int nid);
-extern void kswapd_stop(int nid);
+extern void __meminit kswapd_run(int nid);
+extern void __meminit kswapd_stop(int nid);
 
 #ifdef CONFIG_SWAP
 
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 43dc5c90abbf..a8881571e0ed 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -7871,7 +7871,7 @@ unsigned long shrink_all_memory(unsigned long nr_to_reclaim)
 /*
  * This kswapd start function will be called by init and node-hot-add.
  */
-void kswapd_run(int nid)
+void __meminit kswapd_run(int nid)
 {
 	pg_data_t *pgdat = NODE_DATA(nid);
 
@@ -7892,7 +7892,7 @@ void kswapd_run(int nid)
  * Called by memory hotplug when all memory in a node is offlined.  Caller must
  * be holding mem_hotplug_begin/done().
  */
-void kswapd_stop(int nid)
+void __meminit kswapd_stop(int nid)
 {
 	pg_data_t *pgdat = NODE_DATA(nid);
 	struct task_struct *kswapd;
-- 
2.27.0
Re: [PATCH] mm: vmscan: mark kswapd_run() and kswapd_stop() __meminit
Posted by David Hildenbrand 2 years, 8 months ago
On 06.06.23 14:18, Miaohe Lin wrote:
> Add __meminit to kswapd_run() and kswapd_stop() to ensure they're default
> to __init when memory hotplug is not enabled.
> 
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> ---
>   include/linux/swap.h | 4 ++--
>   mm/vmscan.c          | 4 ++--
>   2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/include/linux/swap.h b/include/linux/swap.h
> index 2ddbfd85f6c7..b5f6f2916de1 100644
> --- a/include/linux/swap.h
> +++ b/include/linux/swap.h
> @@ -460,8 +460,8 @@ static inline bool node_reclaim_enabled(void)
>   void check_move_unevictable_folios(struct folio_batch *fbatch);
>   void check_move_unevictable_pages(struct pagevec *pvec);
>   
> -extern void kswapd_run(int nid);
> -extern void kswapd_stop(int nid);
> +extern void __meminit kswapd_run(int nid);
> +extern void __meminit kswapd_stop(int nid);
>   
>   #ifdef CONFIG_SWAP
>   
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 43dc5c90abbf..a8881571e0ed 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -7871,7 +7871,7 @@ unsigned long shrink_all_memory(unsigned long nr_to_reclaim)
>   /*
>    * This kswapd start function will be called by init and node-hot-add.
>    */
> -void kswapd_run(int nid)
> +void __meminit kswapd_run(int nid)
>   {
>   	pg_data_t *pgdat = NODE_DATA(nid);
>   
> @@ -7892,7 +7892,7 @@ void kswapd_run(int nid)
>    * Called by memory hotplug when all memory in a node is offlined.  Caller must
>    * be holding mem_hotplug_begin/done().
>    */
> -void kswapd_stop(int nid)
> +void __meminit kswapd_stop(int nid)
>   {
>   	pg_data_t *pgdat = NODE_DATA(nid);
>   	struct task_struct *kswapd;

kswapd_stop() is only called with CONFIG_MEMORY_HOTPLUG, so I'm 
wondering if we even want to compiled that without CONFIG_MEMORY_HOTPLUG ...

Anyhow,

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb
Re: [PATCH] mm: vmscan: mark kswapd_run() and kswapd_stop() __meminit
Posted by Yu Zhao 2 years, 8 months ago
On Tue, Jun 6, 2023 at 6:18 AM Miaohe Lin <linmiaohe@huawei.com> wrote:
>
> Add __meminit to kswapd_run() and kswapd_stop() to ensure they're default
> to __init when memory hotplug is not enabled.
>
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>

Acked-by: Yu Zhao <yuzhao@google.com>