WSL2-Linux-Kernel/arch/um
Anton Ivanov 2eb5f31bc4 um: Switch clocksource to hrtimers
UML is using an obsolete itimer call for
all timers and "polls" for kernel space timer firing
in its userspace portion resulting in a long list
of bugs and incorrect behaviour(s). It also uses
ITIMER_VIRTUAL for its timer which results in the
timer being dependent on it running and the cpu
load.

This patch fixes this by moving to posix high resolution
timers firing off CLOCK_MONOTONIC and relaying the timer
correctly to the UML userspace.

Fixes:
 - crashes when hosts suspends/resumes
 - broken userspace timers - effecive ~40Hz instead
   of what they should be. Note - this modifies skas behavior
   by no longer setting an itimer per clone(). Timer events
   are relayed instead.
 - kernel network packet scheduling disciplines
 - tcp behaviour especially under load
 - various timer related corner cases

Finally, overall responsiveness of userspace is better.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Anton Ivanov <aivanov@brocade.com>
[rw: massaged commit message]
Signed-off-by: Richard Weinberger <richard@nod.at>
2015-11-06 22:54:49 +01:00
..
configs arch/um: make it work with defconfig and x86_64 2013-11-17 11:31:48 +01:00
drivers um: net: replace GFP_KERNEL with GFP_ATOMIC when spinlock is held 2015-11-06 22:51:00 +01:00
include um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
kernel um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
os-Linux um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
scripts um: Preinclude include/linux/kern_levels.h 2012-09-27 20:20:09 +02:00
.gitignore um: tell git to ignore generated files 2010-03-06 11:26:28 -08:00
Kconfig.char um: remove used STDIO_CONSOLE Kconfig param 2013-11-17 11:32:27 +01:00
Kconfig.common um: Skip futex_atomic_cmpxchg_inatomic() test 2015-01-04 14:20:26 +01:00
Kconfig.debug lib: consolidate DEBUG_STACK_USAGE option 2011-05-25 08:39:54 -07:00
Kconfig.net arch/um: remove depends on CONFIG_EXPERIMENTAL 2013-01-11 11:38:04 -08:00
Kconfig.rest um: switch to use of drivers/Kconfig 2011-11-02 14:15:41 +01:00
Kconfig.um um: Fix mconsole dependency 2015-05-31 23:27:26 +02:00
Makefile um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
Makefile-os-Linux
Makefile-skas