We (DAOS) used to call spdk_env_init() with default ‘core_mask’ “0x1” to initialize DPDK
EAL, during recent tests, we realized that performance can be boosted a lot by changing
the ‘core_mask’ to some other value like ‘0x8’, so I’m wondering if it because some sort
of DPDK service thread was stealing CPU cycles from DAOS service thread, and when the
“core_mask” is changed, the DPDK thread is happen to be created on some unused core? But I
didn’t observe any suspicious thread by ‘ps’ command (with core_mask ‘0x1’ or ‘0x8’).
So my question is what this ‘core_mask’ is used for? I suppose it’s not useful for our
server (we have our own polling thread and user level scheduler), is there any way to
disable it? What’s the best practice of this ‘core_mask’ configuration for SPDK apps?
Show replies by date