On Fri, Oct 03, 2025 at 10:46:41AM +0900, Byungchul Park wrote:
On Thu, Oct 02, 2025 at 12:39:31PM +0100, Mark Brown wrote:
quoted
On Thu, Oct 02, 2025 at 05:12:09PM +0900, Byungchul Park wrote:
quoted
dept needs to notice every entrance from user to kernel mode to treat
every kernel context independently when tracking wait-event dependencies.
Roughly, system call and user oriented fault are the cases.
quoted
quoted
Make dept aware of the entrances of arm64 and add support
CONFIG_ARCH_HAS_DEPT_SUPPORT to arm64.
quoted
The description of what needs to be tracked probably needs some
tightening up here, it's not clear to me for example why exceptions for
mops or the vector extensions aren't included here, or what the
distinction is with error faults like BTI or GCS not being tracked?
Thanks for the feedback but I'm afraid I don't get you. Can you explain
in more detail with example?
Your commit log says we need to track every entrance from user mode to
kernel mode but the code only adds tracking to syscalls and some memory
faults. The exception types listed above (and some others) also result
in entries to the kernel from userspace.
JFYI, pairs of wait and its event need to be tracked to see if each
event can be prevented from being reachable by other waits like:
context X context Y
lock L
...
initiate event A context start toward event A
... ...
wait A // wait for event A and lock L // wait for unlock L and
// prevent unlock L // prevent event A
... ...
unlock L unlock L
...
event A
I meant things like this need to be tracked.
I don't think that's at all clear from the above context, and the
handling for some of the above exception types (eg, the vector
extensions) includes taking locks.