Re: [PATCH v2 1/3] feat: scale vmpressure window with machine size
From: Lorenzo Stoakes (ARM)
Date: Thu Jul 16 2026 - 09:29:32 EST
NAK.
I'm not sure what you're doing here but this looks suspiciously like you're
taking somebody else's (previously rejected) work and putting your name to it?
And you're sending a v2 without having sent a v1? What?
You're also getting basic process wrong here. We don't prefix with 'feat'. You
only cc'd key people on 1/3 patches.
There doesn't appear to be a cover letter. You are sending random vmalloc
changes along with this too?
On Thu, Jul 16, 2026 at 05:27:30PM +0530, deepakroag wrote:
> Replace the fixed 512-page vmpressure window with a boot-time value
> derived from total memory and CPU count, clamped between 128 and 2048 pages.
So you're just making stuff up here? Clamp between 128 and 2048 because why not
I guess? And no mention about the rest of the logic?
>
> Signed-off-by: deepakroag <gaikwad.dcg@xxxxxxxxx>
> ---
There was already a patch for this in [0] which looks suspiciously close to what
you're doing here (modulo clamping without using a clamp macro),
unacknowledged.
I hope you understand plagiarism is completely unacceptable?
In any case it was rejected then for various reasons, you re-sending the same
idea without crediting that changes nothing.
Cheers, Lorenzo
[0]:https://lore.kernel.org/all/20260227221555.29969-1-mcq@xxxxxxxxxxx/
> mm/vmpressure.c | 24 ++++++++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/mm/vmpressure.c b/mm/vmpressure.c
> index f053554e5..8925d4ad3 100644
> --- a/mm/vmpressure.c
> +++ b/mm/vmpressure.c
> @@ -33,9 +33,29 @@
> * SWAP_CLUSTER_MAX, it makes sense to use it for the window size as well.
> *
> * TODO: Make the window size depend on machine size, as we do for vmstat
> - * thresholds. Currently we set it to 512 pages (2MB for 4KB pages).
> + * thresholds. Scales with CPU count and total memory at boot.
> */
> -static const unsigned long vmpressure_win = SWAP_CLUSTER_MAX * 16;
> +static unsigned long vmpressure_win;
> +
> +static unsigned long __init vmpressure_window_size(void)
> +{
> + unsigned long win;
> + int mem;
> +
> + mem = totalram_pages() >> (27 - PAGE_SHIFT);
> + win = SWAP_CLUSTER_MAX * (unsigned long)fls(num_online_cpus()) *
> + (1 + fls(mem));
> + win = max(win, SWAP_CLUSTER_MAX * 4UL);
> + win = min(win, SWAP_CLUSTER_MAX * 64UL);
> + return win;
> +}
> +
> +static int __init vmpressure_win_init(void)
> +{
> + vmpressure_win = vmpressure_window_size();
> + return 0;
> +}
> +core_initcall(vmpressure_win_init);
>
> /*
> * These thresholds are used when we account memory pressure through
> --
> Deepak Rao Gaikwad
>