lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1311694534-5161-1-git-send-email-tj@kernel.org>
Date:	Tue, 26 Jul 2011 17:35:11 +0200
From:	Tejun Heo <tj@...nel.org>
To:	benh@...nel.crashing.org, yinghai@...nel.org, hpa@...or.com,
	tony.luck@...el.com, ralf@...ux-mips.org, schwidefsky@...ibm.com,
	liqin.chen@...plusct.com, lethal@...ux-sh.org, davem@...emloft.net,
	linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
Cc:	mingo@...hat.com
Subject: [PATCHSET tip:x86/memblock] memblock: Kill early_node_map[]

Hello,

This patchset builds on the previous "memblock, x86: Allow node info
in memblock and remove x86 specific memblock code" patchset, which now
is in tip:x86/memblock.  This patchset updates memblock so that it's
easier to use, converts all archs which use early_node_map[] to use
memblock instead, and kills early_node_map[].

Bootmem allocator is still looming there but this ensures a unified
way forward where memblock is the universal early memory management
mechanism.  This cleans up the entanglement between memblock and
early_node_map[] in the backend but API visible to archs is still a
bit confusing and can use some cleanup and documentation once things
settle down a bit.

x86, powerpc and sparc are boot tested in several different
configurations.  On x86 allmod/noconfigs are compile tested.  On all
other archs except for score, defconfig + some variations are compile
tested.

This does touch a lot of archs but except for x86 and powerpc the
changes are mostly trivial and as bulk of the changes involve updates
to generic memblock code, it would be great if these can be routed
through single tree (tip:x86/memblock).

David, Ben, Paul, patches 0015-0017 are identical sans some offsets to
the previously posted versions.

 0001-memblock-Make-memblock_overlaps_region-static.patch
 0002-memblock-Make-memblock_-add-remove-free-reserve-retu.patch
 0003-memblock-Use-memblock_reserve-in-memblock-internal-f.patch
 0004-memblock-Add-__memblock_dump_all.patch
 0005-memblock-Kill-sentinel-entries-at-the-end-of-static-.patch
 0006-memblock-Kill-memblock_init.patch
 0007-memblock-Separate-out-memblock_isolate_range-from-me.patch
 0008-memblock-Reimplement-__memblock_remove-using-membloc.patch
 0009-memblock-Make-memblock-functions-handle-overflowing-.patch
 0010-memblock-Reimplement-memblock_enforce_memory_limit-u.patch
 0011-powerpc-Cleanup-memblock-usage.patch
 0012-memblock-Track-total-size-of-regions-automatically.patch
 0013-memblock-s-memblock_analyze-memblock_allow_resize-an.patch
 0014-memblock-Implement-memblock_add_node.patch
 0015-powerpc-Use-HAVE_MEMBLOCK_NODE_MAP.patch
 0016-sparc-Use-HAVE_MEMBLOCK_NODE_MAP.patch
 0017-SuperH-Use-HAVE_MEMBLOCK_NODE_MAP.patch
 0018-ia64-Use-HAVE_MEMBLOCK_NODE_MAP.patch
 0019-mips-Use-HAVE_MEMBLOCK_NODE_MAP.patch
 0020-s390-Use-HAVE_MEMBLOCK_NODE_MAP.patch
 0021-score-Use-HAVE_MEMBLOCK_NODE_MAP.patch
 0022-memblock-Kill-early_node_map.patch
 0023-memblock-Reimplement-memblock-allocation-using-rever.patch

0001-0014 clean up and improve generic memblock code (powerpc update
is to allow updates to generic code) so that it's easier for archs.
e.g. memblock_init/analyze() are no longer necessary.

0015-0017 convert archs which were using memblock + early_node_map[]
to use MEMBLOCK_HAVE_NODE_MAP.

0018-0021 convert archs which were using only early_node_map[] to
MEMBLOCK_HAVE_NODE_MAP.

0022 kills now unused early_node_map[].

0023 reimplements memblock allocator in sane way, which is possible
with early_node_map[] gone.

This patchset is available in the following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git memblock

And diffstat follows.

 arch/arm/mm/init.c                       |    3
 arch/ia64/Kconfig                        |    6
 arch/ia64/mm/contig.c                    |    3
 arch/ia64/mm/init.c                      |    4
 arch/microblaze/kernel/prom.c            |    3
 arch/mips/Kconfig                        |    6
 arch/mips/kernel/setup.c                 |    3
 arch/mips/sgi-ip27/ip27-memory.c         |    5
 arch/powerpc/Kconfig                     |    4
 arch/powerpc/kernel/machine_kexec.c      |    3
 arch/powerpc/kernel/prom.c               |   20 -
 arch/powerpc/mm/init_32.c                |    4
 arch/powerpc/mm/mem.c                    |    2
 arch/powerpc/mm/numa.c                   |   10
 arch/powerpc/mm/tlb_nohash.c             |    1
 arch/powerpc/platforms/embedded6xx/wii.c |   23 -
 arch/powerpc/platforms/ps3/mm.c          |    1
 arch/s390/Kconfig                        |    6
 arch/s390/kernel/setup.c                 |    4
 arch/score/Kconfig                       |   12
 arch/score/kernel/setup.c                |    4
 arch/sh/Kconfig                          |    1
 arch/sh/kernel/machine_kexec.c           |    3
 arch/sh/kernel/setup.c                   |    3
 arch/sh/mm/Kconfig                       |    3
 arch/sh/mm/init.c                        |    3
 arch/sparc/Kconfig                       |    2
 arch/sparc/mm/init_64.c                  |   28 -
 arch/unicore32/mm/init.c                 |    3
 arch/x86/Kconfig                         |    3
 arch/x86/kernel/e820.c                   |    3
 arch/x86/kernel/head32.c                 |    2
 arch/x86/kernel/head64.c                 |    2
 arch/x86/xen/enlighten.c                 |    2
 drivers/pci/intel-iommu.c                |    1
 include/linux/memblock.h                 |  114 +++--
 include/linux/mm.h                       |   50 --
 include/linux/mmzone.h                   |    8
 mm/memblock.c                            |  606 ++++++++++++++-----------------
 mm/page_alloc.c                          |  259 -------------
 40 files changed, 450 insertions(+), 773 deletions(-)

Thanks.

--
tejun

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ