On Wed, Apr 30, 2025 at 06:28:49PM +0000, Gregory Etelson wrote: > Hello Harry, > > I've been experimenting with lcore workers. > > Please check out the new helloworld example: > [1]https://github.com/getelson-at-mellanox/rdpdk/blob/safe-q/examples/h > elloworld.rs > > There are 2 options for the example configuration: > > 1 Start RDPDK workers on the same cores as EAL: > cargo run --example helloworld -- -a <PCI address> -l 0,1,3,5 > 2 Start RDPDK workers on dedicated cores: > cargo run --example helloworld -- -a 0000:43:00.0 -l 0,1,3,5 -- -l > 2-8 >
Thanks for sharing. However, IMHO using EAL for thread management in rust is the wrong interface to expose. Instead, I believe we should be encouraging native rust thread management, and not exposing any DPDK threading APIs except those necessary to have rust threads work with DPDK, i.e. with an lcore ID. Many years ago when DPDK started, and in the C world, having DPDK as a runtime environment made sense, but times have changed and for Rust, there is a whole ecosystem out there already that we need to "play nice with", so having Rust (not DPDK) do all thread management is the way to go (again IMHO). /Bruce