]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: add an option to prioritize heartbeat traffic
authorJian Wen <wenjian@letv.com>
Thu, 8 Jan 2015 08:54:23 +0000 (16:54 +0800)
committerJian Wen <wenjian@letv.com>
Mon, 12 Jan 2015 05:45:20 +0000 (13:45 +0800)
commit4aa02f8472ae068d826fdce30df68d9d30f3a0cf
tree29c713a9435baa8b2d52b668fabd6b592b510cf6
parent538bad38d37b851c4b3e851252fe4e77eb8413de
osd: add an option to prioritize heartbeat traffic

By default every hardware queue of a network interface is assigned a
pfifo_fast QDisc. When network congestion occurs, the data traffic may
starve out the heartbeat traffic.

To make sure that heartbeat packets are always transmitted(dequeued) first,
Setting the SO_PRIORITY as 6 for the sockets that are used to transmit
heartbeat messages. The length of heartbeat messages are small. And an
OSD Daemon doesn't ping its peers very often. So the heartbeat traffic
is not likely to starve out the data traffic.

Using fq_codel instead of pfifo_fast is another good choice to avoid
bufferbloat. It's not available until Linux 3.5 though.

Signed-off-by: Jian Wen <wenjianhn@gmail.com>
src/ceph_osd.cc
src/common/config_opts.h
src/msg/Messenger.h
src/msg/simple/Accepter.cc
src/msg/simple/Pipe.cc