]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mon: reduce CPU and memory manager pressure of pg health check 7482/head
authorPiotr Dałek <piotr.dalek@ts.fujitsu.com>
Tue, 2 Feb 2016 08:47:51 +0000 (09:47 +0100)
committerPiotr Dałek <piotr.dalek@ts.fujitsu.com>
Tue, 2 Feb 2016 14:09:27 +0000 (15:09 +0100)
commit9c95bb0454dbad781b6655f4c7116620005101f7
treee0a13a76020595d2de79f77dd58116a86ec5735e
parent73651d9e96be829295ee4f7f4b82d3cafa2c5986
mon: reduce CPU and memory manager pressure of pg health check

When we don't need details about which PGs are stuck, we can just iterate
once over pg_stat map and increase appropriate counters, no need to
repeatedly spam memory manager with stuck_pgs map population (we'll only
use its size). Even if we need details, first check if we actually have any
PGs in any of requested states, so in most cases we won't iterate needlessly
five times over all PG stat map.

This at least halves the time needed by pg health gathering (~3ms,
down from ~6-7ms) on cluster with 31832 PGs and Intel Xeon E5-2640
CPU.

Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
src/mon/PGMap.cc
src/mon/PGMap.h
src/mon/PGMonitor.cc