linux/arch/um/os-Linux
Johannes Berg 49da38a3ef um: Simplify os_idle_sleep() and sleep longer
There really is no reason to pass the amount of time we should
sleep, especially since it's just hard-coded to one second.

Additionally, one second isn't really all that long, and as we
are expecting to be woken up by a signal, we can sleep longer
and avoid doing some work every second, so replace the current
clock_nanosleep() with just an empty select() that can _only_
be woken up by a signal.

We can also remove the deliver_alarm() since we don't need to
do that when we got e.g. SIGIO that woke us up, and if we got
SIGALRM the signal handler will actually (have) run, so it's
just unnecessary extra work.

Similarly, in time-travel mode, just program the wakeup event
from idle to be S64_MAX, which is basically the most you could
ever simulate to. Of course, you should already have an event
in the list that's earlier and will cause a wakeup, normally
that's the regular timer interrupt, though in suspend it may
(later) also be an RTC event. Since actually getting to this
point would be a bug and you can't ever get out again, panic()
on it in the time control code.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
2020-12-13 22:22:37 +01:00
..
drivers um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
skas um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
elf_aux.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
execvp.c um: Use os_warn to print out pre-boot warning/error messages 2017-07-05 23:18:25 +02:00
file.c um: Use fdatasync() when mapping the UBD FSYNC command 2020-06-02 22:37:55 +02:00
helper.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
irq.c um: Remove IRQ_NONE type 2020-12-13 22:22:29 +01:00
main.c um: Don't trace irqflags during shutdown 2019-11-25 22:42:57 +01:00
Makefile um: Increase stack frame size threshold for signal.c 2020-12-13 22:22:00 +01:00
mem.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
process.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
registers.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
sigio.c um: Remove IRQ_NONE type 2020-12-13 22:22:29 +01:00
signal.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
start_up.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
time.c um: Simplify os_idle_sleep() and sleep longer 2020-12-13 22:22:37 +01:00
tty.c um: Add SPDX headers for files in arch/um/os-Linux 2019-09-15 21:37:17 +02:00
umid.c um: Remove use of asprinf in umid.c 2020-12-13 22:21:07 +01:00
user_syms.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
util.c um: Some fixes to build UML with musl 2020-10-11 23:13:06 +02:00