Re: PROBLEM: Linux 3.6.2 fails to boot on IBM Cell

2012-12-24 Thread Dennis Schridde
Am Donnerstag, 15. November 2012, 17:58:35 schrieb Grant Likely: > Anyway, here is a real patch. Thanks a lot, Grant! Your patch improves the situation significantly. However, it is still not entirely fixed: irq: irq-93==>hwirq-0x5d mapping failed: -22 There are a lot less error messages than be

[PATCH v5 12/14] memory-hotplug: memory_hotplug: clear zone when removing the memory

2012-12-24 Thread Tang Chen
From: Yasuaki Ishimatsu When a memory is added, we update zone's and pgdat's start_pfn and spanned_pages in the function __add_zone(). So we should revert them when the memory is removed. The patch adds a new function __remove_zone() to do this. Signed-off-by: Yasuaki Ishimatsu Signed-off-by:

[PATCH v5 13/14] memory-hotplug: remove sysfs file of node

2012-12-24 Thread Tang Chen
This patch introduces a new function try_offline_node() to remove sysfs file of node when all memory sections of this node are removed. If some memory sections of this node are not removed, this function does nothing. Signed-off-by: Wen Congyang Signed-off-by: Tang Chen --- drivers/acpi/acpi_me

[PATCH v5 11/14] memory-hotplug: Integrated __remove_section() of CONFIG_SPARSEMEM_VMEMMAP.

2012-12-24 Thread Tang Chen
Currently __remove_section for SPARSEMEM_VMEMMAP does nothing. But even if we use SPARSEMEM_VMEMMAP, we can unregister the memory_section. Signed-off-by: Yasuaki Ishimatsu Signed-off-by: Wen Congyang Signed-off-by: Tang Chen --- mm/memory_hotplug.c | 11 --- 1 files changed, 0 insert

[PATCH v5 14/14] memory-hotplug: free node_data when a node is offlined

2012-12-24 Thread Tang Chen
From: Wen Congyang We call hotadd_new_pgdat() to allocate memory to store node_data. So we should free it when removing a node. Signed-off-by: Wen Congyang --- mm/memory_hotplug.c | 20 +++- 1 files changed, 19 insertions(+), 1 deletions(-) diff --git a/mm/memory_hotplug.c b

[PATCH v5 08/14] memory-hotplug: Common APIs to support page tables hot-remove

2012-12-24 Thread Tang Chen
From: Wen Congyang When memory is removed, the corresponding pagetables should alse be removed. This patch introduces some common APIs to support vmemmap pagetable and x86_64 architecture pagetable removing. All pages of virtual mapping in removed memory cannot be freedi if some pages used as PG

[PATCH v5 10/14] memory-hotplug: remove memmap of sparse-vmemmap

2012-12-24 Thread Tang Chen
This patch introduces a new API vmemmap_free() to free and remove vmemmap pagetables. Since pagetable implements are different, each architecture has to provide its own version of vmemmap_free(), just like vmemmap_populate(). Note: vmemmap_free() are not implemented for ia64, ppc, s390, and sparc

[PATCH v5 07/14] memory-hotplug: move pgdat_resize_lock into sparse_remove_one_section()

2012-12-24 Thread Tang Chen
In __remove_section(), we locked pgdat_resize_lock when calling sparse_remove_one_section(). This lock will disable irq. But we don't need to lock the whole function. If we do some work to free pagetables in free_section_usemap(), we need to call flush_tlb_all(), which need irq enabled. Otherwise t

[PATCH v5 06/14] memory-hotplug: implement register_page_bootmem_info_section of sparse-vmemmap

2012-12-24 Thread Tang Chen
From: Yasuaki Ishimatsu For removing memmap region of sparse-vmemmap which is allocated bootmem, memmap region of sparse-vmemmap needs to be registered by get_page_bootmem(). So the patch searches pages of virtual mapping and registers the pages by get_page_bootmem(). Note: register_page_bootmem

[PATCH v5 05/14] memory-hotplug: introduce new function arch_remove_memory() for removing page table depends on architecture

2012-12-24 Thread Tang Chen
From: Wen Congyang For removing memory, we need to remove page table. But it depends on architecture. So the patch introduce arch_remove_memory() for removing page table. Now it only calls __remove_pages(). Note: __remove_pages() for some archtecuture is not implemented (I don't know how t

[PATCH v5 09/14] memory-hotplug: remove page table of x86_64 architecture

2012-12-24 Thread Tang Chen
This patch searches a page table about the removed memory, and clear page table for x86_64 architecture. Signed-off-by: Wen Congyang Signed-off-by: Jianguo Wu Signed-off-by: Jiang Liu Signed-off-by: Tang Chen --- arch/x86/mm/init_64.c | 10 ++ 1 files changed, 10 insertions(+), 0 de

[PATCH v5 03/14] memory-hotplug: remove redundant codes

2012-12-24 Thread Tang Chen
From: Wen Congyang offlining memory blocks and checking whether memory blocks are offlined are very similar. This patch introduces a new function to remove redundant codes. Signed-off-by: Wen Congyang --- mm/memory_hotplug.c | 101 --- 1 files c

[PATCH v5 02/14] memory-hotplug: check whether all memory blocks are offlined or not when removing memory

2012-12-24 Thread Tang Chen
From: Yasuaki Ishimatsu We remove the memory like this: 1. lock memory hotplug 2. offline a memory block 3. unlock memory hotplug 4. repeat 1-3 to offline all memory blocks 5. lock memory hotplug 6. remove memory(TODO) 7. unlock memory hotplug All memory blocks must be offlined before removing m

[PATCH v5 01/14] memory-hotplug: try to offline the memory twice to avoid dependence

2012-12-24 Thread Tang Chen
From: Wen Congyang memory can't be offlined when CONFIG_MEMCG is selected. For example: there is a memory device on node 1. The address range is [1G, 1.5G). You will find 4 new directories memory8, memory9, memory10, and memory11 under the directory /sys/devices/system/memory/. If CONFIG_MEMCG i

[PATCH v5 04/14] memory-hotplug: remove /sys/firmware/memmap/X sysfs

2012-12-24 Thread Tang Chen
From: Yasuaki Ishimatsu When (hot)adding memory into system, /sys/firmware/memmap/X/{end, start, type} sysfs files are created. But there is no code to remove these files. The patch implements the function to remove them. Note: The code does not free firmware_map_entry which is allocated by boot

[PATCH v5 00/14] memory-hotplug: hot-remove physical memory

2012-12-24 Thread Tang Chen
Hi Andrew, Here is the physical memory hot-remove patch-set based on 3.8rc-1. This patch-set aims to implement physical memory hot-removing. The patches can free/remove the following things: - /sys/firmware/memmap/X/{end, start, type} : [PATCH 4/14] - memmap of sparse-vmemmap