1
linux/include/asm-x86_64
Venkatesh Pallipadi dfde5d62ed [CPUFREQ][8/8] acpi-cpufreq: Add support for freq feedback from hardware
Enable ondemand governor and acpi-cpufreq to use IA32_APERF and IA32_MPERF MSR
to get active frequency feedback for the last sampling interval. This will
make ondemand take right frequency decisions when hardware coordination of
frequency is going on.

Without APERF/MPERF, ondemand can take wrong decision at times due
to underlying hardware coordination or TM2.
Example:
* CPU 0 and CPU 1 are hardware cooridnated.
* CPU 1 running at highest frequency.
* CPU 0 was running at highest freq. Now ondemand reduces it to
  some intermediate frequency based on utilization.
* Due to underlying hardware coordination with other CPU 1, CPU 0 continues to
  run at highest frequency (as long as other CPU is at highest).
* When ondemand samples CPU 0 again next time, without actual frequency
  feedback from APERF/MPERF, it will think that previous frequency change
  was successful and can go to wrong target frequency. This is because it
  thinks that utilization it has got this sampling interval is when running at
  intermediate frequency, rather than actual highest frequency.

More information about IA32_APERF IA32_MPERF MSR:
Refer to IA-32 Intel® Architecture Software Developer's Manual at
http://developer.intel.com

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
2006-10-15 19:57:11 -04:00
..
8253pit.h
a.out.h
acpi.h [PATCH] Remove some cruft in apic id checking during processor setup 2006-09-26 10:52:37 +02:00
agp.h
alternative-asm.i Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
alternative.h [PATCH] x86_64: Remove alternative_smp 2006-08-30 16:05:15 -07:00
apic.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
apicdef.h x86_64: Remove stale lapic definition from apicdef.h 2006-04-01 22:50:03 -05:00
atomic.h [PATCH] x86_64: x86_64 version of the smp alternative patch. 2006-06-26 10:48:14 -07:00
auxvec.h
bitops.h [PATCH] optimize hweight64 for x86_64 2006-09-26 10:52:38 +02:00
boot.h
bootsetup.h
bug.h
bugs.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
byteorder.h
cache.h fix file specification in comments 2006-10-03 23:01:26 +02:00
cacheflush.h
calgary.h [PATCH] x86: remove config.h includes from asm-i386 & asm-x86_64 2006-09-26 10:52:36 +02:00
calling.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
checksum.h
compat.h
cpu.h
cpufeature.h [PATCH] x86_64: i386/x86-64 Add nmi watchdog support for new Intel CPUs 2006-06-26 10:48:22 -07:00
cputime.h
current.h
debugreg.h
delay.h
desc.h
div64.h
dma-mapping.h [PATCH] Move valid_dma_direction() from x86_64 to generic code 2006-09-29 09:18:10 -07:00
dma.h [PATCH] x86_64: Remove long obsolete CVS 2006-06-26 10:48:16 -07:00
dmi.h
dwarf2.h [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder 2006-09-26 10:52:41 +02:00
e820.h [PATCH] Have x86_64 use add_active_range() and free_area_init_nodes 2006-09-27 08:26:11 -07:00
edac.h
elf.h [PATCH] Fix 'make headers_check' on x86_64 2006-09-16 12:54:32 -07:00
emergency-restart.h
errno.h
fcntl.h
fixmap.h [PATCH] Remove all ifdefs for local/io apic 2006-09-26 10:52:29 +02:00
floppy.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
fpu32.h
futex.h
genapic.h [PATCH] x86_64 irq: Allocate a vector across all cpus for genapic_flat. 2006-10-08 12:24:02 -07:00
hardirq.h [PATCH] genirq: irq: generalize the check for HARDIRQ_BITS 2006-10-04 07:55:28 -07:00
hpet.h [PATCH] x86_64: Rename oem_force_hpet_timer to apic_is_clustered_box 2006-06-26 10:48:19 -07:00
hw_irq.h [PATCH] i386/x86_64: Remove global IO_APIC_VECTOR 2006-10-08 12:24:02 -07:00
hypertransport.h [PATCH] Initial generic hypertransport interrupt support 2006-10-04 07:55:29 -07:00
i387.h [PATCH] Add __must_check to copy_*_user 2006-09-26 10:52:39 +02:00
ia32_unistd.h [PATCH] x86_64: Remove most of ia32_unistd.h 2006-06-26 10:48:15 -07:00
ia32.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
ide.h
idle.h
intel_arch_perfmon.h [PATCH] x86: i386/x86-64 Add nmi watchdog support for new Intel CPUs 2006-09-26 10:52:27 +02:00
io_apic.h [PATCH] genirq: x86_64 irq: Kill irq compression 2006-10-04 07:55:29 -07:00
io.h [PATCH] Consolidate check_signature 2006-10-11 11:14:23 -07:00
ioctl.h
ioctls.h
ipcbuf.h
ipi.h
irq_regs.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
irq.h [PATCH] genirq: x86_64 irq: make vector_irq per cpu 2006-10-04 07:55:29 -07:00
irqflags.h [PATCH] lockdep: irqtrace cleanup of include/asm-x86_64/irqflags.h 2006-07-03 15:27:03 -07:00
k8.h [PATCH] x86_64: Clean and enhance up K8 northbridge access code 2006-06-26 10:48:15 -07:00
Kbuild [PATCH] Split i386 and x86_64 ptrace.h 2006-09-26 08:49:10 -07:00
kdebug.h [PATCH] lockdep: beautify x86_64 stacktraces 2006-07-03 15:27:02 -07:00
kexec.h [PATCH] Avoid overwriting the current pgd (V4, x86_64) 2006-09-26 10:52:38 +02:00
kmap_types.h
kprobes.h [PATCH] IA64: kprobe invalidate icache of jump buffer 2006-07-31 13:28:38 -07:00
ldt.h
linkage.h [PATCH] Add proper alignment to ENTRY 2006-09-26 10:52:29 +02:00
local.h [PATCH] x86_64: Fix race in cpu_local_* on preemptible kernels 2006-06-26 10:48:21 -07:00
mach_apic.h [PATCH] x86_64 irq: Allocate a vector across all cpus for genapic_flat. 2006-10-08 12:24:02 -07:00
mc146818rtc.h
mce.h [PATCH] x86: Refactor thermal throttle processing 2006-09-26 10:52:42 +02:00
mman.h
mmsegment.h
mmu_context.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
mmu.h
mmzone.h [PATCH] Delete unused definitions of kvaddr_to_nid 2006-06-23 07:42:52 -07:00
module.h
mpspec.h [PATCH] Replace mp bus array with bitmap for bus not pci 2006-09-26 10:52:30 +02:00
msgbuf.h
msidef.h [PATCH] genirq: x86_64 irq: Move msi message composition into io_apic.c 2006-10-04 07:55:28 -07:00
msr.h [CPUFREQ][8/8] acpi-cpufreq: Add support for freq feedback from hardware 2006-10-15 19:57:11 -04:00
mtrr.h Move inclusion of <linux/compat.h> out of user scope in asm-x86_64/mtrr.h 2006-05-21 22:51:13 +01:00
mutex.h [PATCH] Don't use lock section for mutexes and semaphores 2006-09-26 10:52:32 +02:00
namei.h
nmi.h [PATCH] x86: Clean up x86 NMI sysctls 2006-09-30 01:47:55 +02:00
node.h
numa.h [PATCH] Unify pxm_to_node() and node_to_pxm() 2006-06-23 07:42:48 -07:00
page.h [PATCH] x86_64: Enlarge debug stack for nested kprobes 2006-07-28 19:28:00 -07:00
param.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
parport.h
pci-direct.h [PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1 2006-09-26 10:52:41 +02:00
pci.h [PATCH] x86_64: Calgary IOMMU - Calgary specific bits 2006-06-26 10:48:19 -07:00
pda.h [PATCH] Fix idle notifiers 2006-09-26 10:52:40 +02:00
percpu.h [PATCH] Fix typo in "syntax error if percpu macros are incorrectly used" patch 2006-10-06 08:53:41 -07:00
pgalloc.h
pgtable.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-09-26 13:07:55 -07:00
poll.h
posix_types.h
prctl.h
processor.h ACPI: Processor native C-states using MWAIT 2006-10-14 00:35:39 -04:00
proto.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ptrace-abi.h [PATCH] Split i386 and x86_64 ptrace.h 2006-09-26 08:49:10 -07:00
ptrace.h [PATCH] Add regs_return_value() helper 2006-10-02 07:57:16 -07:00
resource.h
rtc.h
rwlock.h [PATCH] Clean up spin/rwlocks 2006-09-26 10:52:32 +02:00
scatterlist.h
seccomp.h
sections.h
segment.h [PATCH] Add the vgetcpu vsyscall 2006-09-26 10:52:28 +02:00
semaphore.h [PATCH] Use early clobber in semaphores 2006-09-30 01:47:55 +02:00
sembuf.h
serial.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
setup.h
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h
siginfo.h
signal.h [PATCH] Add TIF_RESTORE_SIGMASK 2006-09-26 10:52:26 +02:00
smp.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-09-26 13:07:55 -07:00
socket.h [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
stacktrace.h [PATCH] Merge stacktrace and show_trace 2006-09-26 10:52:34 +02:00
stat.h
statfs.h
string.h [PATCH] x86_64: Use __always_inline for __inline_memcpy 2006-06-26 10:48:14 -07:00
suspend.h
swiotlb.h [PATCH] x86_64: Fix swiotlb=force 2006-07-29 20:59:55 -07:00
system.h [PATCH] Don't leak NT bit into next task 2006-09-26 10:52:41 +02:00
tce.h [PATCH] Calgary IOMMU: consolidate per bus data structures 2006-09-26 10:52:31 +02:00
termbits.h
termios.h
therm_throt.h [PATCH] x86: Refactor thermal throttle processing 2006-09-26 10:52:42 +02:00
thread_info.h [PATCH] x86-64 TIF flags for debug regs and io bitmap in ctxsw 2006-09-26 10:52:28 +02:00
timex.h [PATCH] x86_64: fix sync before RDTSC on Intel cpus 2006-04-11 06:38:57 -07:00
tlb.h
tlbflush.h [PATCH] Clean up and minor fixes to TLB flush 2006-09-26 10:52:29 +02:00
topology.h [PATCH] sched: introduce child field in sched_domain 2006-10-03 08:04:06 -07:00
types.h
uaccess.h [PATCH] Add proper sparse __user casts to __copy_to_user_inatomic 2006-09-30 01:47:55 +02:00
ucontext.h
unaligned.h
unistd.h [PATCH] rename the provided execve functions to kernel_execve 2006-10-02 07:57:23 -07:00
unwind.h [PATCH] Fix unwinder warning in traps.c 2006-09-26 10:52:42 +02:00
user32.h
user.h
vga.h [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
vsyscall32.h
vsyscall.h [PATCH] kill wall_jiffies 2006-10-01 00:39:27 -07:00
xor.h