Explore and implement core mask for librbd IO context threads in bdev_rbd_register_cluster RPC
- Dominant language
- Python
- Stars
- 132
- Forks
- 69
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 52
Description
Seems like we have an unexplored parameter `**--core-mask CORE_MASK**` in bdev_rbd_register_cluster RPC which will allow us to set core mask for librbd IO context threads as below. This will help improving performance when introduced while creating cluster context. This is good to explore and design as per several requirements.
```
./scripts/rpc.py bdev_rbd_register_cluster -h
usage: rpc.py [options] bdev_rbd_register_cluster [-h] [--user USER] [--config-param key=value] [--config-file CONFIG_FILE] [--key-file KEY_FILE] [--core-mask CORE_MASK] name
positional arguments:
name Name of the Rados cluster only known to rbd bdev
optional arguments:
-h, --help show this help message and exit
--user USER Ceph user name (i.e. admin, not client.admin)
--config-param key=value
adds a key=value configuration option for rados_conf_set (default: rely on config file)
--config-file CONFIG_FILE
The file path of the Rados configuration file
--key-file KEY_FILE The file path of the Rados keyring file
--core-mask CORE_MASK
Set core mask for librbd IO context threads
```
Note that **this core-mask should be different from the cpumask** we define in tgt_cmd_extra_args which starts SPDK reactors. So there is no contention between SPDK reactor threads and librbd threads
Contributor guide
Assessment
This issue has not been assessed yet.