Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1276083 > unrolled thread

[PATCH] mm/compaction: __compact_pgdat() code cleanuup

Started byJoonsoo Kim <js1304@gmail.com>
First post2015-11-24 07:30 +0100
Last post2015-11-25 04:00 +0100
Articles 4 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] mm/compaction: __compact_pgdat() code cleanuup Joonsoo Kim <js1304@gmail.com> - 2015-11-24 07:30 +0100
    Re: [PATCH] mm/compaction: __compact_pgdat() code cleanuup Yaowei Bai <bywxiaobai@163.com> - 2015-11-24 08:40 +0100
    Re: [PATCH] mm/compaction: __compact_pgdat() code cleanuup Vlastimil Babka <vbabka@suse.cz> - 2015-11-24 09:50 +0100
      Re: [PATCH] mm/compaction: __compact_pgdat() code cleanuup Joonsoo Kim <iamjoonsoo.kim@lge.com> - 2015-11-25 04:00 +0100

#1276083 — [PATCH] mm/compaction: __compact_pgdat() code cleanuup

FromJoonsoo Kim <js1304@gmail.com>
Date2015-11-24 07:30 +0100
Subject[PATCH] mm/compaction: __compact_pgdat() code cleanuup
Message-ID<qyfh0-4q8-9@gated-at.bofh.it>
This patch uses is_via_compact_memory() to distinguish direct compaction.
And it also reduces indentation on compaction_defer_reset
by filtering failure case. There is no functional change.

Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
---
 mm/compaction.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/mm/compaction.c b/mm/compaction.c
index de3e1e7..2b1a15e 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1658,14 +1658,17 @@ static void __compact_pgdat(pg_data_t *pgdat, struct compact_control *cc)
 				!compaction_deferred(zone, cc->order))
 			compact_zone(zone, cc);
 
-		if (cc->order > 0) {
-			if (zone_watermark_ok(zone, cc->order,
-						low_wmark_pages(zone), 0, 0))
-				compaction_defer_reset(zone, cc->order, false);
-		}
-
 		VM_BUG_ON(!list_empty(&cc->freepages));
 		VM_BUG_ON(!list_empty(&cc->migratepages));
+
+		if (is_via_compact_memory(cc->order))
+			continue;
+
+		if (!zone_watermark_ok(zone, cc->order,
+				low_wmark_pages(zone), 0, 0))
+			continue;
+
+		compaction_defer_reset(zone, cc->order, false);
 	}
 }
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1276107

FromYaowei Bai <bywxiaobai@163.com>
Date2015-11-24 08:40 +0100
Message-ID<qygmK-558-13@gated-at.bofh.it>
In reply to#1276083
On Tue, Nov 24, 2015 at 03:24:42PM +0900, Joonsoo Kim wrote:
> This patch uses is_via_compact_memory() to distinguish direct compaction.
> And it also reduces indentation on compaction_defer_reset
> by filtering failure case. There is no functional change.
> 
> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> ---
>  mm/compaction.c | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/mm/compaction.c b/mm/compaction.c
> index de3e1e7..2b1a15e 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -1658,14 +1658,17 @@ static void __compact_pgdat(pg_data_t *pgdat, struct compact_control *cc)
>  				!compaction_deferred(zone, cc->order))
>  			compact_zone(zone, cc);
>  
> -		if (cc->order > 0) {
> -			if (zone_watermark_ok(zone, cc->order,
> -						low_wmark_pages(zone), 0, 0))
> -				compaction_defer_reset(zone, cc->order, false);
> -		}
> -
>  		VM_BUG_ON(!list_empty(&cc->freepages));
>  		VM_BUG_ON(!list_empty(&cc->migratepages));
> +
> +		if (is_via_compact_memory(cc->order))
> +			continue;
> +
> +		if (!zone_watermark_ok(zone, cc->order,
> +				low_wmark_pages(zone), 0, 0))
> +			continue;
> +
> +		compaction_defer_reset(zone, cc->order, false);
>  	}
>  }

This makes more sense,

Acked-by: Yaowei Bai <baiyaowei@cmss.chinamobile.com>

>  
> -- 
> 1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1276164

FromVlastimil Babka <vbabka@suse.cz>
Date2015-11-24 09:50 +0100
Message-ID<qyhsu-5Kj-9@gated-at.bofh.it>
In reply to#1276083
On 11/24/2015 07:24 AM, Joonsoo Kim wrote:
> This patch uses is_via_compact_memory() to distinguish direct compaction.
> And it also reduces indentation on compaction_defer_reset
> by filtering failure case. There is no functional change.
>
> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> ---
>   mm/compaction.c | 15 +++++++++------
>   1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/mm/compaction.c b/mm/compaction.c
> index de3e1e7..2b1a15e 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -1658,14 +1658,17 @@ static void __compact_pgdat(pg_data_t *pgdat, struct compact_control *cc)
>   				!compaction_deferred(zone, cc->order))
>   			compact_zone(zone, cc);
>
> -		if (cc->order > 0) {
> -			if (zone_watermark_ok(zone, cc->order,
> -						low_wmark_pages(zone), 0, 0))
> -				compaction_defer_reset(zone, cc->order, false);
> -		}
> -
>   		VM_BUG_ON(!list_empty(&cc->freepages));
>   		VM_BUG_ON(!list_empty(&cc->migratepages));
> +
> +		if (is_via_compact_memory(cc->order))
> +			continue;

That's fine.

> +		if (!zone_watermark_ok(zone, cc->order,
> +				low_wmark_pages(zone), 0, 0))
> +			continue;
> +
> +		compaction_defer_reset(zone, cc->order, false);

Here I'd personally find the way of "if(watermark_ok) defer_reset()" 
logic easier to follow.

>   	}
>   }
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1276984

FromJoonsoo Kim <iamjoonsoo.kim@lge.com>
Date2015-11-25 04:00 +0100
Message-ID<qyytk-8pA-7@gated-at.bofh.it>
In reply to#1276164
On Tue, Nov 24, 2015 at 09:49:49AM +0100, Vlastimil Babka wrote:
> On 11/24/2015 07:24 AM, Joonsoo Kim wrote:
> >This patch uses is_via_compact_memory() to distinguish direct compaction.
> >And it also reduces indentation on compaction_defer_reset
> >by filtering failure case. There is no functional change.
> >
> >Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> >---
> >  mm/compaction.c | 15 +++++++++------
> >  1 file changed, 9 insertions(+), 6 deletions(-)
> >
> >diff --git a/mm/compaction.c b/mm/compaction.c
> >index de3e1e7..2b1a15e 100644
> >--- a/mm/compaction.c
> >+++ b/mm/compaction.c
> >@@ -1658,14 +1658,17 @@ static void __compact_pgdat(pg_data_t *pgdat, struct compact_control *cc)
> >  				!compaction_deferred(zone, cc->order))
> >  			compact_zone(zone, cc);
> >
> >-		if (cc->order > 0) {
> >-			if (zone_watermark_ok(zone, cc->order,
> >-						low_wmark_pages(zone), 0, 0))
> >-				compaction_defer_reset(zone, cc->order, false);
> >-		}
> >-
> >  		VM_BUG_ON(!list_empty(&cc->freepages));
> >  		VM_BUG_ON(!list_empty(&cc->migratepages));
> >+
> >+		if (is_via_compact_memory(cc->order))
> >+			continue;
> 
> That's fine.
> 
> >+		if (!zone_watermark_ok(zone, cc->order,
> >+				low_wmark_pages(zone), 0, 0))
> >+			continue;
> >+
> >+		compaction_defer_reset(zone, cc->order, false);
> 
> Here I'd personally find the way of "if(watermark_ok) defer_reset()"
> logic easier to follow.

Okay. Will change it.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web