mirror of
https://github.com/ceph/ceph
synced 2025-03-07 16:58:39 +00:00
osd: OSDShard: sdata_lock -> sdata_wait_lock
This is only used for waiting. Signed-off-by: Sage Weil <sage@redhat.com>
This commit is contained in:
parent
0c2970f0aa
commit
20f6a86ac5
@ -9434,9 +9434,9 @@ void OSDShard::consume_map(
|
||||
++p;
|
||||
}
|
||||
if (queued) {
|
||||
sdata_lock.Lock();
|
||||
sdata_wait_lock.Lock();
|
||||
sdata_cond.SignalOne();
|
||||
sdata_lock.Unlock();
|
||||
sdata_wait_lock.Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
@ -9559,9 +9559,9 @@ void OSDShard::register_and_wake_split_child(PG *pg)
|
||||
_attach_pg(slot, pg);
|
||||
_wake_pg_slot(pg->pg_id, slot);
|
||||
}
|
||||
sdata_lock.Lock();
|
||||
sdata_wait_lock.Lock();
|
||||
sdata_cond.SignalOne();
|
||||
sdata_lock.Unlock();
|
||||
sdata_wait_lock.Unlock();
|
||||
}
|
||||
|
||||
void OSDShard::unprime_split_children(spg_t parent, unsigned old_pg_num)
|
||||
@ -9619,13 +9619,13 @@ void OSD::ShardedOpWQ::_process(uint32_t thread_index, heartbeat_handle_d *hb)
|
||||
// peek at spg_t
|
||||
sdata->sdata_op_ordering_lock.Lock();
|
||||
if (sdata->pqueue->empty()) {
|
||||
sdata->sdata_lock.Lock();
|
||||
sdata->sdata_wait_lock.Lock();
|
||||
if (!sdata->stop_waiting) {
|
||||
dout(20) << __func__ << " empty q, waiting" << dendl;
|
||||
osd->cct->get_heartbeat_map()->clear_timeout(hb);
|
||||
sdata->sdata_op_ordering_lock.Unlock();
|
||||
sdata->sdata_cond.Wait(sdata->sdata_lock);
|
||||
sdata->sdata_lock.Unlock();
|
||||
sdata->sdata_cond.Wait(sdata->sdata_wait_lock);
|
||||
sdata->sdata_wait_lock.Unlock();
|
||||
sdata->sdata_op_ordering_lock.Lock();
|
||||
if (sdata->pqueue->empty()) {
|
||||
sdata->sdata_op_ordering_lock.Unlock();
|
||||
@ -9635,7 +9635,7 @@ void OSD::ShardedOpWQ::_process(uint32_t thread_index, heartbeat_handle_d *hb)
|
||||
osd->cct->_conf->threadpool_default_timeout, 0);
|
||||
} else {
|
||||
dout(0) << __func__ << " need return immediately" << dendl;
|
||||
sdata->sdata_lock.Unlock();
|
||||
sdata->sdata_wait_lock.Unlock();
|
||||
sdata->sdata_op_ordering_lock.Unlock();
|
||||
return;
|
||||
}
|
||||
@ -9882,9 +9882,9 @@ void OSD::ShardedOpWQ::_enqueue(OpQueueItem&& item) {
|
||||
item.get_owner(), priority, cost, std::move(item));
|
||||
sdata->sdata_op_ordering_lock.Unlock();
|
||||
|
||||
sdata->sdata_lock.Lock();
|
||||
sdata->sdata_wait_lock.Lock();
|
||||
sdata->sdata_cond.SignalOne();
|
||||
sdata->sdata_lock.Unlock();
|
||||
sdata->sdata_wait_lock.Unlock();
|
||||
|
||||
}
|
||||
|
||||
@ -9912,9 +9912,9 @@ void OSD::ShardedOpWQ::_enqueue_front(OpQueueItem&& item)
|
||||
}
|
||||
sdata->_enqueue_front(std::move(item), osd->op_prio_cutoff);
|
||||
sdata->sdata_op_ordering_lock.Unlock();
|
||||
sdata->sdata_lock.Lock();
|
||||
sdata->sdata_wait_lock.Lock();
|
||||
sdata->sdata_cond.SignalOne();
|
||||
sdata->sdata_lock.Unlock();
|
||||
sdata->sdata_wait_lock.Unlock();
|
||||
}
|
||||
|
||||
namespace ceph {
|
||||
|
@ -1108,8 +1108,8 @@ struct OSDShard {
|
||||
|
||||
string shard_name;
|
||||
|
||||
string sdata_lock_name;
|
||||
Mutex sdata_lock;
|
||||
string sdata_wait_lock_name;
|
||||
Mutex sdata_wait_lock;
|
||||
Cond sdata_cond;
|
||||
|
||||
string osdmap_lock_name;
|
||||
@ -1197,8 +1197,8 @@ struct OSDShard {
|
||||
cct(cct),
|
||||
osd(osd),
|
||||
shard_name(string("OSDShard.") + stringify(id)),
|
||||
sdata_lock_name(shard_name + "::sdata_lock"),
|
||||
sdata_lock(sdata_lock_name.c_str(), false, true, false, cct),
|
||||
sdata_wait_lock_name(shard_name + "::sdata_wait_lock"),
|
||||
sdata_wait_lock(sdata_wait_lock_name.c_str(), false, true, false, cct),
|
||||
osdmap_lock_name(shard_name + "::osdmap_lock"),
|
||||
osdmap_lock(osdmap_lock_name.c_str(), false, false),
|
||||
sdata_op_ordering_lock_name(shard_name + "::sdata_op_ordering_lock"),
|
||||
@ -1705,10 +1705,10 @@ protected:
|
||||
for(uint32_t i = 0; i < osd->num_shards; i++) {
|
||||
OSDShard* sdata = osd->shards[i];
|
||||
assert (NULL != sdata);
|
||||
sdata->sdata_lock.Lock();
|
||||
sdata->sdata_wait_lock.Lock();
|
||||
sdata->stop_waiting = true;
|
||||
sdata->sdata_cond.Signal();
|
||||
sdata->sdata_lock.Unlock();
|
||||
sdata->sdata_wait_lock.Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1716,9 +1716,9 @@ protected:
|
||||
for(uint32_t i = 0; i < osd->num_shards; i++) {
|
||||
OSDShard* sdata = osd->shards[i];
|
||||
assert (NULL != sdata);
|
||||
sdata->sdata_lock.Lock();
|
||||
sdata->sdata_wait_lock.Lock();
|
||||
sdata->stop_waiting = false;
|
||||
sdata->sdata_lock.Unlock();
|
||||
sdata->sdata_wait_lock.Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user