ladybird/Kernel
Andreas Kling 4f4af24b9d Kernel: Tear down process address space during finalization
Process teardown is divided into two main stages: finalize and reap.

Finalization happens in the "Finalizer" kernel and runs with interrupts
enabled, allowing destructors to take locks, etc.

Reaping happens either in sys$waitid() or in the scheduler for orphans.

The more work we can do in finalization, the better, since it's fully
pre-emptible and reduces the amount of time the system runs without
interrupts enabled.
2020-02-17 14:33:06 +01:00
..
ACPI Kernel: Reduce header dependencies of MemoryManager and Region 2020-02-16 01:33:41 +01:00
Arch/i386 Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Devices Kernel: Add forward declaration header 2020-02-16 01:50:32 +01:00
FileSystem Kernel: More header dependency reduction work 2020-02-16 02:15:33 +01:00
Heap Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Net Kernel: More header dependency reduction work 2020-02-16 02:15:33 +01:00
PCI Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
TTY Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
VM Kernel+LibC: Allow sys$mmap() callers to specify address alignment 2020-02-16 12:55:56 +01: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 Meta: Fix shellcheck warnings in various scripts 2020-02-10 10:46:25 +01:00
build-root-filesystem.sh NotificationServer: Add a system service for desktop notifications 2020-02-16 21:58:17 +01: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
debug-kernel Debugging: Add kernel debugging support 2020-01-13 11:06:42 +01:00
DoubleBuffer.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +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: More header dependency reduction work 2020-02-16 02:15:33 +01:00
grub-ebr.cfg Partition Table: Change Script files 2020-02-02 00:20:41 +01:00
grub-gpt.cfg Partition Table: Change Script files 2020-02-02 00:20:41 +01:00
grub-mbr.cfg Partition Table: Change Script files 2020-02-02 00:20:41 +01:00
init.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
InterruptHandler.cpp Kernel: Introduce IRQ sharing support 2020-01-22 12:22:09 +01:00
InterruptHandler.h Kernel: Introduce IRQ sharing support 2020-01-22 12:22:09 +01:00
IRQHandler.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
IRQHandler.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KBuffer.h Kernel: Add forward declaration header 2020-02-16 01:50:32 +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
KParams.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KParams.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
KResult.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KSyms.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
KSyms.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
linker.ld Kernel: Move kernel above the 3GB virtual address mark 2020-01-17 22:34:26 +01:00
Lock.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Lock.h Kernel: Add forward declaration header 2020-02-16 01:50:32 +01:00
makeall.sh Meta: Fix shellcheck warnings in various scripts 2020-02-10 10:46:25 +01:00
Makefile Kernel: Apply changes to use LibBareMetal definitions 2020-02-09 19:38:17 +01: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: Add support for vmmouse 2020-02-04 19:11:52 +01:00
Multiboot.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
PerformanceEventBuffer.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
PerformanceEventBuffer.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Process.cpp Kernel: Tear down process address space during finalization 2020-02-17 14:33:06 +01:00
Process.h Kernel: Allow multiple inspectors of a process (in /proc) 2020-02-17 13:29:49 +01:00
ProcessTracer.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
ProcessTracer.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Profiling.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Profiling.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01: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 Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
run Meta: Fix shellcheck warnings in various scripts 2020-02-10 10:46:25 +01:00
Scheduler.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Scheduler.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
SharedBuffer.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
SharedBuffer.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
SharedInterruptHandler.cpp Kernel: Introduce IRQ sharing support 2020-01-22 12:22:09 +01:00
SharedInterruptHandler.h Kernel: Introduce IRQ sharing support 2020-01-22 12:22:09 +01:00
sync.sh Meta: Fix shellcheck warnings in various scripts 2020-02-10 10:46:25 +01:00
Syscall.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Syscall.h Kernel+LibC: Allow sys$mmap() callers to specify address alignment 2020-02-16 12:55:56 +01:00
TestModule.cpp AK: Remove bitrotted Traits::dump() mechanism 2020-02-10 11:55:34 +01:00
Thread.cpp Kernel: Reduce header dependencies of MemoryManager and Region 2020-02-16 01:33:41 +01:00
Thread.h Kernel: Reduce header dependencies of Process and Thread 2020-02-16 02:01:42 +01:00
TimerQueue.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
TimerQueue.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
UnixTypes.h Net: Add a basic sys$shutdown() implementation 2020-02-08 00:54:43 +01:00
WaitQueue.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
WaitQueue.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00