ladybird/Userland/Libraries/LibC
Gunnar Beutner eb798d5538 Kernel+Profiler: Improve profiling subsystem
This turns the perfcore format into more a log than it was before,
which lets us properly log process, thread and region
creation/destruction. This also makes it unnecessary to dump the
process' regions every time it is scheduled like we did before.

Incidentally this also fixes 'profile -c' because we previously ended
up incorrectly dumping the parent's region map into the profile data.

Log-based mmap support enables profiling shared libraries which
are loaded at runtime, e.g. via dlopen().

This enables profiling both the parent and child process for
programs which use execve(). Previously we'd discard the profiling
data for the old process.

The Profiler tool has been updated to not treat thread IDs as
process IDs anymore. This enables support for processes with more
than one thread. Also, there's a new widget to filter which
process should be displayed.
2021-04-26 17:13:55 +02:00
..
arch Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
arpa Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
bits LibC: Move the __pthread_mutex_trylock function to LibC 2021-04-25 10:14:50 +02:00
net Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
netinet Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sys LibC: Add additional data types 2021-04-26 09:24:21 +02:00
Tests AK+Userland: Move AK/TestSuite.h into LibTest and rework Tests' CMake 2021-04-25 09:36:49 +02:00
alloca.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
assert.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
assert.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
byteswap.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CMakeLists.txt LibC: Setup a unit test harness for LibC, add ctime_r / asctime_r tests. 2021-04-21 08:04:52 +02:00
crt0.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
crt0_shared.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
crti.S Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
crtn.S Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ctype.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ctype.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
cxxabi.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
dirent.cpp LibC: Implement the rewinddir() function 2021-04-25 09:54:39 +02:00
dirent.h LibC: Implement the rewinddir() function 2021-04-25 09:54:39 +02:00
dlfcn.cpp LibC+LibELF: Implement more fully-features dlfcn functionality 2021-04-25 10:14:50 +02:00
elf.h LibC+LibELF: Implement support for the dl_iterate_phdr helper 2021-04-18 10:55:25 +02:00
endian.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
errno.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
errno_numbers.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fcntl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fcntl.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fd_set.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fenv.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fenv.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
float.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
getopt.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
getopt.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
grp.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
grp.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
iconv.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
inttypes.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
inttypes.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ioctl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
libcinit.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
libgen.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
libgen.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
limits.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
link.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
link.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
locale.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
locale.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
malloc.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mallocdefs.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
memory.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mman.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mman.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mntent.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mntent.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
netdb.cpp Everywhere: Remove empty line after function body opening curly brace 2021-04-25 20:20:00 +02:00
netdb.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
paths.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
poll.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
poll.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
pthread_forward.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
pthread_integration.cpp LibC: Move the __pthread_mutex_trylock function to LibC 2021-04-25 10:14:50 +02:00
pthread_tls.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
pwd.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
pwd.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
qsort.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
regex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
scanf.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sched.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sched.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
serenity.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
serenity.h Kernel+Profiler: Improve profiling subsystem 2021-04-26 17:13:55 +02:00
setjmp.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
signal.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
signal.h LibC: Fix typo in signal.h: ol_dset -> old_set 2021-04-26 11:27:13 +02:00
signal_numbers.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
spawn.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
spawn.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ssp.cpp Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
stat.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdarg.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stddef.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdint.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdio.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdio.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdlib.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdlib.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
string.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
string.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
strings.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
strings.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stubs.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sysexits.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
syslog.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
syslog.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
termcap.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
termcap.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
termios.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
termios.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
time.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
time.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
times.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ulimit.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ulimit.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
unistd.cpp Utilities: Add pathchk 2021-04-24 11:48:57 +02:00
unistd.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utime.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utime.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utmp.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utsname.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
wchar.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
wchar.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00