virprocess: Debug affinity map in virProcessSetAffinity()

The aim of virProcessSetAffinity() is to set affinity of given
process to given CPUs. While we currently print the PID into
logs, the CPU map is not printed. It may help when debugging
weird scenarios.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Michal Privoznik 2024-05-16 13:19:32 +02:00
parent 095f22db21
commit 0f5ce3afd4

View File

@ -452,8 +452,9 @@ int virProcessSetAffinity(pid_t pid,
{ {
size_t i; size_t i;
cpuset_t mask; cpuset_t mask;
g_autofree char *mapStr = virBitmapFormat(map);
VIR_DEBUG("Set process affinity on %lld", (long long)pid); VIR_DEBUG("Set process affinity on %1$lld to %2$s", (long long)pid, mapStr);
CPU_ZERO(&mask); CPU_ZERO(&mask);
for (i = 0; i < virBitmapSize(map); i++) { for (i = 0; i < virBitmapSize(map); i++) {
@ -509,8 +510,9 @@ int virProcessSetAffinity(pid_t pid, virBitmap *map, bool quiet)
size_t masklen; size_t masklen;
cpu_set_t *mask; cpu_set_t *mask;
int rv = -1; int rv = -1;
g_autofree char *mapStr = virBitmapFormat(map);
VIR_DEBUG("Set process affinity on %lld", (long long)pid); VIR_DEBUG("Set process affinity on %1$lld to %2$s", (long long)pid, mapStr);
/* Not only may the statically allocated cpu_set_t be too small, /* Not only may the statically allocated cpu_set_t be too small,
* but there is no way to ask the kernel what size is large enough. * but there is no way to ask the kernel what size is large enough.