Re: [PATCH] x86: Merge setup_32/64.c into setup.c

From: Ingo Molnar
Date: Wed Jun 25 2008 - 11:36:40 EST



* Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:

>
> Signed-off-by: Yinghai Lu <yhlu.kernel@xxxxxxxxx>
>
> ---
> arch/x86/kernel/Makefile | 2
> arch/x86/kernel/setup.c | 676 ++++++++++++++++++++++++++++++++++++++++++++-
> arch/x86/kernel/setup_32.c | 543 ------------------------------------
> arch/x86/kernel/setup_64.c | 381 -------------------------
> include/asm-x86/setup.h | 2
> 5 files changed, 670 insertions(+), 934 deletions(-)

very nice!

could we please split this up into several, gradual steps that bring
setup_32.c and setup_64.c to exactly the same content - where the final
patch just renames arch/x86/kernel/setup_32.c to arch/x86/kernel/setup.c
and deletes arch/x86/kernel/setup_64.c ?

it would still result in exactly the same end result - but is much more
bisectable (and reviewable, etc.). A bit like how arch/x86/mm/ioremap.c
or arch/x86/mm/pageattr.c was unified.

maybe it can be done in less than 10 patches - but it guess it should be
rather something in the neighborhood of 20 patches. Changes like this:

- /*
- * NOTE: before this point _nobody_ is allowed to allocate
- * any memory using the bootmem allocator. Although the
- * allocator is now initialised only the first 8Mb of the kernel
- * virtual address space has been mapped. All allocations before
- * paging_init() has completed must use the alloc_bootmem_low_pages()
- * variant (which allocates DMA'able memory) and care must be taken
- * not to exceed the 8Mb limit.
- */

should be in a separate patch - you removed this restriction from the
x86 architecture via your earlier patches, so the removal of the comment
comes from that (and deserves a separate commit), not purely from the
mechanic unification in the end.

other changes like this:

-#ifdef CONFIG_X86_FIND_SMP_CONFIG
+#if defined(CONFIG_X86_FIND_SMP_CONFIG) && defined(CONFIG_X86_32) || \
+ defined(CONFIG_X86_MPPARSE) && defined(CONFIG_X86_64)

here you fix coding style:

- /*
- * Parse SRAT to discover nodes.
- */
- acpi_numa_init();
+ /*
+ * Parse SRAT to discover nodes.
+ */
+ acpi_numa_init();

etc. etc. You do a lot more very useful work than the plain single
unification patch you sent tells us - all these changes should be split
up.

[ and in the unlikely event of there being a bug somewhere in this 1600
lines patch, a splitup is also useful for finding bugs :-) ]

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/