when enable dpdk, if set ms_async_op_threads
value greater than 1 at "ceph.conf" file,
then osd can not work.
Signed-off-by: zhangyongsheng <ptozys@gmail.com>
// cores
ceph_assert(rte_lcore_count() >= i + 1);
unsigned core_id;
+ int j = i;
RTE_LCORE_FOREACH_SLAVE(core_id) {
if (i-- == 0) {
break;
}
}
dpdk::eal::execute_on_master([&]() {
- r = rte_eal_remote_launch(dpdk_thread_adaptor, static_cast<void*>(&funcs[i]), core_id);
+ r = rte_eal_remote_launch(dpdk_thread_adaptor, static_cast<void*>(&funcs[j]), core_id);
if (r < 0) {
lderr(cct) << __func__ << " remote launch failed, r=" << r << dendl;
ceph_abort();