Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
manifault
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
manifault
2y ago
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) which runs in kerne
2.
▲
by
manifault
3y ago
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
3.
▲
by
manifault
3y ago
>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 your sen
4.
▲
by
manifault
3y ago
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 schedule it when it
5.
▲
by
manifault
3y ago
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: https://github.com/sched-ext/scx&#x
6.
▲
by
manifault
3y ago
Sorry? This is completely false. It is highly CPU bound. Especially front-end CPU pipeline bound.
7.
▲
by
manifault
3y ago
Sure, whatever. "Offloading" was perhaps a poor choice of wording, but it is related to the standardization efforts. The NVMe vendors don't want to be calling out to BPF programs in the driver if the runtime semantics are not
8.
▲
by
manifault
3y ago
I'm not closely tied to what the NVMe vendors want, so you could be right, but I very much doubt you are given that Christoph didn't flag this when he reviewed the article. Edit: And to be clear, from my understanding of XRP, the
9.
▲
by
manifault
3y ago
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