All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -v7 0/35] tip related: not use  bootmem for x86
@ 2010-02-10  9:20 Yinghai Lu
  2010-02-10  9:20 ` [PATCH 01/35] x86: fix sci on ioapic 1 Yinghai Lu
                   ` (36 more replies)
  0 siblings, 37 replies; 83+ messages in thread
From: Yinghai Lu @ 2010-02-10  9:20 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H. Peter Anvin, Andrew Morton,
	Linus Torvalds
  Cc: Jesse Barnes, Christoph Lameter, linux-kernel, linux-pci, Yinghai Lu

-------for 2.6.33? ---------------
7aabd8a: x86: fix sci on ioapic 1
24b26ba: x86: keep chip_data in create_irq_nr and destroy_irq

---------spareirq radix tree related ----------------
52060b4: irq: remove not need bootmem code
24a2254: radix: move radix init early
1b88442: sparseirq: change irq_desc_ptrs to static
592e479: sparseirq: use radix_tree instead of ptrs array
7b1947e: x86: remove arch_probe_nr_irqs

---------------x86 logical flat related -----------
afded12: use nr_cpus= to set nr_cpu_ids early
c0cae89: x86: use num_processors for possible cpus
ee9c461: x86: make 32bit apic flat to physflat switch like 64bit

-----------------early_res to replace bootmem---
it will use early_res instead of bootmem with x86 code.
but still can use CONFIG_NO_BOOMEM to use bootmem or not
so could make transistion more smoothly

-v2: allocate vmemmap on one node together, and also seperate early_res
-v3: make x86 32 bit support early_res to use bootmem too
     move related early_res to kernel/
     sparse vmemmap together: address Ingo.
-v4: some patches could go with tip with acked-by Jesse
     radix and logical flat etc
-v5: put back to 2 patches into this patch to make it consistent
     as linus pointed out that some place should replace size_t
     with resource_size_t, and acctually that is done already in
     those patches in pci/linux-next.
-v6: updated about intel_bus.c removal
-v7: address Andrew comments
     update change after logical flat change from Suresh.

------------------------
http://lkml.indiana.edu/hypermail/linux/kernel/0910.3/01432.html
Ingo said:
" I think we could remove the bootmem allocator middle man altogether.

This can be done by initializing the page allocator sooner and by
extending (already existing) 'reserve memory early on' mechanisms in
architecture code. (the reserve_early*() APIs in x86 for example)

Right now we have 5 memory allocation models on x86, initialized
gradually:

- allocator (buddy) [generic]
- early allocator (bootmem) [generic]
- very early allocator (reserve_early*()) [x86]
- very very early allocator (early brk model) [x86]
- very very very early allocator (build time .data/.bss) [generic]

Seems excessive.

The reserve_early() method is list/range based and can handle vast
amounts of not very fragmented memory - perfect for basically all the
real bootmem purposes (which is to bootstrap the buddy).

reserve_early() allocated memory could be freed into the buddy later on
as well. The main reason why bootmem is 'destroyed' during free-to-buddy
is because it has excessive internal bitmaps we want to free. With a
list/range based reserve_early() mechanism there's no such problem -
they can linger indefinitely and there's near zero allocation management
overhead. "


d182b42: x86: move range related operation to one file
483ba54: x86/pci: use resource_size_t in update_res
390a654: x86/pci: amd one chain system to use pci read out res
d7092a9: x86/pci: use u64 instead of size_t in amd_bus.c
12d6055: x86/pci: add cap_resource
91963da: x86/pci: enable pci root res read out for 32bit too
f3399ba: x86: change range end to start+size
6a81be4: x86: print out for RAM buffer
878a861: x86: call early_res_to_bootmem one time
0c42e60: x86: introduce max_early_res and early_res_count
562294f: x86: dynamic increase early_res array size
7909d81: x86: make early_node_mem get mem > 4g if possible
3b64a9e: x86: only call dma32_reserve_bootmem 64bit !CONFIG_NUMA
28fd5da: x86: make 64 bit use early_res instead of bootmem before slab
8f08dc5: sparsemem: put usemap for one node together
fde44d7: sparsemem: put mem map for one node together.
096f978: x86: move bios page reserve early to head32/64.c
cfd3bbb: x86: seperate early_res related code from e820.c
ccc26e4: x86: add find_early_area_size
3a49dd4: x86: move back find_e820_area to e820.c
a3065c2: early_res: enhance check_and_double_early_res
8f8c07c: x86: make 32bit support NO_BOOTMEM
f8dc288: move round_up/down to kernel.h
de709d3: x86: add find_fw_memmap_area
41263b6: core: move early_res

Thanks

Yinghai

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

end of thread, other threads:[~2010-03-02  2:50 UTC | newest]

Thread overview: 83+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-10  9:20 [PATCH -v7 0/35] tip related: not use bootmem for x86 Yinghai Lu
2010-02-10  9:20 ` [PATCH 01/35] x86: fix sci on ioapic 1 Yinghai Lu
2010-02-10 22:48   ` [tip:x86/urgent] x86: Fix SCI on IOAPIC != 0 tip-bot for Yinghai Lu
2010-02-10  9:20 ` [PATCH 02/35] x86: keep chip_data in create_irq_nr and destroy_irq Yinghai Lu
2010-02-10 22:39   ` [tip:x86/irq] x86: Avoid race condition in pci_enable_msix() tip-bot for Brandon Phiilps
2010-02-10  9:20 ` [PATCH 03/35] x86: move range related operation to one file Yinghai Lu
2010-02-10  9:20 ` [PATCH 04/35] x86/pci: use resource_size_t in update_res Yinghai Lu
2010-02-10  9:20 ` [PATCH 05/35] x86/pci: amd one chain system to use pci read out res Yinghai Lu
2010-02-10  9:20 ` [PATCH 06/35] x86/pci: use u64 instead of size_t in amd_bus.c Yinghai Lu
2010-02-10  9:20 ` [PATCH 07/35] x86/pci: add cap_resource Yinghai Lu
2010-02-10  9:20 ` [PATCH 08/35] x86/pci: enable pci root res read out for 32bit too Yinghai Lu
2010-02-10  9:20 ` [PATCH 09/35] x86: change range end to start+size Yinghai Lu
2010-02-10  9:20 ` [PATCH 10/35] x86: print out for RAM buffer Yinghai Lu
2010-02-10  9:20 ` [PATCH 11/35] x86: call early_res_to_bootmem one time Yinghai Lu
2010-02-10  9:20 ` [PATCH 12/35] x86: introduce max_early_res and early_res_count Yinghai Lu
2010-02-10  9:20 ` [PATCH 13/35] x86: dynamic increase early_res array size Yinghai Lu
2010-02-10  9:20 ` [PATCH 14/35] x86: make early_node_mem get mem > 4g if possible Yinghai Lu
2010-02-10  9:20 ` [PATCH 15/35] x86: only call dma32_reserve_bootmem 64bit !CONFIG_NUMA Yinghai Lu
2010-02-10  9:20 ` [PATCH 16/35] x86: make 64 bit use early_res instead of bootmem before slab Yinghai Lu
2010-02-14 14:08   ` Stephen Rothwell
2010-02-14 20:31     ` Yinghai Lu
2010-02-17  1:16     ` Yinghai Lu
2010-02-24 22:59       ` Peter Zijlstra
2010-02-24 23:29         ` Yinghai Lu
2010-02-24 23:32           ` Yinghai Lu
2010-02-25  2:07             ` Tejun Heo
2010-02-25  2:13               ` Yinghai Lu
2010-02-25  2:33                 ` Tejun Heo
2010-02-25  2:36               ` [PATCH] early_res: add free_early_partial Yinghai Lu
2010-02-25 11:10                 ` Peter Zijlstra
2010-03-02  2:48                 ` [PATCH] early_res: need to save name aside with free_early_partial Yinghai Lu
2010-02-10  9:20 ` [PATCH 17/35] sparsemem: put usemap for one node together Yinghai Lu
2010-02-10  9:20 ` [PATCH 18/35] sparsemem: put mem map " Yinghai Lu
2010-02-10  9:20 ` [PATCH 19/35] x86: move bios page reserve early to head32/64.c Yinghai Lu
2010-02-10  9:20 ` [PATCH 20/35] x86: seperate early_res related code from e820.c Yinghai Lu
2010-02-10  9:20 ` [PATCH 21/35] x86: add find_early_area_size Yinghai Lu
2010-02-10  9:20 ` [PATCH 22/35] x86: move back find_e820_area to e820.c Yinghai Lu
2010-02-10  9:20 ` [PATCH 23/35] early_res: enhance check_and_double_early_res Yinghai Lu
2010-02-10  9:20 ` [PATCH 24/35] x86: make 32bit support NO_BOOTMEM Yinghai Lu
2010-02-10  9:20 ` [PATCH 25/35] move round_up/down to kernel.h Yinghai Lu
2010-02-13 18:49   ` Joe Perches
2010-02-13 19:52     ` H. Peter Anvin
2010-02-13 20:11       ` Andrew Morton
2010-02-13 21:57         ` H. Peter Anvin
2010-02-10  9:20 ` [PATCH 26/35] x86: add find_fw_memmap_area Yinghai Lu
2010-02-10  9:20 ` [PATCH 27/35] core: move early_res Yinghai Lu
2010-02-14 14:16   ` Stephen Rothwell
2010-02-14 17:08     ` Ingo Molnar
2010-02-14 23:43       ` Stephen Rothwell
2010-02-15  4:44         ` Ingo Molnar
2010-02-14 20:46     ` Yinghai Lu
2010-02-16 23:46       ` H. Peter Anvin
2010-02-16 23:53         ` Yinghai Lu
2010-02-17  0:01           ` H. Peter Anvin
2010-02-17  0:41             ` Yinghai Lu
2010-02-17  0:46               ` H. Peter Anvin
2010-02-17  1:10                 ` Yinghai Lu
2010-02-17  2:40                   ` Yinghai Lu
2010-02-10  9:20 ` [PATCH 28/35] irq: remove not need bootmem code Yinghai Lu
2010-02-18  1:57   ` [tip:x86/irq] irq: Remove unnecessary " tip-bot for Yinghai Lu
2010-02-10  9:20 ` [PATCH 29/35] radix: move radix init early Yinghai Lu
2010-02-18  1:57   ` [tip:x86/irq] init: Move radix_tree_init() early tip-bot for Yinghai Lu
2010-02-10  9:20 ` [PATCH 30/35] sparseirq: change irq_desc_ptrs to static Yinghai Lu
2010-02-18  1:58   ` [tip:x86/irq] sparseirq: Change " tip-bot for Yinghai Lu
2010-02-10  9:20 ` [PATCH 31/35] sparseirq: use radix_tree instead of ptrs array Yinghai Lu
2010-02-18  1:58   ` [tip:x86/irq] sparseirq: Use " tip-bot for Yinghai Lu
2010-02-10  9:20 ` [PATCH 32/35] x86: remove arch_probe_nr_irqs Yinghai Lu
2010-02-18  1:58   ` [tip:x86/irq] x86, irq: Remove arch_probe_nr_irqs tip-bot for Yinghai Lu
2010-02-10  9:20 ` [PATCH 33/35] use nr_cpus= to set nr_cpu_ids early Yinghai Lu
2010-02-18  1:59   ` [tip:x86/irq] smp: Use " tip-bot for Yinghai Lu
2010-02-10  9:20 ` [PATCH 34/35] x86: use num_processors for possible cpus Yinghai Lu
2010-02-18  1:32   ` H. Peter Anvin
2010-02-18  2:38     ` Yinghai Lu
2010-02-18 17:26       ` H. Peter Anvin
2010-02-18 19:48         ` Christoph Lameter
2010-02-18 19:53           ` H. Peter Anvin
2010-02-19 15:14             ` Christoph Lameter
2010-02-19 16:14               ` H. Peter Anvin
2010-02-10  9:20 ` [PATCH 35/35] x86: make 32bit apic flat to physflat switch like 64bit Yinghai Lu
2010-02-11 16:14 ` [PATCH -v7 0/35] tip related: not use bootmem for x86 Ingo Molnar
2010-02-11 21:10   ` Yinghai Lu
2010-02-15  2:27 ` Benjamin Herrenschmidt
2010-02-15  4:50   ` Yinghai Lu

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.