linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] cleanup zonelists initialization
@ 2017-07-14  7:59 Michal Hocko
  2017-07-14  7:59 ` [PATCH 1/9] mm, page_alloc: rip out ZONELIST_ORDER_ZONE Michal Hocko
  0 siblings, 1 reply; 12+ messages in thread
From: Michal Hocko @ 2017-07-14  7:59 UTC (permalink / raw)
  To: linux-mm-Bw31MaZKKs3YtjvyW6yDsg
  Cc: Andrew Morton, Mel Gorman, Johannes Weiner, Vlastimil Babka,
	LKML, joonsoo kim, linux-api-u79uwXL29TY76Z2rM5mHXA,
	Michal Hocko, Shaohua Li, Toshi Kani, Wen Congyang

Hi,
this is aimed at cleaning up the zonelists initialization code we have
but the primary motivation was bug report [1] which got resolved but
the usage of stop_machine is just too ugly to live. Most patches are
straightforward but 3 of them need a special consideration.

Patch 1 removes zone ordered zonelists completely. I am CCing linux-api
because this is a user visible change. As I argue in the patch
description I do not think we have a strong usecase for it these days.
I have kept sysctl in place and warn into the log if somebody tries to
configure zone lists ordering. If somebody has a real usecase for it
we can revert this patch but I do not expect anybody will actually notice
runtime differences. This patch is not strictly needed for the rest but
it made patch 6 easier to implement.

Patch 7 removes stop_machine from build_all_zonelists without adding any
special synchronization between iterators and updater which I _believe_
is acceptable as explained in the changelog. I hope I am not missing
anything.

Patch 8 then removes zonelists_mutex which is kind of ugly as well and
not really needed AFAICS but a care should be taken when double checking
my thinking.

This has passed my light testing but I currently do not have a HW to
test hotadd_new_pgdat path (aka a completely new node added to the
system in runtime).

This is based on the current mmomt git tree (mmotm-2017-07-12-15-11).
Any feedback is highly appreciated.

The diffstat looks really promissing
 include/linux/mmzone.h |   3 +-
 init/main.c            |   2 +-
 kernel/sysctl.c        |   2 -
 mm/internal.h          |   1 +
 mm/memory_hotplug.c    |  27 +----
 mm/page_alloc.c        | 293 ++++++++++++-------------------------------------
 mm/page_ext.c          |   5 +-
 mm/sparse-vmemmap.c    |  11 +-
 mm/sparse.c            |  10 +-
 9 files changed, 89 insertions(+), 265 deletions(-)

Shortlog says
Michal Hocko (9):
      mm, page_alloc: rip out ZONELIST_ORDER_ZONE
      mm, page_alloc: remove boot pageset initialization from memory hotplug
      mm, page_alloc: do not set_cpu_numa_mem on empty nodes initialization
      mm, memory_hotplug: drop zone from build_all_zonelists
      mm, memory_hotplug: remove explicit build_all_zonelists from try_online_node
      mm, page_alloc: simplify zonelist initialization
      mm, page_alloc: remove stop_machine from build_all_zonelists
      mm, memory_hotplug: get rid of zonelists_mutex
      mm, sparse, page_ext: drop ugly N_HIGH_MEMORY branches for allocations

[1] http://lkml.kernel.org/r/alpine.DEB.2.20.1706291803380.1861@nanos

^ permalink raw reply	[flat|nested] 12+ messages in thread
[parent not found: <20170721143915.14161-1-mhocko@kernel.org>]

end of thread, other threads:[~2017-07-21 14:45 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-14  7:59 [PATCH 0/9] cleanup zonelists initialization Michal Hocko
2017-07-14  7:59 ` [PATCH 1/9] mm, page_alloc: rip out ZONELIST_ORDER_ZONE Michal Hocko
     [not found]   ` <20170714080006.7250-2-mhocko-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-07-14  9:36     ` Mel Gorman
2017-07-14 10:47       ` Michal Hocko
     [not found]         ` <20170714104756.GD2618-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2017-07-14 11:16           ` Mel Gorman
2017-07-14 11:38             ` Michal Hocko
2017-07-14 12:56               ` Mel Gorman
     [not found]                 ` <20170714125616.clbp4ezgtoon6cmk-l3A5Bk7waGM@public.gmane.org>
2017-07-14 13:01                   ` Mel Gorman
2017-07-14 13:08                 ` Michal Hocko
2017-07-19  9:33     ` Vlastimil Babka
     [not found]       ` <a4490c3e-9f7b-72b2-dfa3-80c054df6600-AlSwsSmVLrQ@public.gmane.org>
2017-07-19 13:44         ` Michal Hocko
     [not found] <20170721143915.14161-1-mhocko@kernel.org>
     [not found] ` <20170721143915.14161-2-mhocko@kernel.org>
2017-07-21 14:45   ` Michal Hocko

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).