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

Internal refactoring #6507

Merged
merged 12 commits into from Sep 10, 2019

Conversation

@Nekotekina
Copy link
Member

commented Sep 9, 2019

Simplify more code using waitable atomics.
Implement uniform wait abortion for named_thread.

@Nekotekina Nekotekina force-pushed the Nekotekina:fixup branch 2 times, most recently from 34e4ebc to d04639e Sep 9, 2019

@Nekotekina Nekotekina force-pushed the Nekotekina:fixup branch from d04639e to 183e269 Sep 10, 2019

Nekotekina added 10 commits Sep 8, 2019
Remove timeout support from lf_queue::wait
Add notify method and use atomic wait
Remove `notifier` class
Poorly implemented condition variable.
atomic.hpp: optimize internal logic
Move waiter count to highest bits to prevent false futex wakeups.
Test pointer bits properly in notify_all to avoid false wakeups.
Remove `unique_cond`
Not very useful.
atomic.hpp: fix signal saturation logic
Make sure to notify_all at max signal count.
Rewrite `cond_variable` to use waitable atomics
Increase max_timeout and fix max_timeout usage
Remove `shared_cond` and simplify reservation waiting
Use atomic wait for reservations
Cleanup some obsolete code
atomic.hpp: implement collision fallback properly
Should prevent devastating effect of collisions
Simplify thread_base::join()
Use waitable atomics

@Nekotekina Nekotekina force-pushed the Nekotekina:fixup branch from 183e269 to c1b0934 Sep 10, 2019

@Nekotekina Nekotekina merged commit c1b0934 into RPCS3:master Sep 10, 2019

2 of 3 checks passed

continuous-integration/travis-ci/push The Travis CI build is in progress
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@KingKingov

This comment has been minimized.

Copy link

commented Sep 11, 2019

Tekken tag tournament 2
got worse

MSuih added a commit to MSuih/rpcs3 that referenced this pull request Sep 14, 2019
Fix unsigned warnings caused by pr RPCS3#6507
warning C4146: unary minus operator applied to unsigned type, result still unsigned
MSuih added a commit to MSuih/rpcs3 that referenced this pull request Sep 14, 2019
Fix unsigned warnings caused by PR RPCS3#6507
warning C4146: unary minus operator applied to unsigned type, result still unsigned
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.