]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: set affinity for *all* threads 30712/head
authorSage Weil <sage@redhat.com>
Thu, 3 Oct 2019 15:04:19 +0000 (10:04 -0500)
committerSage Weil <sage@redhat.com>
Thu, 3 Oct 2019 15:29:50 +0000 (10:29 -0500)
commitabaed06ffe4d3ea2f052192fad87242880188f3c
treeaac04c9bce7ce585e6aa053873b04ea4bcfa2447
parent9ad000b75eab41ae91e28d620a52910053dc39bb
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>
src/common/numa.cc
src/common/numa.h
src/osd/OSD.cc