| /* SPDX-License-Identifier: GPL-2.0-or-later */ | |
| /* | |
| * Common time accounting prototypes and such for all ppc machines. | |
| */ | |
| #ifndef __POWERPC_ACCOUNTING_H | |
| #define __POWERPC_ACCOUNTING_H | |
| /* Stuff for accurate time accounting */ | |
| struct cpu_accounting_data { | |
| /* Accumulated cputime values to flush on ticks*/ | |
| unsigned long utime; | |
| unsigned long stime; | |
| #ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME | |
| unsigned long utime_scaled; | |
| unsigned long stime_scaled; | |
| #endif | |
| unsigned long gtime; | |
| unsigned long hardirq_time; | |
| unsigned long softirq_time; | |
| unsigned long steal_time; | |
| unsigned long idle_time; | |
| /* Internal counters */ | |
| unsigned long starttime; /* TB value snapshot */ | |
| unsigned long starttime_user; /* TB value on exit to usermode */ | |
| #ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME | |
| unsigned long startspurr; /* SPURR value snapshot */ | |
| unsigned long utime_sspurr; /* ->user_time when ->startspurr set */ | |
| #endif | |
| }; | |
| #endif |