| Date | Thu, 15 Jan 2015 21:22:07 -0000 | From | Thomas Gleixner <> | Subject | [patch 00/23] x86: Cleanup apic/ioapic/x2apic setup code |
| |
While reviewing Jiangs interrupt remapping patch set, I had several serious WTF moments when trying to understand what that code is doing.
The main issues I've seen are:
- Blindly copy and pasted code
- Random places which initialize bits and pieces
- Code which got mindlessly expanded with duct tape and glue without considering readability and maintainability.
- Missing inline stubs which result in a ifdef nightmare
- Superflous inline stubs to artificially avoid sensible ifdefs
The deeper I looked the more I started to get grumpy about that maze and finally sat down and cleaned it up seriously. One bug I fixed on the way (surprise, surprise) got folded into Jiangs series which is now in tip/x86/apic. The other one is not that crucial and cant be fixed in the previous code without adding more mess.
The following patch series applies on top of tip/x86/apic. It cleans up and consolidates the apic/ioapic/x2apic setup functions.
Please give it a proper review and testing.
Thanks,
tglx --- arch/x86/include/asm/smpboot_hooks.h | 68 ------ tip/arch/x86/include/asm/apic.h | 57 +---- tip/arch/x86/include/asm/io_apic.h | 5 tip/arch/x86/kernel/apic/apic.c | 395 ++++++++++++++++++----------------- tip/arch/x86/kernel/apic/io_apic.c | 13 - tip/arch/x86/kernel/cpu/common.c | 2 tip/arch/x86/kernel/smpboot.c | 113 +++++----- tip/init/main.c | 14 - 8 files changed, 308 insertions(+), 359 deletions(-)
|