Thread (3 messages) 3 messages, 3 authors, 2025-01-22

Re: [Lsf-pc] [LSF/MM/BPF TOPIC] Rust block layer abstractions and benchmark strategies

From: Niklas Cassel <cassel@kernel.org>
Date: 2025-01-22 09:52:26

Hello Andreas,

On Tue, Jan 21, 2025 at 01:51:11PM +0100, Andreas Hindborg wrote:
Hi Jan,

"Jan Kara" [off-list ref] writes:
quoted
Hi!

On Tue 21-01-25 12:13:48, Andreas Hindborg via Lsf-pc wrote:
quoted
I would like to propose that we have a session on Rust in the block
layer again this year. Specifically I would like to discuss some rather
puzzling results I observe when I benchmark the C and Rust null block
drivers. I did a write up of the challenges I face at [1]. The
observations are not tied to rust, they also manifest in the C driver.
The results are indeed somewhat curious. One factor I didn't see addressed
in your blog is CPU scheduling. I've seen in the past cases where IO tasks
were getting migrated across cores leading to jumps in perfomance. Did you
try binding fio jobs to one CPU each?
Yes, I am pinning the io jobs to cores with fio options `cpus_allowed=0-<jobs>`
and `--cpus_allowed_policy=split` so I get 1 job per core.

The kernel is configured with PREEMPT_NONE=y.
"I also cover a problem with the benchmark results that manifested during
testing for v6.12-rc2."

I assume that all the results on:
https://metaspace.github.io/2024/12/02/problems-in-benchmark-land.html

are with kernel v6.12-rc2 ?

It would be interesting to test an older kernel version, and see if it
is e.g. a scheduler bug.


You might also want to test with this series applied (which landed last
minute before v6.13 was tagged):
https://lore.kernel.org/lkml/20250119110410.GAZ4zcKkx5sCjD5XvH@fat_crate.local/T/#u (local)


It fixes bugs that were introduced in v6.12-rc1 and v6.7-rc2 respectively.


Kind regards,
Niklas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help