cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cpufreq.h (983B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _LINUX_SCHED_CPUFREQ_H
      3#define _LINUX_SCHED_CPUFREQ_H
      4
      5#include <linux/types.h>
      6
      7/*
      8 * Interface between cpufreq drivers and the scheduler:
      9 */
     10
     11#define SCHED_CPUFREQ_IOWAIT	(1U << 0)
     12
     13#ifdef CONFIG_CPU_FREQ
     14struct cpufreq_policy;
     15
     16struct update_util_data {
     17       void (*func)(struct update_util_data *data, u64 time, unsigned int flags);
     18};
     19
     20void cpufreq_add_update_util_hook(int cpu, struct update_util_data *data,
     21                       void (*func)(struct update_util_data *data, u64 time,
     22				    unsigned int flags));
     23void cpufreq_remove_update_util_hook(int cpu);
     24bool cpufreq_this_cpu_can_update(struct cpufreq_policy *policy);
     25
     26static inline unsigned long map_util_freq(unsigned long util,
     27					unsigned long freq, unsigned long cap)
     28{
     29	return freq * util / cap;
     30}
     31
     32static inline unsigned long map_util_perf(unsigned long util)
     33{
     34	return util + (util >> 2);
     35}
     36#endif /* CONFIG_CPU_FREQ */
     37
     38#endif /* _LINUX_SCHED_CPUFREQ_H */