linux_dsm_epyc7002/arch/arm/include/asm
Will Deacon 5727347180 ARM: 7354/1: perf: limit sample_period to half max_period in non-sampling mode
On ARM, the PMU does not stop counting after an overflow and therefore
IRQ latency affects the new counter value read by the kernel. This is
significant for non-sampling runs where it is possible for the new value
to overtake the previous one, causing the delta to be out by up to
max_period events.

Commit a737823d ("ARM: 6835/1: perf: ensure overflows aren't missed due
to IRQ latency") attempted to fix this problem by allowing interrupt
handlers to pass an overflow flag to the event update function, causing
the overflow calculation to assume that the counter passed through zero
when going from prev to new. Unfortunately, this doesn't work when
overflow occurs on the perf_task_tick path because we have the flag
cleared and end up computing a large negative delta.

This patch removes the overflow flag from armpmu_event_update and
instead limits the sample_period to half of the max_period for
non-sampling profiling runs.

Cc: <stable@vger.kernel.org>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-03-07 09:40:48 +00:00
..
hardware ARM: 7164/3: PL330: Fix the size of the dst_cache_ctrl field 2012-02-15 21:10:49 +00:00
mach Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
a.out-core.h
a.out.h
asm-offsets.h
assembler.h ARM: 7325/1: fix v7 boot with lockdep enabled 2012-02-15 21:09:52 +00:00
atomic.h
bitops.h
bug.h ARM: 7267/1: Remove BUILD_BUG_ON from asm/bug.h 2012-01-05 13:23:22 +00:00
bugs.h
byteorder.h
cache.h
cacheflush.h
cachetype.h
checksum.h
clkdev.h
cpu.h
cputype.h
cti.h
current.h
delay.h
device.h
div64.h
dma-mapping.h
dma.h
domain.h ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts 2012-01-25 11:07:40 +00:00
ecard.h
edac.h ARM: 7201/1: add EDAC atomic_scrub function 2011-12-11 08:35:50 +00:00
elf.h
entry-macro-multi.S
exception.h
fb.h
fcntl.h
fiq.h
fixmap.h
flat.h
floppy.h
fncpy.h
fpstate.h
ftrace.h
futex.h ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts 2012-01-25 11:07:40 +00:00
glue-cache.h
glue-df.h
glue-pf.h
glue-proc.h
glue.h
gpio.h ARM: 7271/1: Fix typo in conversion of ARCH_NR_GPIOS to Kconfig 2012-01-08 09:27:19 +00:00
hardirq.h
highmem.h
hw_breakpoint.h
hw_irq.h
hwcap.h UAPI: Split trivial #if defined(__KERNEL__) && X conditionals 2011-12-13 15:07:49 +00:00
ide.h
idmap.h ARM: SMP: use idmap_pgd for mapping MMU enable during secondary booting 2011-12-06 14:04:15 +00:00
io.h
ioctls.h
ipcbuf.h consolidate a bunch of ipcbuf.h instances 2012-01-03 22:55:18 -05:00
irq.h
irqflags.h
Kbuild
kexec.h
kgdb.h
kmap_types.h
kprobes.h Kernel: Audit Support For The ARM Platform 2012-01-17 16:17:01 -05:00
leds.h
limits.h
linkage.h
localtimer.h
locks.h
mach-types.h
mc146818rtc.h
memblock.h ARM: Add arm_memblock_steal() to allocate memory away from the kernel 2012-01-13 15:02:35 +00:00
memory.h
mman.h
mmu_context.h
mmu.h
module.h
msgbuf.h
mtd-xip.h
mutex.h
nwflash.h
opcodes.h ARM: 7206/1: Add generic ARM instruction set condition code checks. 2011-12-13 08:52:02 +00:00
outercache.h
page-nommu.h
page.h ARM: LPAE: Introduce the 3-level page table format definitions 2011-12-08 10:30:39 +00:00
param.h
parport.h
pci.h PCI: ARM: convert pcibios_set_master() to a non-inlined function 2012-01-06 12:10:36 -08:00
perf_event.h
pgalloc.h ARM: LPAE: Page table maintenance for the 3-level format 2011-12-08 10:30:39 +00:00
pgtable-2level-hwdef.h
pgtable-2level-types.h
pgtable-2level.h ARM: LPAE: Move page table maintenance macros to pgtable-2level.h 2011-12-08 10:30:37 +00:00
pgtable-3level-hwdef.h ARM: LPAE: Introduce the 3-level page table format definitions 2011-12-08 10:30:39 +00:00
pgtable-3level-types.h ARM: LPAE: Introduce the 3-level page table format definitions 2011-12-08 10:30:39 +00:00
pgtable-3level.h ARM: LPAE: Page table maintenance for the 3-level format 2011-12-08 10:30:39 +00:00
pgtable-hwdef.h ARM: LPAE: Introduce the 3-level page table format definitions 2011-12-08 10:30:39 +00:00
pgtable-nommu.h
pgtable.h Merge branch 'devel-stable' into for-linus 2012-01-05 13:24:33 +00:00
pmu.h ARM: 7354/1: perf: limit sample_period to half max_period in non-sampling mode 2012-03-07 09:40:48 +00:00
posix_types.h
proc-fns.h ARM: LPAE: Page table maintenance for the 3-level format 2011-12-08 10:30:39 +00:00
processor.h ARM: 7327/1: need to include asm/system.h in asm/processor.h 2012-02-15 21:10:49 +00:00
procinfo.h
prom.h ARM: prom.h: Fix build error by removing unneeded header file 2012-01-04 23:47:52 -07:00
ptrace.h Kernel: Audit Support For The ARM Platform 2012-01-17 16:17:01 -05:00
scatterlist.h
sched_clock.h ARM: 7205/2: sched_clock: allow sched_clock to be selected at runtime 2011-12-18 23:00:26 +00:00
seccomp.h
segment.h
sembuf.h
serial.h
setup.h ARM: Allow Kconfig to control the definition of NR_BANKS 2011-12-13 08:52:02 +00:00
shmbuf.h
shmparam.h
sigcontext.h
signal.h
smp_plat.h ARM: 7293/1: logical_cpu_map: decouple CPU mapping from SMP 2012-01-23 10:20:05 +00:00
smp_scu.h
smp_twd.h
smp.h ARM: 7293/1: logical_cpu_map: decouple CPU mapping from SMP 2012-01-23 10:20:05 +00:00
socket.h
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
stackprotector.h
stacktrace.h
stat.h
statfs.h
string.h
suspend.h
swab.h Merge branch 'for-next' of git://git.infradead.org/users/dhowells/linux-headers 2012-01-14 18:03:30 -08:00
system.h Merge branch 'restart' into for-linus 2012-01-05 13:25:27 +00:00
tcm.h
termbits.h
termios.h
therm.h
thread_info.h Kernel: Audit Support For The ARM Platform 2012-01-17 16:17:01 -05:00
thread_notify.h
timex.h
tlb.h ARM: 7302/1: Add TLB flushing for both entries in a PMD 2012-02-02 17:37:42 +00:00
tlbflush.h
tls.h
topology.h
traps.h
types.h consolidate umode_t declarations 2012-01-03 22:55:17 -05:00
uaccess.h ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts 2012-01-25 11:07:40 +00:00
ucontext.h
unaligned.h
unified.h ARM: make BSYM macro assembly only 2012-01-16 08:56:25 -06:00
unistd.h UAPI: Split trivial #if defined(__KERNEL__) && X conditionals 2011-12-13 15:07:49 +00:00
unwind.h ARM: 7187/1: fix unwinding for XIP kernels 2011-12-06 11:16:13 +00:00
user.h
vfp.h
vfpmacros.h
vga.h
xor.h