本文整理汇总了C++中cputime64_add函数的典型用法代码示例。如果您正苦于以下问题:C++ cputime64_add函数的具体用法?C++ cputime64_add怎么用?C++ cputime64_add使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cputime64_add函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: uptime_proc_show
static int uptime_proc_show(struct seq_file *m, void *v)
{
struct timespec calc_uptime;
struct timespec calc_idle;
int i;
cputime_t calc_idletime = cputime_zero;
if (!uptime)
{
do_posix_clock_monotonic_gettime(&calc_uptime);
monotonic_to_bootbased(&calc_uptime);
for_each_possible_cpu(i)
calc_idletime += cputime64_add(calc_idletime, kstat_cpu(i).cpustat.idle);
cputime_to_timespec(calc_idletime, &calc_idle);
}
else
{
calc_uptime.tv_sec = uptime * HZ + jiffies - startjiffies;
calc_uptime.tv_nsec = 0;
calc_idle.tv_sec = idletime * HZ + jiffies - startjiffies;
calc_idle.tv_nsec = 0;
}
seq_printf(m, "%lu.%02lu %lu.%02lu\n",
(unsigned long) calc_uptime.tv_sec,
(calc_uptime.tv_nsec / (NSEC_PER_SEC / 100)),
(unsigned long) calc_idle.tv_sec,
(calc_idle.tv_nsec / (NSEC_PER_SEC / 100)));
return 0;
}
开发者ID:Johnny-Ich,项目名称:uptime_hack,代码行数:31,代码来源:uptime_hack.c
示例2: update_busfreq_stat
void update_busfreq_stat(struct busfreq_data *data, unsigned int index)
{
#ifdef BUSFREQ_DEBUG
unsigned long long cur_time = get_jiffies_64();
data->time_in_state[index] = cputime64_add(data->time_in_state[index], cputime_sub(cur_time, data->last_time));
data->last_time = cur_time;
#endif
}
开发者ID:svncibrahim,项目名称:willow_kernel,代码行数:8,代码来源:busfreq_opp_exynos4.c
示例3: get_cpu_idle_time
static inline cputime64_t get_cpu_idle_time(unsigned int cpu)
{
cputime64_t idle_time;
cputime64_t cur_jiffies;
cputime64_t busy_time;
cur_jiffies = jiffies64_to_cputime64(get_jiffies_64());
busy_time = cputime64_add(kstat_cpu(cpu).cpustat.user,
kstat_cpu(cpu).cpustat.system);
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.irq);
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.softirq);
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.steal);
busy_time = cputime64_add(busy_time,
kstat_cpu(cpu).cpustat.nice);
idle_time = cputime64_sub(cur_jiffies, busy_time);
return jiffies_to_usecs(idle_time);
}
开发者ID:twobob,项目名称:KK_kernel,代码行数:19,代码来源:system.c
示例4: cpufreq_stats_update
static int cpufreq_stats_update(unsigned int cpu)
{
struct cpufreq_stats *stat;
unsigned long long cur_time;
cur_time = get_jiffies_64();
spin_lock(&cpufreq_stats_lock);
stat = per_cpu(cpufreq_stats_table, cpu);
if (!stat) {
spin_unlock(&cpufreq_stats_lock);
return 0;
}
if (stat->time_in_state)
stat->time_in_state[stat->last_index] =
cputime64_add(stat->time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time));
if (cpu == 0)
cpu0_time_in_state[stat->last_index] =
cputime64_add(cpu0_time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time));
else if (cpu == 1)
cpu1_time_in_state[stat->last_index] =
cputime64_add(cpu1_time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time));
#ifdef CONFIG_QUAD_CORES_SOC_STAT
else if (cpu == 2)
cpu2_time_in_state[stat->last_index] =
cputime64_add(cpu2_time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time));
else if (cpu == 3)
cpu3_time_in_state[stat->last_index] =
cputime64_add(cpu3_time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time));
#endif
stat->last_time = cur_time;
spin_unlock(&cpufreq_stats_lock);
return 0;
}
开发者ID:javilonas,项目名称:Thoth-GT-I9300-Sammy,代码行数:40,代码来源:cpufreq_stats.c
示例5: get_cpu_idle_time_jiffy
static inline cputime64_t get_cpu_idle_time_jiffy(unsigned int cpu,
cputime64_t *wall)
{
cputime64_t idle_time;
cputime64_t cur_wall_time;
cputime64_t busy_time;
cur_wall_time = jiffies64_to_cputime64(get_jiffies_64());
busy_time = cputime64_add(kstat_cpu(cpu).cpustat.user,
kstat_cpu(cpu).cpustat.system);
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.irq);
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.softirq);
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.steal);
busy_time = cputime64_add(busy_time, kstat_cpu(cpu).cpustat.nice);
idle_time = cputime64_sub(cur_wall_time, busy_time);
if (wall)
*wall = (cputime64_t)jiffies_to_usecs(cur_wall_time);
return (cputime64_t)jiffies_to_usecs(idle_time);
}
开发者ID:hastalafiesta,项目名称:Samsung_STE_Kernel,代码行数:22,代码来源:cpufreq_interactive.c
示例6: cpufreq_stats_update
static int
cpufreq_stats_update (unsigned int cpu)
{
struct cpufreq_stats *stat;
unsigned long long cur_time;
cur_time = get_jiffies_64();
spin_lock(&cpufreq_stats_lock);
stat = cpufreq_stats_table[cpu];
if (stat->time_in_state)
stat->time_in_state[stat->last_index] =
cputime64_add(stat->time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time));
stat->last_time = cur_time;
spin_unlock(&cpufreq_stats_lock);
return 0;
}
开发者ID:ManiacTwister,项目名称:linux-hnd,代码行数:17,代码来源:cpufreq_stats.c
示例7: emc_last_stats_update
static void emc_last_stats_update(int last_sel)
{
unsigned long flags;
u64 cur_jiffies = get_jiffies_64();
spin_lock_irqsave(&emc_stats.spinlock, flags);
if (emc_stats.last_sel < TEGRA_EMC_TABLE_MAX_SIZE)
emc_stats.time_at_clock[emc_stats.last_sel] = cputime64_add(
emc_stats.time_at_clock[emc_stats.last_sel],
cputime64_sub(cur_jiffies, emc_stats.last_update));
emc_stats.last_update = cur_jiffies;
if (last_sel < TEGRA_EMC_TABLE_MAX_SIZE) {
emc_stats.clkchange_count++;
emc_stats.last_sel = last_sel;
}
spin_unlock_irqrestore(&emc_stats.spinlock, flags);
}
开发者ID:AndroidDeveloperAlliance,项目名称:ZenKernel_Grouper,代码行数:20,代码来源:tegra3_emc.c
示例8: uptime_proc_show
static int uptime_proc_show(struct seq_file *m, void *v)
{
struct timespec uptime;
struct timespec idle;
int i;
cputime_t idletime = cputime_zero;
for_each_possible_cpu(i)
idletime = cputime64_add(idletime, kstat_cpu(i).cpustat.idle);
do_posix_clock_monotonic_gettime(&uptime);
monotonic_to_bootbased(&uptime);
cputime_to_timespec(idletime, &idle);
seq_printf(m, "%lu.%02lu %lu.%02lu\n",
(unsigned long) uptime.tv_sec,
(uptime.tv_nsec / (NSEC_PER_SEC / 100)),
(unsigned long) idle.tv_sec,
(idle.tv_nsec / (NSEC_PER_SEC / 100)));
return 0;
}
开发者ID:agat63,项目名称:N861_ZTE_kernel,代码行数:20,代码来源:uptime.c
示例9: hp_stats_update
static void hp_stats_update(unsigned int cpu, bool up)
{
u64 cur_jiffies = get_jiffies_64();
bool was_up = hp_stats[cpu].up_down_count & 0x1;
if (was_up)
hp_stats[cpu].time_up_total = cputime64_add(
hp_stats[cpu].time_up_total, cputime64_sub(
cur_jiffies, hp_stats[cpu].last_update));
if (was_up != up) {
hp_stats[cpu].up_down_count++;
if ((hp_stats[cpu].up_down_count & 0x1) != up) {
/* FIXME: sysfs user space CPU control breaks stats */
pr_err("tegra hotplug stats out of sync with %s CPU%d",
(cpu < CONFIG_NR_CPUS) ? "G" : "LP",
(cpu < CONFIG_NR_CPUS) ? cpu : 0);
hp_stats[cpu].up_down_count ^= 0x1;
}
}
hp_stats[cpu].last_update = cur_jiffies;
}
开发者ID:AndroidDeveloperAlliance,项目名称:ZenKernel_Grouper,代码行数:22,代码来源:cpu-tegra3.c
示例10: cpufreq_stats_update
static int cpufreq_stats_update(unsigned int cpu)
{
struct cpufreq_stats *stat;
unsigned long long cur_time;
cur_time = get_jiffies_64();
spin_lock(&cpufreq_stats_lock);
stat = per_cpu(cpufreq_stats_table, cpu);
#if defined (CONFIG_MACH_SAMSUNG_P5)
if(!stat) {
spin_unlock(&cpufreq_stats_lock);
return -1;
}
#endif
if (stat->time_in_state && stat->last_index >= 0)
stat->time_in_state[stat->last_index] =
cputime64_add(stat->time_in_state[stat->last_index],
cputime_sub(cur_time, stat->last_time));
stat->last_time = cur_time;
spin_unlock(&cpufreq_stats_lock);
return 0;
}
开发者ID:motley-git,项目名称:Kernel-GT-P73xx-v2,代码行数:23,代码来源:cpufreq_stats.c
示例11: get_all_cpu_stat
/* Sync fs/proc/stat.c to caculate all cpu statistics */
static void get_all_cpu_stat(struct cpu_usage_stat *cpu_stat)
{
int i;
cputime64_t user, nice, system, idle, iowait, irq, softirq, steal;
cputime64_t guest, guest_nice;
if (!cpu_stat)
return;
user = nice = system = idle = iowait =
irq = softirq = steal = cputime64_zero;
guest = guest_nice = cputime64_zero;
for_each_possible_cpu(i) {
user = cputime64_add(user, kstat_cpu(i).cpustat.user);
nice = cputime64_add(nice, kstat_cpu(i).cpustat.nice);
system = cputime64_add(system, kstat_cpu(i).cpustat.system);
idle = cputime64_add(idle, kstat_cpu(i).cpustat.idle);
idle = cputime64_add(idle, arch_idle_time(i));
iowait = cputime64_add(iowait, kstat_cpu(i).cpustat.iowait);
irq = cputime64_add(irq, kstat_cpu(i).cpustat.irq);
softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
guest = cputime64_add(guest, kstat_cpu(i).cpustat.guest);
guest_nice = cputime64_add(guest_nice,
kstat_cpu(i).cpustat.guest_nice);
}
cpu_stat->user = user;
cpu_stat->nice = nice;
cpu_stat->system = system;
cpu_stat->softirq = softirq;
cpu_stat->irq = irq;
cpu_stat->idle = idle;
cpu_stat->iowait = iowait;
cpu_stat->steal = steal;
cpu_stat->guest = guest;
cpu_stat->guest_nice = guest_nice;
}
开发者ID:Bigtime1267,项目名称:HTC-C525c,代码行数:39,代码来源:htc_util.c
示例12: show_stat
static int show_stat(struct seq_file *p, void *v)
{
int i;
unsigned long jif;
cputime64_t user, nice, system, idle, iowait, irq, softirq, steal;
u64 sum = 0;
user = nice = system = idle = iowait =
irq = softirq = steal = cputime64_zero;
jif = - wall_to_monotonic.tv_sec;
if (wall_to_monotonic.tv_nsec)
--jif;
for_each_cpu(i) {
int j;
user = cputime64_add(user, kstat_cpu(i).cpustat.user);
nice = cputime64_add(nice, kstat_cpu(i).cpustat.nice);
system = cputime64_add(system, kstat_cpu(i).cpustat.system);
idle = cputime64_add(idle, kstat_cpu(i).cpustat.idle);
iowait = cputime64_add(iowait, kstat_cpu(i).cpustat.iowait);
irq = cputime64_add(irq, kstat_cpu(i).cpustat.irq);
softirq = cputime64_add(softirq, kstat_cpu(i).cpustat.softirq);
steal = cputime64_add(steal, kstat_cpu(i).cpustat.steal);
for (j = 0 ; j < NR_IRQS ; j++)
sum += kstat_cpu(i).irqs[j];
}
seq_printf(p, "cpu %llu %llu %llu %llu %llu %llu %llu %llu\n",
(unsigned long long)cputime64_to_clock_t(user),
(unsigned long long)cputime64_to_clock_t(nice),
(unsigned long long)cputime64_to_clock_t(system),
(unsigned long long)cputime64_to_clock_t(idle),
(unsigned long long)cputime64_to_clock_t(iowait),
(unsigned long long)cputime64_to_clock_t(irq),
(unsigned long long)cputime64_to_clock_t(softirq),
(unsigned long long)cputime64_to_clock_t(steal));
for_each_online_cpu(i) {
/* Copy values here to work around gcc-2.95.3, gcc-2.96 */
user = kstat_cpu(i).cpustat.user;
nice = kstat_cpu(i).cpustat.nice;
system = kstat_cpu(i).cpustat.system;
idle = kstat_cpu(i).cpustat.idle;
iowait = kstat_cpu(i).cpustat.iowait;
irq = kstat_cpu(i).cpustat.irq;
softirq = kstat_cpu(i).cpustat.softirq;
steal = kstat_cpu(i).cpustat.steal;
seq_printf(p, "cpu%d %llu %llu %llu %llu %llu %llu %llu %llu\n",
i,
(unsigned long long)cputime64_to_clock_t(user),
(unsigned long long)cputime64_to_clock_t(nice),
(unsigned long long)cputime64_to_clock_t(system),
(unsigned long long)cputime64_to_clock_t(idle),
(unsigned long long)cputime64_to_clock_t(iowait),
(unsigned long long)cputime64_to_clock_t(irq),
(unsigned long long)cputime64_to_clock_t(softirq),
(unsigned long long)cputime64_to_clock_t(steal));
}
seq_printf(p, "intr %llu", (unsigned long long)sum);
#if !defined(CONFIG_PPC64) && !defined(CONFIG_ALPHA)
for (i = 0; i < NR_IRQS; i++)
seq_printf(p, " %u", kstat_irqs(i));
#endif
seq_printf(p,
"\nctxt %llu\n"
"btime %lu\n"
"processes %lu\n"
"procs_running %lu\n"
"procs_blocked %lu\n",
nr_context_switches(),
(unsigned long)jif,
total_forks,
nr_running(),
nr_iowait());
return 0;
}
开发者ID:kzlin129,项目名称:tt-gpl,代码行数:80,代码来源:proc_misc.c
注:本文中的cputime64_add函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论