Announcement

Collapse
No announcement yet.

Rust-Written LAVD Kernel Scheduler Shows Promising Results For Linux Gaming

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • EphemeralEft
    replied
    Originally posted by Mathias View Post

    Everyone hates it. Better then the native schedulers, no memory corruption, live reload, .... Why is this technology so good? It should be banned. Like Javascript from webpages. How dare people put interactive stuff on the web?
    I think you misunderstood my analogy. HTML/CSS is like user-space, Javascript is like BPF, and the web engine is like the kernel. Saying that BPF is good because it can't crash the kernel is like saying that Javascript is good because it can't crash the web browser. Ok, but the web engine is literally built to render the web page and if Javascript encounters an error the website is basically unusable anyway. Like BPF, Javascript has its uses (for example, interactive content), but when you build your entire stack on Javascript, your browser has to load 500+ dependencies and 5+MB per page. The redesigned Reddit is a choppy mess on my 2015 laptop, yet the old design is as performant as ever.

    Leave a comment:


  • Mathias
    replied
    Originally posted by EphemeralEft View Post

    I already hate it. That's like using Javascript to render a web page.
    Everyone hates it. Better then the native schedulers, no memory corruption, live reload, .... Why is this technology so good? It should be banned. Like Javascript from webpages. How dare people put interactive stuff on the web?

    Leave a comment:


  • skeevy420
    replied
    Originally posted by EphemeralEft View Post
    Wait, this article is pretty similar to a different one from a few months ago.

    This article: Rust-Written LAVD Kernel Scheduler Shows Promising Results For Linux Gaming

    Previous article: Rust-Written Linux Scheduler Showing Promising Results For Gaming Performance

    I don't think they're talking about the same thing, either. The first one was called "scx_rustland" and this one is called "LAVD".
    The full name for this is scx_lavd. It and scx_rustland are just some of the many SCX Rust Schedulers.

    Leave a comment:


  • Quackdoc
    replied
    unapproved T.T

    Leave a comment:


  • Quackdoc
    replied
    Originally posted by EphemeralEft View Post
    Wait, this article is pretty similar to a different one from a few months ago.

    This article: Rust-Written LAVD Kernel Scheduler Shows Promising Results For Linux Gaming

    Previous article: Rust-Written Linux Scheduler Showing Promising Results For Gaming Performance

    I don't think they're talking about the same thing, either. The first one was called "scx_rustland" and this one is called "LAVD".
    they are similar. Both are scx schedulers. both are even in the same repo. you can swap between the two of them, see below

    Originally posted by Kjell View Post
    I find sched_ext schedulers confusing as they're supposedly loaded on demand instead of being the main scheduler (from my limited understanding)..

    Could you share the steps to make it work correctly with Arch Linux?
    you install a compatible kernel. then you install the schedulers. your scheduler will be EEVDF until you start an scx scheduler. then they take over. install guide on the git repo https://github.com/sched-ext/scx/blo....md#arch-linux is the best way. However I don't like using other repos since they can interefere with the AUR so I do

    #Only need one or the other kernel

    install scx capable kernel
    sudo pacman -U https://aur.cachyos.org/repo/x86_64/...64.pkg.tar.zst https://aur.cachyos.org/repo/x86_64/...64.pkg.tar.zst

    install cachyos kernels, note that these are different from the install guide. They are not vanilla kernels with the patches applied on top
    sudo pacman -U https://aur.cachyos.org/repo/x86_64/...64.pkg.tar.zst https://aur.cachyos.org/repo/x86_64/...64.pkg.tar.zst

    ##once installed then install schdulers, you can either get them from cachyOS like above, or get them from the AUR
    paru -S https://aur.archlinux.org/packages/scx-scheds-git
    After this it's just a matter of rebooting to the scx capable kernel. then you can run one of the schedulers, your options are below, I reccomend trying LAVD and Rustland first, but you can literally try any of them, these are executable binaries, just ctrl+c to stop the scheduler, and start a new one.
    Code:
    scx_central   scx_flatcg    scx_lavd      scx_layered   scx_nest      scx_pair      scx_qmap      scx_rlfifo    scx_rustland  scx_rusty     scx_simple    scx_userland
    ‚Äč

    Leave a comment:


  • RejectModernity
    replied
    Originally posted by Mathias View Post

    We don't *need* them. But from the slides:[/LIST][/LIST]Go ahead, write the same thing in C if you want. But the devs chose BPF, because it has benefits.
    They wrote it in Rust and Linux already accepted Rust

    Leave a comment:


  • dragorth
    replied
    Originally posted by Shnatsel View Post
    Yeah. If you look at the slide deck, the average FPS increases from 25 to 32, which is a 32% increase. That's massive, equivalent to a hardware upgrade indeed.

    It is likely that this is only a single workload that benefits this much, but even a 5% bump on average would be significant.
    So, there are a couple of workloads that are similar to gaming that can benefit from this. Game creation is on, Video creation, 3D modeling and sculpting all fall under this type of prioritization.

    I wouldn't mind seeing this tries on one purpose servers, either. For example, a web server whose sole role is web serving, could it benefit from such prioritization?

    Leave a comment:


  • EphemeralEft
    replied
    Wait, this article is pretty similar to a different one from a few months ago.

    This article: Rust-Written LAVD Kernel Scheduler Shows Promising Results For Linux Gaming

    Previous article: Rust-Written Linux Scheduler Showing Promising Results For Gaming Performance

    I don't think they're talking about the same thing, either. The first one was called "scx_rustland" and this one is called "LAVD".

    Leave a comment:


  • EphemeralEft
    replied
    Implemented as a BPF scheduler
    I already hate it. That's like using Javascript to render a web page.

    Leave a comment:


  • Sethox
    replied
    Originally posted by Mathias View Post
    Go ahead, write the same thing in C if you want. But the devs chose BPF, because it has benefits.
    The real question is, what percentage is the developer and what percentage is the language.

    Leave a comment:

Working...
X