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

Fix GH-13437: FPM: ERROR: scoreboard: failed to lock (already locked) #15805

Draft
wants to merge 1 commit into
base: PHP-8.2
Choose a base branch
from

Conversation

bukka
Copy link
Member

@bukka bukka commented Sep 8, 2024

This changes locking for scoreboard to reduce contention between readers and adds retries for acquiring scoreboard for read.

@bukka bukka changed the base branch from master to PHP-8.2 September 8, 2024 14:59
This changes locking for scoreboard to reduce contention between readers
and adds retries for acquiring scoreboard for read.
@bukka
Copy link
Member Author

bukka commented Sep 8, 2024

This is an attempt to fix GH-13437 which seems to work in my testing. However it might be a bit too much for the actual bug fix - specifically reduction of reader contention might not be necessary here because I didn't see that much reader contention in my testing. There is mostly writer contention so it should be enough to just add retries but the question is impact on performance. I'm still not decided whether to target 8.2 at the end. It will need more testing though. And also need to do some clean up as I initially started just with atomics so there are some left overs in the code.

@bukka
Copy link
Member Author

bukka commented Sep 8, 2024

Btw there are few more issues with locking procs and optimizing atomics that I plan to look later too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant