lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3f943c78-bc8b-fd2f-50b1-5bd3501bc878@redhat.com>
Date:   Mon, 12 Jun 2023 11:32:58 +0200
From:   David Hildenbrand <david@...hat.com>
To:     Miaohe Lin <linmiaohe@...wei.com>, akpm@...ux-foundation.org
Cc:     linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm: vmscan: mark kswapd_run() and kswapd_stop() __meminit

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@...wei.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@...hat.com>

-- 
Cheers,

David / dhildenb

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ