Note: Phoronix incorrectly reported this as a rust scheduler. There's a very small user space component written in rust, but the vast majority of the actual scheduling logic is written in C (i.e. as the BPF program)…
Thanks for the vote of confidence! We agree, and have had a great time writing it. If you'd like to play around with it, take a look at https://github.com/sched-ext/scx. LWN wrote a nice article on this as well a while…
>There are absolutely things I'd be comfortable writing in Rust and not in C because I'd very likely mess up the C implementation. Rust encourages and lowers the cost for certain algorithms and implementations. I share…
Correct -- the purpose of the watchdog is to account for buggy schedulers that fail to schedule runnable tasks. scx_rustland has special logic to track the user-space scheduling task, though. If it incorrectly failed to…
The scx_userland scheduler itself knows which task in user space is the scheduler task, and schedules it when it doesn't have any more runnable tasks to dispatch from the kernel:…
Sorry? This is completely false. It is highly CPU bound. Especially front-end CPU pipeline bound.
Not sure if there's a full user space runtime for BPF progs, but there are lots of user space tools which are useful for working with BPF progs. For example, you can use veristat (https://github.com/libbpf/veristat) to…
Note: Phoronix incorrectly reported this as a rust scheduler. There's a very small user space component written in rust, but the vast majority of the actual scheduling logic is written in C (i.e. as the BPF program)…
Thanks for the vote of confidence! We agree, and have had a great time writing it. If you'd like to play around with it, take a look at https://github.com/sched-ext/scx. LWN wrote a nice article on this as well a while…
>There are absolutely things I'd be comfortable writing in Rust and not in C because I'd very likely mess up the C implementation. Rust encourages and lowers the cost for certain algorithms and implementations. I share…
Correct -- the purpose of the watchdog is to account for buggy schedulers that fail to schedule runnable tasks. scx_rustland has special logic to track the user-space scheduling task, though. If it incorrectly failed to…
The scx_userland scheduler itself knows which task in user space is the scheduler task, and schedules it when it doesn't have any more runnable tasks to dispatch from the kernel:…
Sorry? This is completely false. It is highly CPU bound. Especially front-end CPU pipeline bound.
Not sure if there's a full user space runtime for BPF progs, but there are lots of user space tools which are useful for working with BPF progs. For example, you can use veristat (https://github.com/libbpf/veristat) to…