linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/23] mm: Use memblock interface instead of bootmem
@ 2013-12-03  2:27 Santosh Shilimkar
  2013-12-03  2:27 ` [PATCH v2 01/23] mm/memblock: debug: correct displaying of upper memory boundary Santosh Shilimkar
                   ` (23 more replies)
  0 siblings, 24 replies; 48+ messages in thread
From: Santosh Shilimkar @ 2013-12-03  2:27 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-arm-kernel, linux-mm, Santosh Shilimkar, Yinghai Lu,
	Tejun Heo, H. Peter Anvin, Andrew Morton, Russell King

Andrew, Tejun and Yinghai,

Here is the re-send of the series as suggested by Andrew[1]. This series is
the last bottleneck now for me to enable the coherency on keystone ARM
LPAE architecture on which the physical memory starts after 4BG. I would
like to get these patches in next merge window(3.14), so it wil be great
to add these for for-next testing if you are happy with the patchset.
For convenience, the re-based series on top of 3.13-rc1 is available on
my git tree [2]. From last post, the series contains one less patch
because "patch 4, mm/block: remove unnecessary inclusion of bootmem.h"
already merged into 3.13-rc1.

To recap on the original issue, current memblock APIs don't work on
32 PAE or LPAE extension arches where the physical memory start
address beyond 4GB. The problem was discussed here [3] where
Tejun, Yinghai(thanks) proposed a way forward with memblock interfaces.
Based on the proposal, this series adds necessary memblock interfaces
and convert the core kernel code to use them. Architectures already
converted to NO_BOOTMEM use these new interfaces and other which still
uses bootmem, these new interfaces just fallback to exiting bootmem APIs.

So no functional change in behavior. In long run, once all the architectures
moves to NO_BOOTMEM, we can get rid of bootmem layer completely. This is
one step to remove the core code dependency with bootmem and also
gives path for architectures to move away from bootmem.

Testing is done on ARM architecture with 32 bit ARM LAPE machines
with normal as well sparse(faked) memory model.

Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Russell King <linux@arm.linux.org.uk>

Grygorii Strashko (9):
  mm/memblock: debug: correct displaying of upper memory boundary
  mm/memblock: debug: don't free reserved array if
    !ARCH_DISCARD_MEMBLOCK
  mm/bootmem: remove duplicated declaration of __free_pages_bootmem()
  mm/memory_hotplug: remove unnecessary inclusion of bootmem.h
  mm/staging: remove unnecessary inclusion of bootmem.h
  mm/char: remove unnecessary inclusion of bootmem.h
  mm/memblock: drop WARN and use SMP_CACHE_BYTES as a default alignment
  mm/hugetlb: Use memblock apis for early memory allocations
  mm/page_cgroup: Use memblock apis for early memory allocations

Santosh Shilimkar (14):
  mm/memblock: Add memblock memory allocation apis
  mm/init: Use memblock apis for early memory allocations
  mm/printk: Use memblock apis for early memory allocations
  mm/page_alloc: Use memblock apis for early memory allocations
  mm/power: Use memblock apis for early memory allocations
  mm/lib/swiotlb: Use memblock apis for early memory allocations
  mm/lib/cpumask: Use memblock apis for early memory allocations
  mm/sparse: Use memblock apis for early memory allocations
  mm/percpu: Use memblock apis for early memory allocations
  mm/memory_hotplug: Use memblock apis for early memory allocations
  mm/firmware: Use memblock apis for early memory allocations
  mm/ARM: kernel: Use memblock apis for early memory allocations
  mm/ARM: mm: Use memblock apis for early memory allocations
  mm/ARM: OMAP: Use memblock apis for early memory allocations

 arch/arm/kernel/devtree.c        |    2 +-
 arch/arm/kernel/setup.c          |    2 +-
 arch/arm/mach-omap2/omap_hwmod.c |    8 +-
 arch/arm/mm/init.c               |    2 +-
 drivers/char/mem.c               |    1 -
 drivers/firmware/memmap.c        |    2 +-
 drivers/staging/speakup/main.c   |    2 -
 include/linux/bootmem.h          |   89 +++++++++++++++-
 init/main.c                      |    6 +-
 kernel/power/snapshot.c          |    2 +-
 kernel/printk/printk.c           |   10 +-
 lib/cpumask.c                    |    4 +-
 lib/swiotlb.c                    |   36 ++++---
 mm/hugetlb.c                     |   10 +-
 mm/memblock.c                    |  216 +++++++++++++++++++++++++++++++++++++-
 mm/memory_hotplug.c              |    3 +-
 mm/page_alloc.c                  |   27 ++---
 mm/page_cgroup.c                 |    5 +-
 mm/percpu.c                      |   41 +++++---
 mm/sparse-vmemmap.c              |    6 +-
 mm/sparse.c                      |   27 ++---
 21 files changed, 404 insertions(+), 97 deletions(-)

Regards,
Santosh
[1] https://lkml.org/lkml/2013/12/2/908
[2] git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git
for_3.14/memblock
[3] https://lkml.org/lkml/2013/6/29/77

-- 
1.7.9.5

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

end of thread, other threads:[~2014-01-11  0:59 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-03  2:27 [PATCH v2 00/23] mm: Use memblock interface instead of bootmem Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 01/23] mm/memblock: debug: correct displaying of upper memory boundary Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 02/23] mm/memblock: debug: don't free reserved array if !ARCH_DISCARD_MEMBLOCK Santosh Shilimkar
2013-12-03 22:52   ` Tejun Heo
2013-12-04 14:58     ` Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 03/23] mm/bootmem: remove duplicated declaration of __free_pages_bootmem() Santosh Shilimkar
2013-12-03 22:53   ` Tejun Heo
2013-12-03  2:27 ` [PATCH v2 04/23] mm/memory_hotplug: remove unnecessary inclusion of bootmem.h Santosh Shilimkar
2013-12-03 22:54   ` Tejun Heo
2013-12-03  2:27 ` [PATCH v2 05/23] mm/staging: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 06/23] mm/char: " Santosh Shilimkar
2013-12-03 22:55   ` Tejun Heo
2013-12-04 14:57     ` Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 07/23] mm/memblock: drop WARN and use SMP_CACHE_BYTES as a default alignment Santosh Shilimkar
2013-12-03 22:58   ` Tejun Heo
2013-12-03  2:27 ` [PATCH v2 08/23] mm/memblock: Add memblock memory allocation apis Santosh Shilimkar
2013-12-03 23:24   ` Tejun Heo
2013-12-04 15:54     ` Santosh Shilimkar
2013-12-04 16:07       ` Tejun Heo
2013-12-04 16:46         ` Santosh Shilimkar
2013-12-05 13:12           ` Grygorii Strashko
2013-12-05 16:59             ` Tejun Heo
2013-12-05 17:13               ` Santosh Shilimkar
2014-01-11  0:53                 ` Andrew Morton
2014-01-11  0:59                   ` Santosh Shilimkar
2013-12-05 16:35     ` Grygorii Strashko
2013-12-05 16:53       ` Tejun Heo
2013-12-05 18:48         ` Strashko, Grygorii
2013-12-05 18:51           ` Tejun Heo
2013-12-05 20:34           ` Santosh Shilimkar
2013-12-06 14:52             ` Grygorii Strashko
2013-12-03  2:27 ` [PATCH v2 09/23] mm/init: Use memblock apis for early memory allocations Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 10/23] mm/printk: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 11/23] mm/page_alloc: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 12/23] mm/power: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 13/23] mm/lib/swiotlb: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 14/23] mm/lib/cpumask: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 15/23] mm/sparse: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 16/23] mm/hugetlb: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 17/23] mm/page_cgroup: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 18/23] mm/percpu: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 19/23] mm/memory_hotplug: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 20/23] mm/firmware: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 21/23] mm/ARM: kernel: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 22/23] mm/ARM: mm: " Santosh Shilimkar
2013-12-03  2:27 ` [PATCH v2 23/23] mm/ARM: OMAP: " Santosh Shilimkar
2013-12-03 22:48 ` [PATCH v2 00/23] mm: Use memblock interface instead of bootmem Tejun Heo
2013-12-04 14:56   ` Santosh Shilimkar

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