MCPcopy Create free account
hub / github.com/ceph/ceph / reset_throttle

Method reset_throttle

src/msg/async/ProtocolV2.cc:291–320  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

289}
290
291void ProtocolV2::reset_throttle() {
292 if (state > THROTTLE_MESSAGE && state <= THROTTLE_DONE &&
293 connection->policy.throttler_messages) {
294 ldout(cct, 10) << __func__ << " releasing " << 1
295 << " message to policy throttler "
296 << connection->policy.throttler_messages->get_current()
297 << "/" << connection->policy.throttler_messages->get_max()
298 << dendl;
299 connection->policy.throttler_messages->put();
300 }
301 if (state > THROTTLE_BYTES && state <= THROTTLE_DONE) {
302 if (connection->policy.throttler_bytes) {
303 const size_t cur_msg_size = get_current_msg_size();
304 ldout(cct, 10) << __func__ << " releasing " << cur_msg_size
305 << " bytes to policy throttler "
306 << connection->policy.throttler_bytes->get_current() << "/"
307 << connection->policy.throttler_bytes->get_max() << dendl;
308 connection->policy.throttler_bytes->put(cur_msg_size);
309 }
310 }
311 if (state > THROTTLE_DISPATCH_QUEUE && state <= THROTTLE_DONE) {
312 const size_t cur_msg_size = get_current_msg_size();
313 ldout(cct, 10)
314 << __func__ << " releasing " << cur_msg_size
315 << " bytes to dispatch_queue throttler "
316 << connection->dispatch_queue->dispatch_throttler.get_current() << "/"
317 << connection->dispatch_queue->dispatch_throttler.get_max() << dendl;
318 connection->dispatch_queue->dispatch_throttle_release(cur_msg_size);
319 }
320}
321
322CtPtr ProtocolV2::_fault() {
323 ldout(cct, 10) << __func__ << dendl;

Callers

nothing calls this directly

Calls 4

get_currentMethod · 0.45
get_maxMethod · 0.45
putMethod · 0.45

Tested by

no test coverage detected