This is the third version of the timer wheel rework series. The previous versions can be found here:
V1: http://lkml.kernel.org/r/20160613070440.950649...@linutronix.de V2: http://lkml.kernel.org/r/20160617121134.417319...@linutronix.de The series is also available in git: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.timers Changes vs. V2: - Removed the 1000Hz granularity reduction to 4ms. Eric explained that datacenter workloads require the granularity in the first level wheel. - Fixed the typo in tilepro. - Converted sigtimedwait() to hrtimers - To avoid the cascading I extended the wheel by another level. This removes the rarely executed cascading code path, but increases the storage size for HZ>100 slightly. If the tiny folks care, there is an simple option to cut the storage size in half for the price of reduced granularity. Thanks, tglx ---- arch/x86/kernel/apic/x2apic_uv_x.c | 4 arch/x86/kernel/cpu/mcheck/mce.c | 4 block/genhd.c | 5 drivers/cpufreq/powernv-cpufreq.c | 5 drivers/mmc/host/jz4740_mmc.c | 2 drivers/net/ethernet/tile/tilepro.c | 4 drivers/power/bq27xxx_battery.c | 5 drivers/tty/metag_da.c | 4 drivers/tty/mips_ejtag_fdc.c | 4 drivers/usb/host/ohci-hcd.c | 1 drivers/usb/host/xhci.c | 2 include/linux/list.h | 10 include/linux/timer.h | 34 - kernel/signal.c | 24 kernel/time/tick-internal.h | 1 kernel/time/tick-sched.c | 46 - kernel/time/timer.c | 1096 +++++++++++++++++++++--------------- lib/random32.c | 1 net/ipv4/inet_connection_sock.c | 7 net/ipv4/inet_timewait_sock.c | 5 20 files changed, 734 insertions(+), 530 deletions(-)