Rik van Riel
b58c358405
sched/cputime: Replace VTIME_GEN irq time code with IRQ_TIME_ACCOUNTING code
...
The CONFIG_VIRT_CPU_ACCOUNTING_GEN irq time tracking code does not
appear to currently work right.
On CPUs without nohz_full=, only tick based irq time sampling is
done, which breaks down when dealing with a nohz_idle CPU.
On firewalls and similar systems, no ticks may happen on a CPU for a
while, and the irq time spent may never get accounted properly. This
can cause issues with capacity planning and power saving, which use
the CPU statistics as inputs in decision making.
Remove the VTIME_GEN vtime irq time code, and replace it with the
IRQ_TIME_ACCOUNTING code, when selected as a config option by the user.
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Radim Krcmar <rkrcmar@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Wanpeng Li <wanpeng.li@hotmail.com>
Link: http://lkml.kernel.org/r/1468421405-20056-3-git-send-email-fweisbec@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-14 10:42:34 +02:00
..
bpf
bpf: fix matching of data/data_end in verifier
2016-06-15 23:37:54 -07:00
configs
debug
mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings
2016-02-22 08:51:37 +01:00
events
perf/core: Fix pmu::filter_match for SW-led groups
2016-07-07 08:57:57 +02:00
gcov
gcov: disable for COMPILE_TEST
2016-05-10 17:12:49 +02:00
irq
irqchip updates for 4.7-rc1:
2016-06-03 15:05:51 +02:00
livepatch
Merge branches 'for-4.7/core', 'for-4.7/livepatching-doc' and 'for-4.7/livepatching-ppc64' into for-linus
2016-05-17 12:06:35 +02:00
locking
locking: avoid passing around 'thread_info' in mutex debugging code
2016-06-23 12:11:17 -07:00
power
oom, suspend: fix oom_reaper vs. oom_killer_disable race
2016-06-24 17:23:52 -07:00
printk
printk/nmi: flush NMI messages on the system panic
2016-05-20 17:58:30 -07:00
rcu
debugobjects: insulate non-fixup logic related to static obj from fixup callbacks
2016-05-19 19:12:14 -07:00
sched
sched/cputime: Replace VTIME_GEN irq time code with IRQ_TIME_ACCOUNTING code
2016-07-14 10:42:34 +02:00
time
timer: Export destroy_hrtimer_on_stack()
2016-05-31 11:44:08 -07:00
trace
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-06-29 11:50:42 -07:00
.gitignore
certs: add .gitignore to stop git nagging about x509_certificate_list
2015-10-21 15:18:35 +01:00
acct.c
async.c
async: export current_is_async()
2015-11-19 17:51:48 +01:00
audit.c
Merge branch 'stable-4.7' of git://git.infradead.org/users/pcmoore/audit
2016-06-29 15:18:47 -07:00
audit.h
audit: move audit_get_tty to reduce scope and kabi changes
2016-06-28 15:48:48 -04:00
audit_fsnotify.c
wrappers for ->i_mutex access
2016-01-22 18:04:28 -05:00
audit_tree.c
audit: cleanup prune_tree_thread
2016-04-04 09:46:47 -04:00
audit_watch.c
don't bother with ->d_inode->i_sb - it's always equal to ->d_sb
2016-04-10 17:11:51 -04:00
auditfilter.c
audit: Fix typo in comment
2016-02-08 11:25:39 -05:00
auditsc.c
Merge branch 'stable-4.7' of git://git.infradead.org/users/pcmoore/audit
2016-06-29 15:18:47 -07:00
backtracetest.c
bounds.c
capability.c
cgroup.c
cgroup: Disable IRQs while holding css_set_lock
2016-06-23 17:23:12 -04:00
cgroup_freezer.c
cgroup: kill cgrp_ss_priv[CGROUP_CANFORK_COUNT] and friends
2015-12-03 10:24:08 -05:00
cgroup_pids.c
cgroup_pids: fix a typo.
2015-12-14 14:54:37 -05:00
compat.c
configs.c
context_tracking.c
context_tracking: Switch to new static_branch API
2015-11-24 09:56:43 +01:00
cpu.c
sched/hotplug: Make activate() the last hotplug step
2016-05-06 14:58:25 +02:00
cpu_pm.c
cpuset.c
cpuset: use static key better and convert to new API
2016-05-19 19:12:14 -07:00
crash_dump.c
cred.c
kmemcg: account certain kmem allocations to memcg
2016-01-14 16:00:49 -08:00
delayacct.c
kmemcg: account certain kmem allocations to memcg
2016-01-14 16:00:49 -08:00
dma.c
elfcore.c
exec_domain.c
exit.c
sched/api: Introduce task_rcu_dereference() and try_get_task_struct()
2016-06-03 09:18:57 +02:00
extable.c
kernel/extable.c: remove duplicated include
2015-09-10 13:29:01 -07:00
fork.c
Fix build break in fork.c when THREAD_SIZE < PAGE_SIZE
2016-06-25 06:01:28 -07:00
freezer.c
futex.c
futex: Calculate the futex key based on a tail page for file-based futexes
2016-06-08 19:23:54 +02:00
futex_compat.c
ptrace: use fsuid, fsgid, effective creds for fs access checks
2016-01-20 17:09:18 -08:00
groups.c
hung_task.c
kernel/hung_task.c: use timeout diff when timeout is updated
2016-03-22 15:36:02 -07:00
irq_work.c
treewide: Remove old email address
2015-11-23 09:44:58 +01:00
jump_label.c
locking/static_key: Fix concurrent static_key_slow_inc()
2016-06-24 08:23:16 +02:00
kallsyms.c
kallsyms: add support for relative offsets in kallsyms address table
2016-03-15 16:55:16 -07:00
kcmp.c
ptrace: use fsuid, fsgid, effective creds for fs access checks
2016-01-20 17:09:18 -08:00
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kcov.c
kernel/kcov: unproxify debugfs file's fops
2016-06-15 04:56:35 -07:00
kexec.c
s390/kexec: consolidate crash_map/unmap_reserved_pages() and arch_kexec_protect(unprotect)_crashkres()
2016-05-23 17:04:14 -07:00
kexec_core.c
s390/kexec: consolidate crash_map/unmap_reserved_pages() and arch_kexec_protect(unprotect)_crashkres()
2016-05-23 17:04:14 -07:00
kexec_file.c
kexec: introduce a protection mechanism for the crashkernel reserved memory
2016-05-23 17:04:14 -07:00
kexec_internal.h
kexec: move some memembers and definitions within the scope of CONFIG_KEXEC_FILE
2016-01-20 17:09:18 -08:00
kmod.c
kmod: don't run async usermode helper as a child of kworker thread
2015-10-23 17:55:10 +09:00
kprobes.c
ksysfs.c
rcu: Remove TINY_RCU bloat from pointless boot parameters
2015-12-07 16:59:37 -08:00
kthread.c
latencytop.c
sched/debug: Make schedstats a runtime tunable that is disabled by default
2016-02-09 11:54:23 +01:00
Makefile
ELF/MIPS build fix
2016-05-23 17:04:14 -07:00
membarrier.c
sys_membarrier(): system-wide memory barrier (generic, x86)
2015-09-11 15:21:34 -07:00
memremap.c
memremap: add arch specific hook for MEMREMAP_WB mappings
2016-04-04 10:26:41 +02:00
module-internal.h
module.c
module: preserve Elf information for livepatch modules
2016-04-01 15:00:10 +02:00
module_signing.c
KEYS: Move the point of trust determination to __key_link()
2016-04-11 22:43:43 +01:00
notifier.c
nsproxy.c
cgroup: introduce cgroup namespaces
2016-02-16 13:04:58 -05:00
padata.c
kernel/padata.c: hide unused functions
2016-05-19 19:12:14 -07:00
panic.c
printk/nmi: flush NMI messages on the system panic
2016-05-20 17:58:30 -07:00
params.c
Nothing exciting, minor tweaks and cleanups.
2015-11-09 15:53:39 -08:00
pid.c
remove lots of IS_ERR_VALUE abuses
2016-05-27 15:26:11 -07:00
pid_namespace.c
profile.c
profile: hide unused functions when !CONFIG_PROC_FS
2016-03-22 15:36:02 -07:00
ptrace.c
ptrace: change __ptrace_unlink() to clear ->ptrace under ->siglock
2016-03-22 15:36:02 -07:00
range.c
reboot.c
kexec: split kexec_load syscall from kexec core code
2015-09-10 13:29:01 -07:00
relay.c
kernel/relay.c: fix potential memory leak
2016-06-09 14:23:11 -07:00
resource.c
/proc/iomem: only expose physical resource addresses to privileged users
2016-04-14 12:56:09 -07:00
seccomp.c
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2016-05-19 10:02:26 -07:00
signal.c
kernel/signal.c: convert printk(KERN_<LEVEL> ...) to pr_<level>(...)
2016-05-23 17:04:14 -07:00
smp.c
Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-03-15 13:50:29 -07:00
smpboot.c
cpu/hotplug: Unpark smpboot threads from the state machine
2016-03-01 20:36:56 +01:00
smpboot.h
cpu/hotplug: Create hotplug threads
2016-03-01 20:36:56 +01:00
softirq.c
arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections
2016-03-25 16:37:42 -07:00
stacktrace.c
stop_machine.c
kernel/stop_machine.c: remove CONFIG_SMP dependencies
2016-01-16 11:17:24 -08:00
sys.c
prctl: make PR_SET_THP_DISABLE wait for mmap_sem killable
2016-05-23 17:04:14 -07:00
sys_ni.c
vfs: add copy_file_range syscall and vfs helper
2015-12-01 14:00:53 -05:00
sysctl.c
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-05-25 17:05:40 -07:00
sysctl_binary.c
kernel/sysctl_binary.c: use generic UUID library
2016-05-20 17:58:30 -07:00
task_work.c
taskstats.c
taskstats: use the libnl API to align nlattr on 64-bit
2016-04-23 20:13:25 -04:00
test_kprobes.c
torture.c
rcutorture: Dump trace buffer upon shutdown
2016-04-21 13:47:04 -07:00
tracepoint.c
kernel/...: convert pr_warning to pr_warn
2016-03-22 15:36:02 -07:00
tsacct.c
time, acct: Drop irq save & restore from __acct_update_integrals()
2016-02-29 09:53:09 +01:00
uid16.c
up.c
user-return-notifier.c
user.c
user_namespace.c
kernel/*: switch to memdup_user_nul()
2016-01-04 10:27:55 -05:00
utsname.c
utsname_sysctl.c
watchdog.c
watchdog: don't run proc_watchdog_update if new value is same as old
2016-03-17 15:09:34 -07:00
workqueue.c
debugobjects: insulate non-fixup logic related to static obj from fixup callbacks
2016-05-19 19:12:14 -07:00
workqueue_internal.h
sched/core: Get rid of 'cpu' argument in wq_worker_sleeping()
2016-03-02 10:28:47 -05:00