Coder Social home page Coder Social logo

Comments (4)

kakra avatar kakra commented on May 26, 2024

This has mainly been discussed here: #99

The behavior you observe is due to the introduction of watching IO PSI in the kernel which is global across all drives. You could try turning the kernel PSI feature off: Add psi=0 to your kernel command line (https://facebookmicrosites.github.io/psi/docs/overview). It may be possible that your kernel defaults to on.

This change actually included PSI support which fixed desktop stalls for most users: 200b19c

It was introduced because shader compilation is not actually a CPU-only thing, it also involves a lot of inefficient IO (it's actually not much IO but it is pretty random in the driver caches and thus inefficient, especially on btrfs).

from fossilize.

HansKristian-Work avatar HansKristian-Work commented on May 26, 2024

Yes, Fossilize has to go out of its way to not make other stuff go slow on the system, especially anything related to IO since we can quickly swarm IO caches when 10+ threads hammer out shader caches with non-ideal access patterns.

from fossilize.

kakra avatar kakra commented on May 26, 2024

@HansKristian-Work It may be possible that the dirty pages watcher is a bit too aggressive: If copying large files, dirty data is expected. Maybe it should watch PSI only, and if there is no PSI feature available, it should fall back to a less aggressive dirty pages watcher? Or just make that less aggressive in general?

Personally, I don't care if it pauses when running in the background. It's probably the foreground mode when people would care about it. That said, it works perfectly fine for me in background mode since that change back then - no issues whatsoever. Not sure if the Steam client already uses the control channel to actually switch to aggressive mode when running in foreground. But then again, when such a control option is implemented but Steam doesn't use it, this is probably a Steam bug, not a Fossilize bug.

from fossilize.

kakra avatar kakra commented on May 26, 2024

since we can quickly swarm IO caches when 10+ threads hammer out shader caches with non-ideal access patterns

That's actually the point here even when copying data on another drive... Fossilize needs to get out of the way of other software using the page cache - no matter if that's a different device.

from fossilize.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.