On Thu, Aug 30, 2012 at 10:06:30AM -0400, Jim Quinlan wrote: > I'm not sure the tangle is so easily undone. The first dependency I see is > > asm-offsets.c > asm/processors.h > linux/cpumask.h > linux/kernel.h > linux/bitops.h > asm/bitops.h > linux/irqflags.h > asm/irqflags.h > > When compared to other architectures, the MIPS asm/bitops.h seems to > include more files at the top, including linux/irqflags.h. > Any suggestions? This is because MIPS bitops for some ancient processors which don't have atomic operations and Cavium cnMIPS cores where disabling interrupts is faster than the atomic operations are implemented by disabling interrupts. This makes these atomic operations relativly bloated in terms of code size generated and may it'd be a good idea to outline the bits. With a bit of luck we even get better cache locality - and fewer header file inclusions. Ralf