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

cellSaveData/UNIX: Optimize IO #10574

Merged
merged 3 commits into from Jul 18, 2021
Merged

cellSaveData/UNIX: Optimize IO #10574

merged 3 commits into from Jul 18, 2021

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Jul 18, 2021

Should fix #10573, please test.

@Megamouse Megamouse added Optimization Optimizes existing code OS: Linux Savedata Anything that involves cellSaveData labels Jul 18, 2021
@kd-11
Copy link
Contributor

kd-11 commented Jul 18, 2021

The full fs sync isn't even that slow, removing the fsync(fd) that is done per-file on the unix path solves the issue even with the fs-wide fsync still in place (https://github.com/RPCS3/rpcs3/pull/10574/files#diff-598e1ef261ba2582ce3ca55f76d9613dd8e6cf40acb3d53b4f91ee83cb156d0eR1956). I don't see why we even needed both to begin with in this specific scenario.

@elad335
Copy link
Contributor Author

elad335 commented Jul 18, 2021

Seems like it should be the solution then.

@kd-11
Copy link
Contributor

kd-11 commented Jul 18, 2021

What about simply removing the sync here: https://github.com/RPCS3/rpcs3/blob/master/Utilities/File.cpp#L2014

@kd-11
Copy link
Contributor

kd-11 commented Jul 18, 2021

That would keep the pending_file usage and abstract away the OS-specific crap from cellSaveData in this instance.

@elad335
Copy link
Contributor Author

elad335 commented Jul 18, 2021

It has usage in other places.

Copy link
Contributor

@kd-11 kd-11 left a comment

Choose a reason for hiding this comment

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

lgtm

@Megamouse Megamouse merged commit a5c3c7d into RPCS3:master Jul 18, 2021
@elad335 elad335 deleted the patch-16 branch September 19, 2022 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Optimization Optimizes existing code OS: Linux Savedata Anything that involves cellSaveData
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Regression][Linux] Extremely slow save op IO
3 participants