serenity/Kernel
Brian Gianforcaro 49c438ce32 Kernel: Update TimerQueue next due timer only when necessary
Previously we blindly just called update_next_timer_due() when
ever we modified the timer list. Since we know the list is sorted
this is a bit wasteful, and we can do better.

This change refactors the code so we only update the next due time
when necessary. In places where it was possible the code was modified
to directly modify the next due time, instead of having to go to the
front of the list to fetch it.
2020-04-27 11:24:21 +02:00
..
ACPI Kernel: Reorder bitwise operations when creating PCI interrupt overrides 2020-04-09 20:45:44 +02:00
Arch/i386 CPU: Handle Debug exception 2020-04-13 23:20:59 +02:00
Devices Kernel: Refuse to set overflowy resolution values in BXVGADevice 2020-04-15 17:15:40 +02:00
FileSystem Kernel: rmdir("/") should fail instead of asserting 2020-04-19 18:07:16 +02:00
Heap Kernel: Update cryptically-named functions related to symbolication 2020-04-08 17:19:46 +02:00
Interrupts Interrupts: Simplify initialization a bit more 2020-04-09 20:45:44 +02:00
Net Kernel: Use shared locking mode in some places 2020-04-18 13:58:29 +02:00
PCI Kernel: Instantiate network adapters in their own detect() methods 2020-04-11 10:02:31 +02:00
Tasks Kernel: Move sync and finalization tasks into their own files 2020-04-08 17:19:46 +02:00
Time Kernel: Remove CommandLine::get() in favor of lookup() 2020-04-18 14:22:42 +02:00
TTY Kernel: Add explicit offset parameter to File::read etc 2020-04-10 11:59:30 +02:00
VM Kernel: Switch the first-8MB-of-upper-3GB pseudo mappings to 4KB pages 2020-04-13 22:35:37 +02:00
.bochsrc Meta: Make Serenity run on Bochs once again 2019-08-06 21:09:24 +02:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h Kernel: Remove more <LibBareMetal/Output/kstdio.h> includes 2020-02-10 12:07:48 +01:00
build-image-grub.sh Partition Table: Change Script files 2020-02-02 00:20:41 +01:00
build-image-qemu.sh Build: Add FreeBSD support (#1492) 2020-03-21 09:46:30 +01:00
build-root-filesystem.sh Applications: Remove ChanViewer app 2020-04-23 18:38:54 +02:00
CMOS.cpp Kernel: Apply changes to use LibBareMetal definitions 2020-02-09 19:38:17 +01:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CommandLine.cpp Kernel: Remove CommandLine::get() in favor of lookup() 2020-04-18 14:22:42 +02:00
CommandLine.h Kernel: Remove CommandLine::get() in favor of lookup() 2020-04-18 14:22:42 +02:00
debug-kernel Debugging: Add kernel debugging support 2020-01-13 11:06:42 +01:00
DoubleBuffer.cpp AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
DoubleBuffer.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
FB.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Forward.h Kernel: Add 'ptrace' syscall 2020-03-28 18:27:18 +01:00
grub-ebr.cfg Kernel: Change noacpi GRUB entry to use the right boot argument 2020-03-24 16:15:33 +01:00
grub-gpt.cfg Kernel: Change noacpi GRUB entry to use the right boot argument 2020-03-24 16:15:33 +01:00
grub-mbr.cfg Kernel: Change noacpi GRUB entry to use the right boot argument 2020-03-24 16:15:33 +01:00
init.cpp Kernel: Remove CommandLine::get() in favor of lookup() 2020-04-18 14:22:42 +02:00
KBuffer.h AK: Reduce header dependency graph of String.h 2020-03-23 13:48:44 +01:00
KBufferBuilder.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KBufferBuilder.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KernelInfoPage.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KeyCode.h Kernel: Add key_code_count 2020-01-31 13:13:04 +01:00
KResult.h Kernel+LibC: Remove ESUCCESS 2020-04-10 13:09:35 +02:00
KSyms.cpp LibELF: Move ELF classes into namespace ELF 2020-04-11 22:41:05 +02:00
KSyms.h Kernel: Update cryptically-named functions related to symbolication 2020-04-08 17:19:46 +02:00
linker.ld Kernel: Move kernel above the 3GB virtual address mark 2020-01-17 22:34:26 +01:00
Lock.cpp Kernel: Add timeout support to Thread::wait_on 2020-04-26 21:31:52 +02:00
Lock.h Kernel: Introduce shared locking mode 2020-04-18 13:58:29 +02:00
makeall.sh Build: Add FreeBSD support (#1492) 2020-03-21 09:46:30 +01:00
Makefile Build: Use the GCC port if building on "SerenityOS" :^) 2020-04-20 19:52:35 +02:00
mkmap.sh Meta: Fix shellcheck warnings in various scripts 2020-02-10 10:46:25 +01:00
Module.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
MousePacket.h Kernel: Simplify VMWareBackdoor somewhat 2020-04-08 17:19:46 +02:00
Multiboot.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
PerformanceEventBuffer.cpp Kernel: Include the current instruction pointer in profile samples 2020-04-11 21:04:45 +02:00
PerformanceEventBuffer.h AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*) 2020-03-08 13:06:51 +01:00
Process.cpp Kernel: Enable timeout support for sys$futex(FUTEX_WAIT) 2020-04-26 21:31:52 +02:00
Process.h Kernel: Added the ability to set the hostname via new syscall 2020-04-26 12:59:09 +02:00
Profiling.cpp LibELF: Move ELF classes into namespace ELF 2020-04-11 22:41:05 +02:00
Profiling.h Kernel: Bump the max stack frame count in sample profiles to 50 2020-04-12 11:00:38 +02:00
Ptrace.cpp Kernel: Remove SmapDisablers in sys$ptrace() implementation 2020-04-14 09:50:14 +02:00
Ptrace.h ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
Random.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Random.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
RTC.cpp Kernel: Fix awkward RTC log message at boot 2020-04-08 17:19:46 +02:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
run Kernel: Run QEMU machine with two virtual processors 2020-03-24 16:15:33 +01:00
Scheduler.cpp Kernel: Include the current instruction pointer in profile samples 2020-04-11 21:04:45 +02:00
Scheduler.h Scheduler: Use monotonic time for blocking threads 2020-03-19 15:48:00 +01:00
SharedBuffer.cpp Kernel: Use shared locking mode in some places 2020-04-18 13:58:29 +02:00
SharedBuffer.h Kernel+LibC: Rename shared buffer syscalls to use a prefix 2020-02-28 12:55:58 +01:00
sync.sh Meta: Fix shellcheck warnings in various scripts 2020-02-10 10:46:25 +01:00
Syscall.cpp Kernel: Add 'ptrace' syscall 2020-03-28 18:27:18 +01:00
Syscall.h Kernel: Added the ability to set the hostname via new syscall 2020-04-26 12:59:09 +02:00
TestModule.cpp Kernel: Use klog() instead of kprintf() 2020-03-02 22:23:39 +01:00
Thread.cpp Kernel: Expose timers via a TimerId type 2020-04-27 11:14:41 +02:00
Thread.h Kernel: Add timeout support to Thread::wait_on 2020-04-26 21:31:52 +02:00
ThreadTracer.cpp ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
ThreadTracer.h Debugger: Add DebugSession 2020-04-13 00:53:22 +02:00
TimerQueue.cpp Kernel: Update TimerQueue next due timer only when necessary 2020-04-27 11:24:21 +02:00
TimerQueue.h Kernel: Expose timers via a TimerId type 2020-04-27 11:14:41 +02:00
UnixTypes.h ptrace: Add PT_SETREGS 2020-04-13 00:53:22 +02:00
WaitQueue.cpp Kernel: Implement FUTEX_WAKE of arbitrary count. 2020-04-26 12:35:35 +02:00
WaitQueue.h Kernel: Implement FUTEX_WAKE of arbitrary count. 2020-04-26 12:35:35 +02:00