Hi.
Already have the necessary changes in git.
https://github.com/ceph/ceph/commit/86926c6089d63014dd770b4bb61fc7aca39985422014-10-23 16:42 GMT+04:00 Paweł Sadowski <ceph@xxxxxxxxx>:
Following patch corrects problem:On 10/23/2014 09:10 AM, Paweł Sadowski wrote:
> Hi,
>
> I was trying to determine performance impact of deep-scrubbing with
> osd_disk_thread_ioprio_class option set but it looks like it's ignored.
> Performance (during deep-scrub) is the same with this options set or
> left with defaults (1/3 of "normal" performance).
>
>
> # ceph --admin-daemon /var/run/ceph/ceph-osd.26.asok config show | grep
> osd_disk_thread_ioprio
> "osd_disk_thread_ioprio_class": "idle",
> "osd_disk_thread_ioprio_priority": "7",
>
> # ps -efL | grep 'ce[p]h-osd --cluster=ceph -i 26' | awk '{ print $4; }'
> | xargs --no-run-if-empty ionice -p | sort | uniq -c
> 18 unknown: prio 0
> 186 unknown: prio 4
>
> # cat /sys/class/block/sdf/queue/scheduler
> noop deadline [cfq]
>
> And finallyGDB:
>
> Breakpoint 1, ceph_ioprio_string_to_class (s=...) at
> common/io_priority.cc:48
> warning: Source file is more recent than executable.
> 48 return IOPRIO_CLASS_IDLE;
> (gdb) cont
> Continuing.
>
> Breakpoint 2, OSD::set_disk_tp_priority (this=0x3398000) at osd/OSD.cc:8548
> warning: Source file is more recent than executable.
> 8548 disk_tp.set_ioprio(cls,
> cct->_conf->osd_disk_thread_ioprio_priority);
> (gdb) print cls
> $1 = -22
>
> So the IO priorities are *NOT*set (cls >= 0). I'm not sure where this
> -22 came from.Any ideas?
> In the mean time I'll compile ceph from sources and check again.
>
>
>
> Ceph installed from Ceph repositories:
>
> # ceph-osd -v
> ceph version 0.86 (97dcc0539dfa7dac3de74852305d51580b7b1f82)
>
> # apt-cache policy ceph
> ceph:
> Installed: 0.86-1precise
> Candidate: 0.86-1precise
> Version table:
> *** 0.86-1precise 0
> 500 http://eu.ceph.com/debian-giant/ precise/main amd64 Packages
> 100 /var/lib/dpkg/status
diff --git a/src/common/io_priority.cc b/src/common/io_priority
index b9eeae8..4cd299a 100644
--- a/src/common/io_priority.cc
+++ b/src/common/io_priority.cc
@@ -41,7 +41,7 @@ int ceph_ioprio_set(int whence, int who, int
int ceph_ioprio_string_to_class(const std::string& s)
{
- std::string l;
+ std::string l(s);
std::transform(s.begin(), s.end(), l.begin(), ::tolower);
if (l == "idle")
# ps -efL | grep 'ce[p]h-osd --cluster=ceph -i 26' | awk '{ print $4; }'
| xargs --no-run-if-empty ionice -p | sort | uniq -c
1 idle
4 unknown: prio 0
183 unknown: prio 4
Change to *best effort* (ceph tell osd.26 injectargs
'--osd_disk_thread_ioprio_class be')
# ps -efL | grep 'ce[p]h-osd --cluster=ceph -i 26' | awk '{ print $4; }'
| xargs --no-run-if-empty ionice -p | sort | uniq -c
1 best-effort: prio 7
4 unknown: prio 0
183 unknown: prio 4
--
PS
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
С уважением, Фасихов Ирек Нургаязович
Моб.: +79229045757
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com