Re: [PATCH v3 2/2] mm/ksm: fix advisor_min_pages_to_scan description
"Lorenzo Stoakes (ARM)" <[email protected]>
| Newsgroups | org.kernel.vger.linux-doc,org.kvack.linux-mm |
|---|---|
| Message-ID | <aowk3FVFNAT1EIsE@gremlin> |
On Mon, Aug 24, 2026 at 02:10:10PM +0800, Jinjiang Tu wrote:
> Both Documentation/admin-guide/mm/ksm.rst and the comment next to the
> variable definition in mm/ksm.c describe advisor_min_pages_to_scan as a
> lower limit of the pages_to_scan parameter, but that is not how the
> scan-time advisor actually uses it. commit 4e5fa4f5eff6 ("mm/ksm: add ksm
> advisor") only uses it to initialize ksm_thread_pages_to_scan when the
> scan-time advisor is enabled.
>
> ksm_thread_pages_to_scan is adjusted by scan_time_advisor() after a full
> scan finishes. ksm_thread_pages_to_scan could be increased or decreased
> depend on the real scan time is longer or shorter than the target scan
> time. The min value of ksm_thread_pages_to_scan is only limited by
> KSM_ADVISOR_MIN_CPU, so ksm_thread_pages_to_scan could be smaller than
> ksm_advisor_min_pages_to_scan.
>
> The semantics of advisor_min_pages_to_scan was updated in the v2 patchset
> [1], but the documentation wasn't updated.
>
> Update the documentation and comment to match the semantics of
> advisor_min_pages_to_scan.
>
> Link: https://lore.kernel.org/linux-mm/[email protected]/ [1]
> Signed-off-by: Jinjiang Tu <[email protected]>
LGTM so:
Reviewed-by: Lorenzo Stoakes (ARM) <[email protected]>
> ---
> Documentation/admin-guide/mm/ksm.rst | 4 ++--
> mm/ksm.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/admin-guide/mm/ksm.rst b/Documentation/admin-guide/mm/ksm.rst
> index c9f533b10f6f..c329ca747b8c 100644
> --- a/Documentation/admin-guide/mm/ksm.rst
> +++ b/Documentation/admin-guide/mm/ksm.rst
> @@ -183,8 +183,8 @@ advisor_target_scan_time
> pages. The default value is 200 seconds.
>
> advisor_min_pages_to_scan
> - specifies the lower limit of the ``pages_to_scan`` parameter of the
> - scan time advisor. The default is 500.
> + specifies the initial value of the ``pages_to_scan`` parameter of
> + the scan time advisor. The default is 500.
>
> advisor_max_pages_to_scan
> specifies the upper limit of the ``pages_to_scan`` parameter of the
> diff --git a/mm/ksm.c b/mm/ksm.c
> index 7d5b76478f0b..4a6cf8cf5d60 100644
> --- a/mm/ksm.c
> +++ b/mm/ksm.c
> @@ -342,7 +342,7 @@ static enum ksm_advisor_type ksm_advisor;
> * Only called through the sysfs control interface:
> */
>
> -/* At least scan this many pages per batch. */
> +/* Initial number of pages to scan per batch. */
> static unsigned long ksm_advisor_min_pages_to_scan = 500;
>
> static void set_advisor_defaults(void)
> --
> 2.43.0
>
--
Cheers, Lorenzo