Re: [RFC RESEND PATCH] swap: choose swap device according to numa node

From: Yu Chen
Date: Tue Jul 05 2016 - 01:57:41 EST


On Tue, Jul 5, 2016 at 11:19 AM, Aaron Lu <aaron.lu@xxxxxxxxx> wrote:
> Resend:
> This is a resend, the original patch doesn't catch much attention.
> It may not be a big deal for swap devices that used to be hosted on
> HDD but with devices like 3D Xpoint to be used as swap device, it could
> make a real difference if we consider NUMA information when doing IO.
> Comments are appreciated, thanks for your time.
>
-------------------------%<-------------------------
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 71b1c29948db..dd7e44a315b0 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -3659,9 +3659,11 @@ void kswapd_stop(int nid)
>
> static int __init kswapd_init(void)
> {
> - int nid;
> + int nid, err;
>
> - swap_setup();
> + err = swap_setup();
> + if (err)
> + return err;
> for_each_node_state(nid, N_MEMORY)
> kswapd_run(nid);
> hotcpu_notifier(cpu_callback, 0);
In original implementation, although swap_setup failed,
the swapd would also be created, since swapd is
not only used for swap out but also for other page reclaim,
so this change above might modify its semantic? Sorry if
I understand incorrectly.