Skip to content
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

scx_lavd: trace WINESYNC #784

Open
multics69 opened this issue Oct 11, 2024 · 2 comments
Open

scx_lavd: trace WINESYNC #784

multics69 opened this issue Oct 11, 2024 · 2 comments
Labels
bpf enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed rust Rust language scx_lavd

Comments

@multics69
Copy link
Contributor

scx_lavd now has a measure to mitigate the lock holder preemption problem (#779).
To know whether a task holds a lock or not, it traces lock APIs (e.g., mutex, semaphore, futex) in the kernel.
One missing part is WINESYNC, which is a kernel-level lock of Wine (windows emulator).
A starting point to support WINESYNC is as follows:

@multics69 multics69 added good first issue Good for newcomers help wanted Extra attention is needed rust Rust language bpf scx_lavd enhancement New feature or request labels Oct 11, 2024
@ptr1337
Copy link
Contributor

ptr1337 commented Oct 11, 2024

I think this is a pretty future task. The complete work/review of NTSync has been stalled since a while and it will take until this is going to be a thing for wine/proton.

Couldnt you do the same also for fsync?

@multics69
Copy link
Contributor Author

multics69 commented Oct 12, 2024

I agree. I am also waiting for NTSync (W{INEsync) is merged.

In my understanding, fsync uses futex so the current futex tracing should cover fsync. Am I wrong?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bpf enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed rust Rust language scx_lavd
Projects
None yet
Development

No branches or pull requests

2 participants