-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[kernel-debug-log] Kernel debug log #25
Open
axel-h
wants to merge
20
commits into
master
Choose a base branch
from
kernel-debug-log
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
axel-h
force-pushed
the
kernel-debug-log
branch
27 times, most recently
from
December 3, 2021 13:05
a2648f8
to
4b5ff7c
Compare
axel-h
force-pushed
the
kernel-debug-log
branch
3 times, most recently
from
December 5, 2021 20:10
12351e0
to
6a4f7c7
Compare
axel-h
force-pushed
the
kernel-debug-log
branch
2 times, most recently
from
April 9, 2024 18:59
eb07ffc
to
e1fda4e
Compare
axel-h
force-pushed
the
kernel-debug-log
branch
2 times, most recently
from
June 28, 2024 14:10
835296a
to
39e08b1
Compare
Do not perform cache flushing in clearMemory. Instead flush the cache only for those object types where it is necessary, and only when the object is retyped, not when the untyped cap is reset. This reduces overall need for flushing and delays it to the point of use. This should speed up boot time significantly, but may impact WCET, because the largest flush is now the largest page size (e.g. 24) instead of CONFIG_RESET_CHUNK_BITS (8). The user could already request a flush of the largest page size before, though, so it this may not actually impact WCET. Remains to be investigated. Why this is safe: - Flushing is only necessary for objects that are seen by other parts of the system, not for kernel-internal object. These objects are non-device frames (including IOMMU pages) and page tables. All other objects are only read/written by the kernel. Frames need to be flushed to RAM (as clearMemory did), because they could be seen uncached by devices. Page tables only to PoU for the page table walker. - Before createNewObject in retype, these objects do not exist and cannot be seen by any part of the system. createNewObject is the point where new objects can become visible to the user. - Theoretically, we could defer flushing further to the point where frames or page tables are mapped, but it is more complex to track whether a flush has already happened when they are mapped multiple times, whereas at retype the object cannot have been flushed already. - The original implementation, before clearing memory was moved into reset untyped, also flushed at the same points. Signed-off-by: Gerwin Klein <[email protected]>
axel-h
force-pushed
the
kernel-debug-log
branch
3 times, most recently
from
July 5, 2024 13:22
9a75785
to
d96d76f
Compare
The function expects the size in bits. Signed-off-by: Axel Heider <[email protected]>
The AARCH64 config now also works for functional correctness on zcu102/zcu106 and rpi4. Signed-off-by: Gerwin Klein <[email protected]>
Signed-off-by: Axel Heider <[email protected]>
- unify benchmarking across all architectures - drop global variables ksExit, ksLogIndexFinalized - improve comments Signed-off-by: Axel Heider <[email protected]>
- cleanup includes and guards - hide includes if features are not enabled. - improve comments Signed-off-by: Axel Heider <[email protected]>
Remove ksUserLogBuffer declaration from the state data and declare it in the benchmark code instead. Signed-off-by: Axel Heider <[email protected]>
add ENABLE_KERNEL_TRACEPOINTS Signed-off-by: Axel Heider <[email protected]>
Signed-off-by: Axel Heider <[email protected]>
Signed-off-by: Axel Heider <[email protected]>
Signed-off-by: Axel Heider <[email protected]>
- define core specific timestampEnter - remove generic ksExit Signed-off-by: Axel Heider <[email protected]>
Signed-off-by: Axel Heider <[email protected]>
Rename CONFIG_KERNEL_LOG_BUFFER to CONFIG_ENABLE_KERNEL_LOG_BUFFER to follow the logic used already for other automatically generated config settings. Signed-off-by: Axel Heider <[email protected]>
Signed-off-by: Axel Heider <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.