Project

General

Profile

Bug #47029

rdb qos don't work

Added by denise Lou about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
librbd
Target version:
% Done:

0%

Source:
Community (user)
Tags:
Backport:
Regression:
No
Severity:
2 - major
Reviewed:
08/19/2020
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

function code:
frist:
ImageRequestWQ<I>::needs_throttle
...
if (item->tokens_requested(flag, &tokens) &&
throttle->get<ImageRequestWQ<I>, ImageDispatchSpec<I>,
&ImageRequestWQ<I>::handle_throttle_ready>(
tokens, this, item, flag)) {
blocked = true;
} else {
item->set_throttled(flag);
}
...

iops TokenBucketThrottle riops TokenBucketThrottle and wiops TokenBucketThrottle are independenced,
iamge was blocked by wiops but not blocked iops.
although iops=500 wiops=400 riops=300
may be iops=700 or other,it was difficult to gauge...
Is it really designed like this?

second:
for (auto t : m_throttles) {
flag = t.first;
if (item->was_throttled(flag))
continue;
...

"item->was_throttled(flag)"
i guess, it judge image has a qos flag.is right?

Also available in: Atom PDF