Skip to content

Commit 69ea9d3

Browse files
lyakhkv2019i
authored andcommitted
schedule: make 2 initialisation functions __cold
scheduler_register() and scheduler_init() are never called on hot paths, make them cold. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
1 parent 4e3771a commit 69ea9d3

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

src/schedule/schedule.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,13 @@ int schedule_task_init(struct task *task,
8181
return 0;
8282
}
8383

84-
static void scheduler_register(struct schedule_data *scheduler)
84+
__cold static void scheduler_register(struct schedule_data *scheduler)
8585
{
8686
struct schedulers **sch = arch_schedulers_get();
8787
struct k_heap *heap = NULL;
8888

89+
assert_can_be_cold();
90+
8991
if (IS_ENABLED(CONFIG_SOF_USERSPACE_LL) && scheduler_is_user(scheduler->type)) {
9092
sch = arch_user_schedulers_get();
9193
heap = sof_sys_user_heap_get();
@@ -105,11 +107,13 @@ static void scheduler_register(struct schedule_data *scheduler)
105107
list_item_append(&scheduler->list, &(*sch)->list);
106108
}
107109

108-
void scheduler_init(int type, const struct scheduler_ops *ops, void *data)
110+
__cold void scheduler_init(int type, const struct scheduler_ops *ops, void *data)
109111
{
110112
struct schedule_data *sch;
111113
struct k_heap *heap = NULL;
112114

115+
assert_can_be_cold();
116+
113117
if (IS_ENABLED(CONFIG_SOF_USERSPACE_LL) && scheduler_is_user(type))
114118
heap = sof_sys_user_heap_get();
115119

0 commit comments

Comments
 (0)