@@ -279,6 +279,7 @@ options:
279279 --crimson-alien-num-cores: number of cpus to use for alien threads
280280 --crimson-alienstore-physical-only: use only one cpu per physical core for alienstore
281281 --crimson-balance-cpu: distribute the Seastar reactors uniformly across OSDs (osd) or NUMA (socket)
282+ --crimson-poll-mode: enable poll-mode (100% cpu usage)
282283 --osds-per-host: populate crush_location as each host holds the specified number of osds if set
283284 --require-osd-and-client-version: if supplied, do set-require-min-compat-client and require-osd-release to specified value
284285 --use-crush-tunables: if supplied, set tunables to specified value
@@ -385,6 +386,7 @@ crimson_reactor_physical_only=0
385386crimson_alien_num_cores=0
386387crimson_alienstore_physical_only=0
387388crimson_balance_cpu=" " # "osd", "socket"
389+ crimson_poll_mode=false
388390
389391while [ $# -ge 1 ]; do
390392case $1 in
@@ -634,6 +636,10 @@ case $1 in
634636 crimson_balance_cpu=$2
635637 shift
636638 ;;
639+ --crimson-poll-mode)
640+ crimson_poll_mode=true
641+ shift
642+ ;;
637643 --bluestore-spdk)
638644 [ -z " $2 " ] && usage_exit
639645 IFS=' ,' read -r -a bluestore_spdk_dev <<< " $2"
@@ -1254,6 +1260,10 @@ start_osd() {
12541260 do
12551261 if [ " $ceph_osd " == " crimson-osd" ]; then
12561262 do_balance_cpu $osd
1263+ if $crimson_poll_mode ; then
1264+ echo " $CEPH_BIN /ceph -c $conf_fn config set osd.$osd crimson_poll_mode true"
1265+ $CEPH_BIN /ceph -c $conf_fn config set " osd.$osd " crimson_poll_mode true
1266+ fi
12571267 fi
12581268 if [ " $new " -eq 1 -o $inc_osd_num -gt 0 ]; then
12591269 wconf << EOF
0 commit comments