All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
@ 2020-07-23  1:49 js1304
  2020-07-23 13:02 ` Sasha Levin
  2020-07-24  1:08 ` Andrew Morton
  0 siblings, 2 replies; 11+ messages in thread
From: js1304 @ 2020-07-23  1:49 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-mm, linux-kernel, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

From: Joonsoo Kim <iamjoonsoo.kim@lge.com>

Currently, memalloc_nocma_{save/restore} API that prevents CMA area
in page allocation is implemented by using current_gfp_context(). However,
there are two problems of this implementation.

First, this doesn't work for allocation fastpath. In the fastpath,
original gfp_mask is used since current_gfp_context() is introduced in
order to control reclaim and it is on slowpath. So, CMA area can be
allocated through the allocation fastpath even if
memalloc_nocma_{save/restore} APIs are used. Currently, there is just
one user for these APIs and it has a fallback method to prevent actual
problem.
Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
to exclude the memory on the ZONE_MOVABLE for allocation target.

To fix these problems, this patch changes the implementation to exclude
CMA area in page allocation. Main point of this change is using the
alloc_flags. alloc_flags is mainly used to control allocation so it fits
for excluding CMA area in allocation.

Fixes: d7fefcc8de91 (mm/cma: add PF flag to force non cma alloc)
Cc: <stable@vger.kernel.org>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
---
 include/linux/sched/mm.h |  8 +-------
 mm/page_alloc.c          | 31 +++++++++++++++++++++----------
 2 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/include/linux/sched/mm.h b/include/linux/sched/mm.h
index 480a4d1..17e0c31 100644
--- a/include/linux/sched/mm.h
+++ b/include/linux/sched/mm.h
@@ -177,12 +177,10 @@ static inline bool in_vfork(struct task_struct *tsk)
  * Applies per-task gfp context to the given allocation flags.
  * PF_MEMALLOC_NOIO implies GFP_NOIO
  * PF_MEMALLOC_NOFS implies GFP_NOFS
- * PF_MEMALLOC_NOCMA implies no allocation from CMA region.
  */
 static inline gfp_t current_gfp_context(gfp_t flags)
 {
-	if (unlikely(current->flags &
-		     (PF_MEMALLOC_NOIO | PF_MEMALLOC_NOFS | PF_MEMALLOC_NOCMA))) {
+	if (unlikely(current->flags & (PF_MEMALLOC_NOIO | PF_MEMALLOC_NOFS))) {
 		/*
 		 * NOIO implies both NOIO and NOFS and it is a weaker context
 		 * so always make sure it makes precedence
@@ -191,10 +189,6 @@ static inline gfp_t current_gfp_context(gfp_t flags)
 			flags &= ~(__GFP_IO | __GFP_FS);
 		else if (current->flags & PF_MEMALLOC_NOFS)
 			flags &= ~__GFP_FS;
-#ifdef CONFIG_CMA
-		if (current->flags & PF_MEMALLOC_NOCMA)
-			flags &= ~__GFP_MOVABLE;
-#endif
 	}
 	return flags;
 }
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e028b87c..7336e94 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2790,7 +2790,7 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
 	 * allocating from CMA when over half of the zone's free memory
 	 * is in the CMA area.
 	 */
-	if (migratetype == MIGRATE_MOVABLE &&
+	if (alloc_flags & ALLOC_CMA &&
 	    zone_page_state(zone, NR_FREE_CMA_PAGES) >
 	    zone_page_state(zone, NR_FREE_PAGES) / 2) {
 		page = __rmqueue_cma_fallback(zone, order);
@@ -2801,7 +2801,7 @@ __rmqueue(struct zone *zone, unsigned int order, int migratetype,
 retry:
 	page = __rmqueue_smallest(zone, order, migratetype);
 	if (unlikely(!page)) {
-		if (migratetype == MIGRATE_MOVABLE)
+		if (alloc_flags & ALLOC_CMA)
 			page = __rmqueue_cma_fallback(zone, order);
 
 		if (!page && __rmqueue_fallback(zone, order, migratetype,
@@ -3671,6 +3671,20 @@ alloc_flags_nofragment(struct zone *zone, gfp_t gfp_mask)
 	return alloc_flags;
 }
 
+static inline unsigned int current_alloc_flags(gfp_t gfp_mask,
+					unsigned int alloc_flags)
+{
+#ifdef CONFIG_CMA
+	unsigned int pflags = current->flags;
+
+	if (!(pflags & PF_MEMALLOC_NOCMA) &&
+			gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE)
+		alloc_flags |= ALLOC_CMA;
+
+#endif
+	return alloc_flags;
+}
+
 /*
  * get_page_from_freelist goes through the zonelist trying to allocate
  * a page.
@@ -4316,10 +4330,8 @@ gfp_to_alloc_flags(gfp_t gfp_mask)
 	} else if (unlikely(rt_task(current)) && !in_interrupt())
 		alloc_flags |= ALLOC_HARDER;
 
-#ifdef CONFIG_CMA
-	if (gfp_migratetype(gfp_mask) == MIGRATE_MOVABLE)
-		alloc_flags |= ALLOC_CMA;
-#endif
+	alloc_flags = current_alloc_flags(gfp_mask, alloc_flags);
+
 	return alloc_flags;
 }
 
@@ -4620,7 +4632,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
 
 	reserve_flags = __gfp_pfmemalloc_flags(gfp_mask);
 	if (reserve_flags)
-		alloc_flags = reserve_flags;
+		alloc_flags = current_alloc_flags(gfp_mask, reserve_flags);
 
 	/*
 	 * Reset the nodemask and zonelist iterators if memory policies can be
@@ -4697,7 +4709,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,
 
 	/* Avoid allocations with no watermarks from looping endlessly */
 	if (tsk_is_oom_victim(current) &&
-	    (alloc_flags == ALLOC_OOM ||
+	    (alloc_flags & ALLOC_OOM ||
 	     (gfp_mask & __GFP_NOMEMALLOC)))
 		goto nopage;
 
@@ -4785,8 +4797,7 @@ static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order,
 	if (should_fail_alloc_page(gfp_mask, order))
 		return false;
 
-	if (IS_ENABLED(CONFIG_CMA) && ac->migratetype == MIGRATE_MOVABLE)
-		*alloc_flags |= ALLOC_CMA;
+	*alloc_flags = current_alloc_flags(gfp_mask, *alloc_flags);
 
 	return true;
 }
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
  2020-07-23  1:49 [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs js1304
@ 2020-07-23 13:02 ` Sasha Levin
  2020-07-24  1:08 ` Andrew Morton
  1 sibling, 0 replies; 11+ messages in thread
From: Sasha Levin @ 2020-07-23 13:02 UTC (permalink / raw)
  To: Sasha Levin, Joonsoo Kim, Andrew Morton; +Cc: linux-mm, stable, stable

Hi

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag
fixing commit: d7fefcc8de91 ("mm/cma: add PF flag to force non cma alloc").

The bot has tested the following trees: v5.7.10, v5.4.53.

v5.7.10: Failed to apply! Possible dependencies:
    01c0bfe061f3 ("mm: rename gfpflags_to_migratetype to gfp_migratetype for same convention")
    16867664936e ("mm,page_alloc,cma: conditionally prefer cma pageblocks for movable allocations")
    3334a45eb9e2 ("mm/page_alloc: use ac->high_zoneidx for classzone_idx")
    3f08a302f533 ("mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option")
    854e8848c584 ("mm: clean up free_area_init_node() and its helpers")
    97a225e69a1f ("mm/page_alloc: integrate classzone_idx and high_zoneidx")

v5.4.53: Failed to apply! Possible dependencies:
    01c0bfe061f3 ("mm: rename gfpflags_to_migratetype to gfp_migratetype for same convention")
    16867664936e ("mm,page_alloc,cma: conditionally prefer cma pageblocks for movable allocations")
    3334a45eb9e2 ("mm/page_alloc: use ac->high_zoneidx for classzone_idx")
    34dc0ea6bc96 ("dma-direct: provide mmap and get_sgtable method overrides")
    3f08a302f533 ("mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option")
    854e8848c584 ("mm: clean up free_area_init_node() and its helpers")
    97a225e69a1f ("mm/page_alloc: integrate classzone_idx and high_zoneidx")


NOTE: The patch will not be queued to stable trees until it is upstream.

How should we proceed with this patch?

-- 
Thanks
Sasha

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
  2020-07-23  1:49 [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs js1304
  2020-07-23 13:02 ` Sasha Levin
@ 2020-07-24  1:08 ` Andrew Morton
  2020-07-24  2:23     ` Joonsoo Kim
  1 sibling, 1 reply; 11+ messages in thread
From: Andrew Morton @ 2020-07-24  1:08 UTC (permalink / raw)
  To: js1304
  Cc: linux-mm, linux-kernel, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

On Thu, 23 Jul 2020 10:49:02 +0900 js1304@gmail.com wrote:

> From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> 
> Currently, memalloc_nocma_{save/restore} API that prevents CMA area
> in page allocation is implemented by using current_gfp_context(). However,
> there are two problems of this implementation.
> 
> First, this doesn't work for allocation fastpath. In the fastpath,
> original gfp_mask is used since current_gfp_context() is introduced in
> order to control reclaim and it is on slowpath. So, CMA area can be
> allocated through the allocation fastpath even if
> memalloc_nocma_{save/restore} APIs are used.

Whoops.

> Currently, there is just
> one user for these APIs and it has a fallback method to prevent actual
> problem.

Shouldn't the patch remove the fallback method?

> Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> to exclude the memory on the ZONE_MOVABLE for allocation target.

More whoops.

Could we please have a description of the end-user-visible effects of
this change?  Very much needed when proposing a -stable backport, I think.

d7fefcc8de9147c is over a year old.  Why did we only just discover
this?  This makes one wonder how serious those end-user-visible effects
are?

> To fix these problems, this patch changes the implementation to exclude
> CMA area in page allocation. Main point of this change is using the
> alloc_flags. alloc_flags is mainly used to control allocation so it fits
> for excluding CMA area in allocation.
> 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
  2020-07-24  1:08 ` Andrew Morton
@ 2020-07-24  2:23     ` Joonsoo Kim
  0 siblings, 0 replies; 11+ messages in thread
From: Joonsoo Kim @ 2020-07-24  2:23 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Memory Management List, LKML, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

2020년 7월 24일 (금) 오전 10:08, Andrew Morton <akpm@linux-foundation.org>님이 작성:
>
> On Thu, 23 Jul 2020 10:49:02 +0900 js1304@gmail.com wrote:
>
> > From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> >
> > Currently, memalloc_nocma_{save/restore} API that prevents CMA area
> > in page allocation is implemented by using current_gfp_context(). However,
> > there are two problems of this implementation.
> >
> > First, this doesn't work for allocation fastpath. In the fastpath,
> > original gfp_mask is used since current_gfp_context() is introduced in
> > order to control reclaim and it is on slowpath. So, CMA area can be
> > allocated through the allocation fastpath even if
> > memalloc_nocma_{save/restore} APIs are used.
>
> Whoops.
>
> > Currently, there is just
> > one user for these APIs and it has a fallback method to prevent actual
> > problem.
>
> Shouldn't the patch remove the fallback method?

It's not just the fallback but it also has its own functionality. So,
we should not remove it.

> > Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> > to exclude the memory on the ZONE_MOVABLE for allocation target.
>
> More whoops.
>
> Could we please have a description of the end-user-visible effects of
> this change?  Very much needed when proposing a -stable backport, I think.

In fact, there is no noticeable end-user-visible effect since the fallback would
cover the problematic case. It's mentioned in the commit description. Perhap,
performance would be improved due to reduced retry and more available memory
(we can use ZONE_MOVABLE with this patch) but it would be neglectable.

> d7fefcc8de9147c is over a year old.  Why did we only just discover
> this?  This makes one wonder how serious those end-user-visible effects
> are?

As mentioned above, there is no visible problem to the end-user.

Thanks.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
@ 2020-07-24  2:23     ` Joonsoo Kim
  0 siblings, 0 replies; 11+ messages in thread
From: Joonsoo Kim @ 2020-07-24  2:23 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Memory Management List, LKML, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

2020년 7월 24일 (금) 오전 10:08, Andrew Morton <akpm@linux-foundation.org>님이 작성:
>
> On Thu, 23 Jul 2020 10:49:02 +0900 js1304@gmail.com wrote:
>
> > From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> >
> > Currently, memalloc_nocma_{save/restore} API that prevents CMA area
> > in page allocation is implemented by using current_gfp_context(). However,
> > there are two problems of this implementation.
> >
> > First, this doesn't work for allocation fastpath. In the fastpath,
> > original gfp_mask is used since current_gfp_context() is introduced in
> > order to control reclaim and it is on slowpath. So, CMA area can be
> > allocated through the allocation fastpath even if
> > memalloc_nocma_{save/restore} APIs are used.
>
> Whoops.
>
> > Currently, there is just
> > one user for these APIs and it has a fallback method to prevent actual
> > problem.
>
> Shouldn't the patch remove the fallback method?

It's not just the fallback but it also has its own functionality. So,
we should not remove it.

> > Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> > to exclude the memory on the ZONE_MOVABLE for allocation target.
>
> More whoops.
>
> Could we please have a description of the end-user-visible effects of
> this change?  Very much needed when proposing a -stable backport, I think.

In fact, there is no noticeable end-user-visible effect since the fallback would
cover the problematic case. It's mentioned in the commit description. Perhap,
performance would be improved due to reduced retry and more available memory
(we can use ZONE_MOVABLE with this patch) but it would be neglectable.

> d7fefcc8de9147c is over a year old.  Why did we only just discover
> this?  This makes one wonder how serious those end-user-visible effects
> are?

As mentioned above, there is no visible problem to the end-user.

Thanks.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
  2020-07-24  2:23     ` Joonsoo Kim
  (?)
@ 2020-07-24  2:36     ` Andrew Morton
  2020-07-24  3:04         ` Joonsoo Kim
  -1 siblings, 1 reply; 11+ messages in thread
From: Andrew Morton @ 2020-07-24  2:36 UTC (permalink / raw)
  To: Joonsoo Kim
  Cc: Linux Memory Management List, LKML, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

On Fri, 24 Jul 2020 11:23:52 +0900 Joonsoo Kim <js1304@gmail.com> wrote:

> > > Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> > > to exclude the memory on the ZONE_MOVABLE for allocation target.
> >
> > More whoops.
> >
> > Could we please have a description of the end-user-visible effects of
> > this change?  Very much needed when proposing a -stable backport, I think.
> 
> In fact, there is no noticeable end-user-visible effect since the fallback would
> cover the problematic case. It's mentioned in the commit description. Perhap,
> performance would be improved due to reduced retry and more available memory
> (we can use ZONE_MOVABLE with this patch) but it would be neglectable.
> 
> > d7fefcc8de9147c is over a year old.  Why did we only just discover
> > this?  This makes one wonder how serious those end-user-visible effects
> > are?
> 
> As mentioned above, there is no visible problem to the end-user.

OK, thanks.  In that case, I don't believe that a stable backport is
appropriate?

(Documentation/process/stable-kernel-rules.rst)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
  2020-07-24  2:36     ` Andrew Morton
@ 2020-07-24  3:04         ` Joonsoo Kim
  0 siblings, 0 replies; 11+ messages in thread
From: Joonsoo Kim @ 2020-07-24  3:04 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Memory Management List, LKML, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

2020년 7월 24일 (금) 오전 11:36, Andrew Morton <akpm@linux-foundation.org>님이 작성:
>
> On Fri, 24 Jul 2020 11:23:52 +0900 Joonsoo Kim <js1304@gmail.com> wrote:
>
> > > > Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> > > > to exclude the memory on the ZONE_MOVABLE for allocation target.
> > >
> > > More whoops.
> > >
> > > Could we please have a description of the end-user-visible effects of
> > > this change?  Very much needed when proposing a -stable backport, I think.
> >
> > In fact, there is no noticeable end-user-visible effect since the fallback would
> > cover the problematic case. It's mentioned in the commit description. Perhap,
> > performance would be improved due to reduced retry and more available memory
> > (we can use ZONE_MOVABLE with this patch) but it would be neglectable.
> >
> > > d7fefcc8de9147c is over a year old.  Why did we only just discover
> > > this?  This makes one wonder how serious those end-user-visible effects
> > > are?
> >
> > As mentioned above, there is no visible problem to the end-user.
>
> OK, thanks.  In that case, I don't believe that a stable backport is
> appropriate?
>
> (Documentation/process/stable-kernel-rules.rst)

Thanks for the pointer!

Hmm... I'm not sure the correct way to handle this patch. I thought that
memalloc_nocma_{save,restore} is an API that is callable from the module.
If it is true, it's better to regard this patch as the stable candidate since
out-of-tree modules could use it without the fallback and it would cause
a problem. But, yes, there is no visible problem to the end-user, at least,
within the mainline so it is possibly not a stable candidate.

Please share your opinion about this situation.

Thanks.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
@ 2020-07-24  3:04         ` Joonsoo Kim
  0 siblings, 0 replies; 11+ messages in thread
From: Joonsoo Kim @ 2020-07-24  3:04 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Memory Management List, LKML, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

2020년 7월 24일 (금) 오전 11:36, Andrew Morton <akpm@linux-foundation.org>님이 작성:
>
> On Fri, 24 Jul 2020 11:23:52 +0900 Joonsoo Kim <js1304@gmail.com> wrote:
>
> > > > Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> > > > to exclude the memory on the ZONE_MOVABLE for allocation target.
> > >
> > > More whoops.
> > >
> > > Could we please have a description of the end-user-visible effects of
> > > this change?  Very much needed when proposing a -stable backport, I think.
> >
> > In fact, there is no noticeable end-user-visible effect since the fallback would
> > cover the problematic case. It's mentioned in the commit description. Perhap,
> > performance would be improved due to reduced retry and more available memory
> > (we can use ZONE_MOVABLE with this patch) but it would be neglectable.
> >
> > > d7fefcc8de9147c is over a year old.  Why did we only just discover
> > > this?  This makes one wonder how serious those end-user-visible effects
> > > are?
> >
> > As mentioned above, there is no visible problem to the end-user.
>
> OK, thanks.  In that case, I don't believe that a stable backport is
> appropriate?
>
> (Documentation/process/stable-kernel-rules.rst)

Thanks for the pointer!

Hmm... I'm not sure the correct way to handle this patch. I thought that
memalloc_nocma_{save,restore} is an API that is callable from the module.
If it is true, it's better to regard this patch as the stable candidate since
out-of-tree modules could use it without the fallback and it would cause
a problem. But, yes, there is no visible problem to the end-user, at least,
within the mainline so it is possibly not a stable candidate.

Please share your opinion about this situation.

Thanks.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
  2020-07-24  3:04         ` Joonsoo Kim
  (?)
@ 2020-07-24  3:14         ` Andrew Morton
  2020-07-24  3:32             ` Joonsoo Kim
  -1 siblings, 1 reply; 11+ messages in thread
From: Andrew Morton @ 2020-07-24  3:14 UTC (permalink / raw)
  To: Joonsoo Kim
  Cc: Linux Memory Management List, LKML, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

On Fri, 24 Jul 2020 12:04:02 +0900 Joonsoo Kim <js1304@gmail.com> wrote:

> 2020년 7월 24일 (금) 오전 11:36, Andrew Morton <akpm@linux-foundation.org>님이 작성:
> >
> > On Fri, 24 Jul 2020 11:23:52 +0900 Joonsoo Kim <js1304@gmail.com> wrote:
> >
> > > > > Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> > > > > to exclude the memory on the ZONE_MOVABLE for allocation target.
> > > >
> > > > More whoops.
> > > >
> > > > Could we please have a description of the end-user-visible effects of
> > > > this change?  Very much needed when proposing a -stable backport, I think.
> > >
> > > In fact, there is no noticeable end-user-visible effect since the fallback would
> > > cover the problematic case. It's mentioned in the commit description. Perhap,
> > > performance would be improved due to reduced retry and more available memory
> > > (we can use ZONE_MOVABLE with this patch) but it would be neglectable.
> > >
> > > > d7fefcc8de9147c is over a year old.  Why did we only just discover
> > > > this?  This makes one wonder how serious those end-user-visible effects
> > > > are?
> > >
> > > As mentioned above, there is no visible problem to the end-user.
> >
> > OK, thanks.  In that case, I don't believe that a stable backport is
> > appropriate?
> >
> > (Documentation/process/stable-kernel-rules.rst)
> 
> Thanks for the pointer!
> 
> Hmm... I'm not sure the correct way to handle this patch. I thought that
> memalloc_nocma_{save,restore} is an API that is callable from the module.
> If it is true, it's better to regard this patch as the stable candidate since
> out-of-tree modules could use it without the fallback and it would cause
> a problem. But, yes, there is no visible problem to the end-user, at least,
> within the mainline so it is possibly not a stable candidate.
> 
> Please share your opinion about this situation.

We tend not to care much about out-of-tree modules.  I don't think a
theoretical concern for out-of-tree code justifies risking the
stability of -stable kernels.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
  2020-07-24  3:14         ` Andrew Morton
@ 2020-07-24  3:32             ` Joonsoo Kim
  0 siblings, 0 replies; 11+ messages in thread
From: Joonsoo Kim @ 2020-07-24  3:32 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Memory Management List, LKML, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

2020년 7월 24일 (금) 오후 12:14, Andrew Morton <akpm@linux-foundation.org>님이 작성:
>
> On Fri, 24 Jul 2020 12:04:02 +0900 Joonsoo Kim <js1304@gmail.com> wrote:
>
> > 2020년 7월 24일 (금) 오전 11:36, Andrew Morton <akpm@linux-foundation.org>님이 작성:
> > >
> > > On Fri, 24 Jul 2020 11:23:52 +0900 Joonsoo Kim <js1304@gmail.com> wrote:
> > >
> > > > > > Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> > > > > > to exclude the memory on the ZONE_MOVABLE for allocation target.
> > > > >
> > > > > More whoops.
> > > > >
> > > > > Could we please have a description of the end-user-visible effects of
> > > > > this change?  Very much needed when proposing a -stable backport, I think.
> > > >
> > > > In fact, there is no noticeable end-user-visible effect since the fallback would
> > > > cover the problematic case. It's mentioned in the commit description. Perhap,
> > > > performance would be improved due to reduced retry and more available memory
> > > > (we can use ZONE_MOVABLE with this patch) but it would be neglectable.
> > > >
> > > > > d7fefcc8de9147c is over a year old.  Why did we only just discover
> > > > > this?  This makes one wonder how serious those end-user-visible effects
> > > > > are?
> > > >
> > > > As mentioned above, there is no visible problem to the end-user.
> > >
> > > OK, thanks.  In that case, I don't believe that a stable backport is
> > > appropriate?
> > >
> > > (Documentation/process/stable-kernel-rules.rst)
> >
> > Thanks for the pointer!
> >
> > Hmm... I'm not sure the correct way to handle this patch. I thought that
> > memalloc_nocma_{save,restore} is an API that is callable from the module.
> > If it is true, it's better to regard this patch as the stable candidate since
> > out-of-tree modules could use it without the fallback and it would cause
> > a problem. But, yes, there is no visible problem to the end-user, at least,
> > within the mainline so it is possibly not a stable candidate.
> >
> > Please share your opinion about this situation.
>
> We tend not to care much about out-of-tree modules.  I don't think a
> theoretical concern for out-of-tree code justifies risking the
> stability of -stable kernels.

Okay. It's appreciated if you remove the stable tag. Or, I will send it again
without the stable tag.

Thanks.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs
@ 2020-07-24  3:32             ` Joonsoo Kim
  0 siblings, 0 replies; 11+ messages in thread
From: Joonsoo Kim @ 2020-07-24  3:32 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Memory Management List, LKML, kernel-team, Vlastimil Babka,
	Christoph Hellwig, Roman Gushchin, Mike Kravetz, Naoya Horiguchi,
	Michal Hocko, Aneesh Kumar K . V, Joonsoo Kim, stable

2020년 7월 24일 (금) 오후 12:14, Andrew Morton <akpm@linux-foundation.org>님이 작성:
>
> On Fri, 24 Jul 2020 12:04:02 +0900 Joonsoo Kim <js1304@gmail.com> wrote:
>
> > 2020년 7월 24일 (금) 오전 11:36, Andrew Morton <akpm@linux-foundation.org>님이 작성:
> > >
> > > On Fri, 24 Jul 2020 11:23:52 +0900 Joonsoo Kim <js1304@gmail.com> wrote:
> > >
> > > > > > Second, clearing __GFP_MOVABLE in current_gfp_context() has a side effect
> > > > > > to exclude the memory on the ZONE_MOVABLE for allocation target.
> > > > >
> > > > > More whoops.
> > > > >
> > > > > Could we please have a description of the end-user-visible effects of
> > > > > this change?  Very much needed when proposing a -stable backport, I think.
> > > >
> > > > In fact, there is no noticeable end-user-visible effect since the fallback would
> > > > cover the problematic case. It's mentioned in the commit description. Perhap,
> > > > performance would be improved due to reduced retry and more available memory
> > > > (we can use ZONE_MOVABLE with this patch) but it would be neglectable.
> > > >
> > > > > d7fefcc8de9147c is over a year old.  Why did we only just discover
> > > > > this?  This makes one wonder how serious those end-user-visible effects
> > > > > are?
> > > >
> > > > As mentioned above, there is no visible problem to the end-user.
> > >
> > > OK, thanks.  In that case, I don't believe that a stable backport is
> > > appropriate?
> > >
> > > (Documentation/process/stable-kernel-rules.rst)
> >
> > Thanks for the pointer!
> >
> > Hmm... I'm not sure the correct way to handle this patch. I thought that
> > memalloc_nocma_{save,restore} is an API that is callable from the module.
> > If it is true, it's better to regard this patch as the stable candidate since
> > out-of-tree modules could use it without the fallback and it would cause
> > a problem. But, yes, there is no visible problem to the end-user, at least,
> > within the mainline so it is possibly not a stable candidate.
> >
> > Please share your opinion about this situation.
>
> We tend not to care much about out-of-tree modules.  I don't think a
> theoretical concern for out-of-tree code justifies risking the
> stability of -stable kernels.

Okay. It's appreciated if you remove the stable tag. Or, I will send it again
without the stable tag.

Thanks.


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-07-24  3:32 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-23  1:49 [PATCH v2] mm/page_alloc: fix memalloc_nocma_{save/restore} APIs js1304
2020-07-23 13:02 ` Sasha Levin
2020-07-24  1:08 ` Andrew Morton
2020-07-24  2:23   ` Joonsoo Kim
2020-07-24  2:23     ` Joonsoo Kim
2020-07-24  2:36     ` Andrew Morton
2020-07-24  3:04       ` Joonsoo Kim
2020-07-24  3:04         ` Joonsoo Kim
2020-07-24  3:14         ` Andrew Morton
2020-07-24  3:32           ` Joonsoo Kim
2020-07-24  3:32             ` Joonsoo Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.