scx_cmask
void scx_cmask_clear(struct scx_cmask *m)
void scx_cmask_fill(struct scx_cmask *m)
void scx_cpumask_to_cmask(const struct cpumask *src, struct scx_cmask *dst)
void scx_cmask_and(struct scx_cmask *dst, const struct scx_cmask *src)
void scx_cmask_or(struct scx_cmask *dst, const struct scx_cmask *src)
void scx_cmask_or_racy(struct scx_cmask *dst, const struct scx_cmask *src)
void scx_cmask_copy(struct scx_cmask *dst, const struct scx_cmask *src)
void scx_cmask_copy_racy(struct scx_cmask *dst, const struct scx_cmask *src)
void scx_cmask_andnot(struct scx_cmask *dst, const struct scx_cmask *src)
static bool cmask_any_set_in_range(const struct scx_cmask *cm, u32 lo, u32 hi)
bool scx_cmask_subset(const struct scx_cmask *sub, const struct scx_cmask *super)
bool scx_cmask_intersects(const struct scx_cmask *a, const struct scx_cmask *b)
bool scx_cmask_empty(const struct scx_cmask *m)
static inline bool __scx_cmask_contains(u32 cid, const struct scx_cmask *m)
static inline u64 *__scx_cmask_word(u32 cid, const struct scx_cmask *m)
static inline void __scx_cmask_init(struct scx_cmask *m, u32 base, u32 nr_cids,
static inline void scx_cmask_init(struct scx_cmask *m, u32 base, u32 nr_cids)
static inline void scx_cmask_reframe(struct scx_cmask *m, u32 base, u32 nr_cids)
static inline void __scx_cmask_set(u32 cid, struct scx_cmask *m)
static inline bool scx_cmask_test(u32 cid, const struct scx_cmask *m)
static inline u32 scx_cmask_nr_used_words(const struct scx_cmask *m)
void scx_cmask_clear(struct scx_cmask *m);
void scx_cmask_fill(struct scx_cmask *m);
void scx_cmask_and(struct scx_cmask *dst, const struct scx_cmask *src);
void scx_cmask_or(struct scx_cmask *dst, const struct scx_cmask *src);
void scx_cmask_or_racy(struct scx_cmask *dst, const struct scx_cmask *src);
void scx_cmask_copy(struct scx_cmask *dst, const struct scx_cmask *src);
void scx_cmask_copy_racy(struct scx_cmask *dst, const struct scx_cmask *src);
void scx_cmask_andnot(struct scx_cmask *dst, const struct scx_cmask *src);
bool scx_cmask_subset(const struct scx_cmask *sub, const struct scx_cmask *super);
bool scx_cmask_intersects(const struct scx_cmask *a, const struct scx_cmask *b);
bool scx_cmask_empty(const struct scx_cmask *m);
void scx_cpumask_to_cmask(const struct cpumask *src, struct scx_cmask *dst);
size_t size = struct_size_t(struct scx_cmask, bits,
sch->set_cmask_scratch = alloc_percpu(struct scx_cmask *);
struct scx_cmask **slot = per_cpu_ptr(sch->set_cmask_scratch, cpu);
size_t size = struct_size_t(struct scx_cmask, bits,
struct scx_cmask **slot = per_cpu_ptr(sch->set_cmask_scratch, cpu);
struct scx_cmask *kern_va = *this_cpu_ptr(sch->set_cmask_scratch);
const struct scx_cmask *cmask) {}
struct scx_cmask * __percpu *set_cmask_scratch;
const struct scx_cmask *cmask);
_DEFINE_FLEX(struct scx_cmask, NAME, bits, SCX_CMASK_NR_WORDS(ALLOC_CIDS), \
static __always_inline void cmask_reframe(struct scx_cmask __arena *m, u32 base, u32 nr_cids)
static __always_inline bool cmask_test(u32 cid, const struct scx_cmask __arena *m)
static __always_inline void cmask_set(u32 cid, struct scx_cmask __arena *m)
static __always_inline void cmask_clear(u32 cid, struct scx_cmask __arena *m)
static __always_inline bool cmask_test_and_set(u32 cid, struct scx_cmask __arena *m)
static __always_inline bool cmask_test_and_clear(u32 cid, struct scx_cmask __arena *m)
static __always_inline void __cmask_set(u32 cid, struct scx_cmask __arena *m)
static __always_inline void __cmask_clear(u32 cid, struct scx_cmask __arena *m)
static __always_inline bool __cmask_test_and_set(u32 cid, struct scx_cmask __arena *m)
static __always_inline bool __cmask_test_and_clear(u32 cid, struct scx_cmask __arena *m)
static __always_inline void cmask_zero(struct scx_cmask __arena *m)
static __always_inline void cmask_op_word(struct scx_cmask __arena *dst,
const struct scx_cmask __arena *src,
static __always_inline void cmask_op(struct scx_cmask __arena *dst,
const struct scx_cmask __arena *src, int op)
static __always_inline void cmask_and(struct scx_cmask __arena *dst,
const struct scx_cmask __arena *src)
static __always_inline void cmask_or(struct scx_cmask __arena *dst,
const struct scx_cmask __arena *src)
static __always_inline void cmask_copy(struct scx_cmask __arena *dst,
const struct scx_cmask __arena *src)
static __always_inline void cmask_andnot(struct scx_cmask __arena *dst,
const struct scx_cmask __arena *src)
static __always_inline bool cmask_equal(const struct scx_cmask __arena *a,
const struct scx_cmask __arena *b)
static __always_inline u32 cmask_next_set(const struct scx_cmask __arena *m, u32 cid)
static __always_inline bool __cmask_contains(u32 cid, const struct scx_cmask __arena *m)
static __always_inline u32 cmask_first_set(const struct scx_cmask __arena *m)
static __always_inline bool cmask_subset(const struct scx_cmask __arena *a,
const struct scx_cmask __arena *b)
static __always_inline u64 __arena *__cmask_word(u32 cid, const struct scx_cmask __arena *m)
static __always_inline u32 cmask_weight(const struct scx_cmask __arena *m)
static __always_inline bool cmask_intersects(const struct scx_cmask __arena *a,
const struct scx_cmask __arena *b)
static __always_inline u32 cmask_next_and_set(const struct scx_cmask __arena *a,
const struct scx_cmask __arena *b,
static __always_inline void __cmask_init(struct scx_cmask __arena *m, u32 base,
static __always_inline u32 cmask_next_set_wrap(const struct scx_cmask __arena *m,
static __always_inline u32 cmask_next_and_set_wrap(const struct scx_cmask __arena *a,
const struct scx_cmask __arena *b,
static __always_inline void cmask_from_cpumask(struct scx_cmask __arena *m,
static __always_inline void cmask_init(struct scx_cmask __arena *m, u32 base, u32 nr_cids)
struct scx_cmask cpus_allowed; /* per-task affinity in cid space */
const struct scx_cmask *cmask_in)
struct scx_cmask __arena *cmask = (struct scx_cmask __arena *)(long)cmask_in;
struct scx_cmask __arena *qa_idle_cids;