mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-20 14:35:06 +02:00
2bac648dab
Synchronize with https://github.com/sched-ext/scx at dc44584874f0 ("kernel: Synchronize with kernel tools/sched_ext"). - READ/WRITE_ONCE() is made more proper and READA_ONCE_ARENA() is dropped. - scale_by_task_weight[_inverse]() helpers added. - Enum defs expanded to cover more and new enums. - Don't trigger fatal error when some enums are missing from kernel BTF. Signed-off-by: Tejun Heo <tj@kernel.org>
29 lines
571 B
C
29 lines
571 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Define struct scx_enums that stores the load-time values of enums
|
|
* used by the BPF program.
|
|
*
|
|
* Copyright (c) 2024 Meta Platforms, Inc. and affiliates.
|
|
*/
|
|
|
|
#ifndef __SCX_ENUMS_H
|
|
#define __SCX_ENUMS_H
|
|
|
|
static inline void __ENUM_set(u64 *val, char *type, char *name)
|
|
{
|
|
bool res;
|
|
|
|
res = __COMPAT_read_enum(type, name, val);
|
|
if (!res)
|
|
*val = 0;
|
|
}
|
|
|
|
#define SCX_ENUM_SET(skel, type, name) do { \
|
|
__ENUM_set(&skel->rodata->__##name, #type, #name); \
|
|
} while (0)
|
|
|
|
|
|
#include "enums.autogen.h"
|
|
|
|
#endif /* __SCX_ENUMS_H */
|