[PATCH 2/2] mm/compaction: avoid unneeded pageblock_end_pfn when no_set_skip_hint is set

Kemeng Shi posted 2 patches 2 years, 6 months ago
There is a newer version of this series
[PATCH 2/2] mm/compaction: avoid unneeded pageblock_end_pfn when no_set_skip_hint is set
Posted by Kemeng Shi 2 years, 6 months ago
Move pageblock_end_pfn after no_set_skip_hint check to avoid unneeded
pageblock_end_pfn if no_set_skip_hint is set.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
---
 mm/compaction.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/compaction.c b/mm/compaction.c
index c0d8d08fc163..9b7a0a69e19f 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -458,12 +458,12 @@ static void update_cached_migrate(struct compact_control *cc, unsigned long pfn)
 {
 	struct zone *zone = cc->zone;
 
-	pfn = pageblock_end_pfn(pfn);
-
 	/* Set for isolation rather than compaction */
 	if (cc->no_set_skip_hint)
 		return;
 
+	pfn = pageblock_end_pfn(pfn);
+
 	if (pfn > zone->compact_cached_migrate_pfn[0])
 		zone->compact_cached_migrate_pfn[0] = pfn;
 	if (cc->mode != MIGRATE_ASYNC &&
-- 
2.30.0
Re: [PATCH 2/2] mm/compaction: avoid unneeded pageblock_end_pfn when no_set_skip_hint is set
Posted by Baolin Wang 2 years, 6 months ago

On 7/20/2023 7:53 PM, Kemeng Shi wrote:
> Move pageblock_end_pfn after no_set_skip_hint check to avoid unneeded
> pageblock_end_pfn if no_set_skip_hint is set.
> 
> Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>

Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>

> ---
>   mm/compaction.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/compaction.c b/mm/compaction.c
> index c0d8d08fc163..9b7a0a69e19f 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -458,12 +458,12 @@ static void update_cached_migrate(struct compact_control *cc, unsigned long pfn)
>   {
>   	struct zone *zone = cc->zone;
>   
> -	pfn = pageblock_end_pfn(pfn);
> -
>   	/* Set for isolation rather than compaction */
>   	if (cc->no_set_skip_hint)
>   		return;
>   
> +	pfn = pageblock_end_pfn(pfn);
> +
>   	if (pfn > zone->compact_cached_migrate_pfn[0])
>   		zone->compact_cached_migrate_pfn[0] = pfn;
>   	if (cc->mode != MIGRATE_ASYNC &&