]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: set affinity for *all* threads 31359/head
authorSage Weil <sage@redhat.com>
Thu, 3 Oct 2019 15:04:19 +0000 (10:04 -0500)
committerNathan Cutler <ncutler@suse.com>
Mon, 4 Nov 2019 14:00:38 +0000 (15:00 +0100)
commite1ab77034ef558f2c504f7fa98e967cc06801353
treedac55044f15ed5ec51175710b1a523fb01e37c84
parenta0e157401d92c13adaf92fd8fbade40c60f0bf09
osd: set affinity for *all* threads

It turns out schedule_setaffinity(2) only sets the current *thread*'s
affinity, not the entire process.  Look in /proc to identify all of our
children and map those, too.

Note that this doesn't seem to affect the numa_preferred_nid value in
/proc/$pid/[task/$tid/]sched... at least not immediately.  That value does
seem to change for some threads after some load is applied.

Fixes: https://tracker.ceph.com/issues/42054
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit abaed06ffe4d3ea2f052192fad87242880188f3c)
src/common/numa.cc
src/common/numa.h
src/osd/OSD.cc