serenity/Applications
Tom 5f51d85184 Kernel: Improve time keeping and dramatically reduce interrupt load
This implements a number of changes related to time:
* If a HPET is present, it is now used only as a system timer, unless
  the Local APIC timer is used (in which case the HPET timer will not
  trigger any interrupts at all).
* If a HPET is present, the current time can now be as accurate as the
  chip can be, independently from the system timer. We now query the
  HPET main counter for the current time in CPU #0's system timer
  interrupt, and use that as a base line. If a high precision time is
  queried, that base line is used in combination with quering the HPET
  timer directly, which should give a much more accurate time stamp at
  the expense of more overhead. For faster time stamps, the more coarse
  value based on the last interrupt will be returned. This also means
  that any missed interrupts should not cause the time to drift.
* The default system interrupt rate is reduced to about 250 per second.
* Fix calculation of Thread CPU usage by using the amount of ticks they
  used rather than the number of times a context switch happened.
* Implement CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE and use it
  for most cases where precise timestamps are not needed.
2020-12-21 18:26:12 +01:00
..
About Applications: Use GUI::Icon::default_icon to set application icon 2020-11-02 21:06:17 +01:00
Browser Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
Calculator Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
Calendar Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
CrashDaemon CrashDaemon: Show source position in backtrace 2020-12-14 23:05:53 +01:00
Debugger Loader: Stabilize loader & Use shared libraries everywhere :^) 2020-12-14 23:05:53 +01:00
DisplaySettings Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
FileManager Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
FontEditor Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
Help Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
HexEditor Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
IRCClient Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
KeyboardMapper Applications: Use pledge and unveil 2020-11-02 22:36:27 +01:00
KeyboardSettings Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
Piano Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
PixelPaint Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
QuickShow Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
SoundPlayer Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
Spreadsheet Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
SystemMonitor Kernel: Improve time keeping and dramatically reduce interrupt load 2020-12-21 18:26:12 +01:00
Terminal LibVT+Terminal: Add the option to disable the bell 2020-12-21 00:17:12 +01:00
TextEditor Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
ThemeEditor Build: Embed application icons directly in the executables. 2020-12-21 00:12:59 +01:00
Welcome LibCore: Make IODevice::read_line() return a String 2020-12-13 11:54:11 +01:00
CMakeLists.txt CrashDaemon: Add service that acts on new coredumps 2020-12-14 23:05:53 +01:00