bt_ioremap question / cyclone-timer_A1 patch
RFC 1/1 bt_ioremap question / cyclone-timer_A1 patch
Hey all,
I've been working on improving performance of do_gettimeofday on
certain NUMA hardware (see my earlier tsc-disable posts for why the TSCs cannot be used), and I wanted to run this by the list to make sure I'm not doing anything too daft.
Mainly I'm concerned about my usage of bt_ioremap. Early in the boot processes, I need to map in a couple of chipset registers and poke values into them. However one of the registers needs to be kept mapped for the life of the system (look for "cyclone_timer" below). I couldn't find any documentation on whether memory mapped with bt_ioremap can be held across mem_init(). It seems to "just work" but I wanted to find out if I really should be re-mapping the register w/ ioremap once it becomes available.
If you see any other issues with the patch, please let me know (I do realize its a bit #ifdef happy, so go easy on that point).
Comments, suggestions and flames welcome
thanks
-john
PS: If you are so inclined/loony to actually try this patch, please note that it depends on my tsc-disable_B2 patch to apply cleanly.
Documentation/Configure.help +5 -0
@@ -257,6 +257,11 @@ You will need a new lynxer.elf file to flash your firmware with - send email to [email protected] +IBM Enterprise X-Architecture support +CONFIG_X86_IBMEXA + This option makes use of a performance counter on the Cyclone chipset + for calculating do_gettimeofday, greatly improving its performance. + IO-APIC support on uniprocessors CONFIG_X86_UP_IOAPIC An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
arch/i386/config.in +1 -0
@@ -201,6 +201,7 @@ bool 'Multi-node NUMA system support (Caution: Read help first)' CONFIG_X86_NUMA if [ "$CONFIG_X86_NUMA" = "y" ]; then bool 'Multiquad (IBM/Sequent) NUMAQ support' CONFIG_MULTIQUAD + bool 'IBM Enterprise X-Architecture support' CONFIG_X86_IBMEXA fi fi
arch/i386/kernel/time.c +94 -0
118 lines not on this page · raw message