Skip to content

Conversation

@elad335
Copy link
Contributor

@elad335 elad335 commented Nov 24, 2025

  • Prevent atomic cache line collisions, fixes spurious atomic operation failures on Aarch64.
  • Fix repeated reservation notifications.
  • Fix in futex emulation: std::unordered_multimap::find() may not return the first matching element but any of them, previous code relied on returning the first.
  • Make vm::reservation_notifier_t struct aligned.

@elad335 elad335 added the Bugfix label Nov 24, 2025
@AniLeo
Copy link
Member

AniLeo commented Nov 24, 2025

Still crashes on arm64

@elad335 elad335 force-pushed the sleep-hack branch 2 times, most recently from 40c9b23 to 64c3dc0 Compare December 15, 2025 19:36
@elad335 elad335 changed the title Fix vm::reservation_waiter_t alignment Prevent atomic collisions on cache line boundary Dec 15, 2025
@elad335
Copy link
Contributor Author

elad335 commented Dec 15, 2025

Pushed some new fixes

@elad335 elad335 force-pushed the sleep-hack branch 7 times, most recently from 2a54fca to 226700f Compare December 16, 2025 08:06
std::unordered_multimap::find may return any matching element.. unlike equal_range. (code relied on matching the first)
There was also UB there of reference to an element after it has deleted.
@elad335 elad335 merged commit 103d580 into RPCS3:master Dec 16, 2025
8 of 9 checks passed
if (flip_horizontally || flip_vertically)
{
Qt::Orientations orientation {};
#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing in the CI uses old QT.
Why add this back in?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been postponing updating it, updating QT is always a bit of a pain. There is also no reason to make it forcibly fail compilation so 🤷‍♂️

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants