linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] make start_isolate_page_range() thread safe
@ 2018-02-26 19:10 Mike Kravetz
  2018-02-26 19:10 ` [PATCH 1/1] mm: make start_isolate_page_range() fail if already isolated Mike Kravetz
  2018-03-09 22:47 ` [PATCH v2] " Mike Kravetz
  0 siblings, 2 replies; 11+ messages in thread
From: Mike Kravetz @ 2018-02-26 19:10 UTC (permalink / raw)
  To: linux-mm, linux-kernel
  Cc: KAMEZAWA Hiroyuki, Luiz Capitulino, Michal Nazarewicz,
	Michal Hocko, Vlastimil Babka, Mel Gorman, Johannes Weiner,
	Andrew Morton, Mike Kravetz

This patch was included in the RFC series "Interface for higher order
contiguous allocations".
http://lkml.kernel.org/r/20180212222056.9735-1-mike.kravetz@oracle.com

Since there have been few comments on the RFC and this patch addresses
a real issue with the current code, I am sending it separately.

To verify this is a real issue, I created a large CMA area at boot time.
I wrote some code to exercise large allocations and frees via cma_alloc()
and cma_release().  At the same time, I had a script just allocate and
free gigantic pages via the sysfs interface.

After a little bit of running, 'free memory' on the system went to
zero.  After 'stopping' the tests, I observed that most zone normal
page blocks were marked as MIGRATE_ISOLATE.  Hence 'not available'.

I suspect there are few (if any) systems employing both CMA and
dynamic gigantic huge page allocation.  However, it is probably a
good idea to fix this issue.  Because this is so unlikely, I am not
sure if this should got to stable releases as well.

Mike Kravetz (1):
  mm: make start_isolate_page_range() fail if already isolated

 mm/page_alloc.c     |  8 ++++----
 mm/page_isolation.c | 10 +++++++++-
 2 files changed, 13 insertions(+), 5 deletions(-)

-- 
2.13.6

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

end of thread, other threads:[~2018-03-13 21:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-26 19:10 [PATCH 0/1] make start_isolate_page_range() thread safe Mike Kravetz
2018-02-26 19:10 ` [PATCH 1/1] mm: make start_isolate_page_range() fail if already isolated Mike Kravetz
2018-03-03  0:06   ` Andrew Morton
2018-03-03  0:38     ` Mike Kravetz
2018-03-03  0:56       ` Andrew Morton
2018-03-03  1:39         ` Mike Kravetz
2018-03-06  0:57           ` Mike Kravetz
2018-03-06 22:32             ` Andrew Morton
2018-03-09 22:47 ` [PATCH v2] " Mike Kravetz
2018-03-13 21:14   ` Andrew Morton
2018-03-13 21:27     ` Mike Kravetz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).