ceph / ceph/ceph-nvmeof

Explore and implement core mask for librbd IO context threads in bdev_rbd_register_cluster RPC

Open
#331 0 comments 0 reactions 0 assignees View on GitHub
bug performance productization
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.