The scheduler techpack sources are moved to kernel to ease the development. The weak symbol definitions for WALT functions are no longer required to cover the case of compiling kernel without syncing the scheduler techpack. So remove all the weak symbol references. Change-Id: Ief85bccd3dceaf60dda44aef9893b4138dc63380 Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
83 lines
1.7 KiB
C
83 lines
1.7 KiB
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
|
|
*/
|
|
|
|
#include "qc_vas.h"
|
|
|
|
#ifdef CONFIG_SCHED_WALT
|
|
static inline void __window_data(u32 *dst, u32 *src)
|
|
{
|
|
if (src)
|
|
memcpy(dst, src, nr_cpu_ids * sizeof(u32));
|
|
else
|
|
memset(dst, 0, nr_cpu_ids * sizeof(u32));
|
|
}
|
|
|
|
struct trace_seq;
|
|
const char *__window_print(struct trace_seq *p, const u32 *buf, int buf_len)
|
|
{
|
|
int i;
|
|
const char *ret = p->buffer + seq_buf_used(&p->seq);
|
|
|
|
for (i = 0; i < buf_len; i++)
|
|
trace_seq_printf(p, "%u ", buf[i]);
|
|
|
|
trace_seq_putc(p, 0);
|
|
|
|
return ret;
|
|
}
|
|
|
|
static inline s64 __rq_update_sum(struct rq *rq, bool curr, bool new)
|
|
{
|
|
if (curr)
|
|
if (new)
|
|
return rq->wrq.nt_curr_runnable_sum;
|
|
else
|
|
return rq->wrq.curr_runnable_sum;
|
|
else
|
|
if (new)
|
|
return rq->wrq.nt_prev_runnable_sum;
|
|
else
|
|
return rq->wrq.prev_runnable_sum;
|
|
}
|
|
|
|
static inline s64 __grp_update_sum(struct rq *rq, bool curr, bool new)
|
|
{
|
|
if (curr)
|
|
if (new)
|
|
return rq->wrq.grp_time.nt_curr_runnable_sum;
|
|
else
|
|
return rq->wrq.grp_time.curr_runnable_sum;
|
|
else
|
|
if (new)
|
|
return rq->wrq.grp_time.nt_prev_runnable_sum;
|
|
else
|
|
return rq->wrq.grp_time.prev_runnable_sum;
|
|
}
|
|
|
|
static inline s64
|
|
__get_update_sum(struct rq *rq, enum migrate_types migrate_type,
|
|
bool src, bool new, bool curr)
|
|
{
|
|
switch (migrate_type) {
|
|
case RQ_TO_GROUP:
|
|
if (src)
|
|
return __rq_update_sum(rq, curr, new);
|
|
else
|
|
return __grp_update_sum(rq, curr, new);
|
|
case GROUP_TO_RQ:
|
|
if (src)
|
|
return __grp_update_sum(rq, curr, new);
|
|
else
|
|
return __rq_update_sum(rq, curr, new);
|
|
default:
|
|
WARN_ON_ONCE(1);
|
|
return -1;
|
|
}
|
|
}
|
|
#endif
|
|
#define CREATE_TRACE_POINTS
|
|
#include "trace.h"
|
|
|