int cpu_set_from_dbus(const uint8_t *bits, size_t size, CPUSet *ret);
int cpus_in_affinity_mask(void);
+
+static inline size_t cpu_set_count(const CPUSet *c) {
+ if (!c)
+ return 0;
+ if (c->allocated <= 0)
+ return 0;
+ return CPU_COUNT_S(c->allocated, c->set);
+}
if (policy->nodes.set &&
numa_policy_get_type(policy) == MPOL_PREFERRED &&
- CPU_COUNT_S(policy->nodes.allocated, policy->nodes.set) != 1)
+ cpu_set_count(&policy->nodes) != 1)
return false;
return true;
#define ASSERT_CPUSET_COUNT(c, n) \
ASSERT_NOT_NULL(c.set); \
ASSERT_GE(c.allocated, CPU_ALLOC_SIZE(n)); \
- ASSERT_EQ(CPU_COUNT_S(c.allocated, c.set), (n))
+ ASSERT_EQ(CPU_COUNT_S(c.allocated, c.set), (n)); \
+ ASSERT_EQ(cpu_set_count(&c), (size_t) (n))
#define ASSERT_CPUSET_ISSET(c, i) \
ASSERT_TRUE(CPU_ISSET_S(i, c.allocated, c.set));