* [PATCH 1/2] powerpc/time: inline arch_vtime_task_switch()
@ 2018-03-21 13:52 Christophe Leroy
2018-03-21 13:52 ` [PATCH 2/2] powerpc/time: Only set ARCH_HAS_SCALED_CPUTIME on PPC64 Christophe Leroy
0 siblings, 1 reply; 3+ messages in thread
From: Christophe Leroy @ 2018-03-21 13:52 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman, Scott Wood
Cc: linux-kernel, linuxppc-dev
arch_vtime_task_switch() is a small function which is called
only from vtime_common_task_switch(), so it is worth inlining
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
arch/powerpc/include/asm/cputime.h | 15 ++++++++++++++-
arch/powerpc/kernel/time.c | 21 ---------------------
2 files changed, 14 insertions(+), 22 deletions(-)
diff --git a/arch/powerpc/include/asm/cputime.h b/arch/powerpc/include/asm/cputime.h
index 99b541865d8d..36345341dd70 100644
--- a/arch/powerpc/include/asm/cputime.h
+++ b/arch/powerpc/include/asm/cputime.h
@@ -47,9 +47,22 @@ static inline unsigned long cputime_to_usecs(const cputime_t ct)
* has to be populated in the new task
*/
#ifdef CONFIG_PPC64
+#define get_accounting(tsk) (&get_paca()->accounting)
static inline void arch_vtime_task_switch(struct task_struct *tsk) { }
#else
-void arch_vtime_task_switch(struct task_struct *tsk);
+#define get_accounting(tsk) (&task_thread_info(tsk)->accounting)
+/*
+ * Called from the context switch with interrupts disabled, to charge all
+ * accumulated times to the current process, and to prepare accounting on
+ * the next process.
+ */
+static inline void arch_vtime_task_switch(struct task_struct *prev)
+{
+ struct cpu_accounting_data *acct = get_accounting(current);
+
+ acct->starttime = get_accounting(prev)->starttime;
+ acct->startspurr = get_accounting(prev)->startspurr;
+}
#endif
#endif /* __KERNEL__ */
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index a32823dcd9a4..aa6aa5d4a60c 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -163,12 +163,6 @@ EXPORT_SYMBOL(__cputime_usec_factor);
void (*dtl_consumer)(struct dtl_entry *, u64);
#endif
-#ifdef CONFIG_PPC64
-#define get_accounting(tsk) (&get_paca()->accounting)
-#else
-#define get_accounting(tsk) (&task_thread_info(tsk)->accounting)
-#endif
-
static void calc_cputime_factors(void)
{
struct div_result res;
@@ -418,21 +412,6 @@ void vtime_flush(struct task_struct *tsk)
acct->softirq_time = 0;
}
-#ifdef CONFIG_PPC32
-/*
- * Called from the context switch with interrupts disabled, to charge all
- * accumulated times to the current process, and to prepare accounting on
- * the next process.
- */
-void arch_vtime_task_switch(struct task_struct *prev)
-{
- struct cpu_accounting_data *acct = get_accounting(current);
-
- acct->starttime = get_accounting(prev)->starttime;
- acct->startspurr = get_accounting(prev)->startspurr;
-}
-#endif /* CONFIG_PPC32 */
-
#else /* ! CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */
#define calc_cputime_factors()
#endif
--
2.13.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] powerpc/time: Only set ARCH_HAS_SCALED_CPUTIME on PPC64
2018-03-21 13:52 [PATCH 1/2] powerpc/time: inline arch_vtime_task_switch() Christophe Leroy
@ 2018-03-21 13:52 ` Christophe Leroy
2018-03-23 5:40 ` kbuild test robot
0 siblings, 1 reply; 3+ messages in thread
From: Christophe Leroy @ 2018-03-21 13:52 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman, Scott Wood
Cc: linux-kernel, linuxppc-dev
scaled cputime is only meaningfull when the processor has
SPURR and/or PURR, which means only on PPC64.
Removing it on PPC32 significantly reduces the size of
vtime_account_system() and vtime_account_idle() on an 8xx:
Before:
00000114 l F .text 000000a8 vtime_delta
000004c0 g F .text 00000100 vtime_account_system
000005c0 g F .text 00000048 vtime_account_idle
After:
(vtime_delta gets inlined in the two functions)
00000418 g F .text 000000a0 vtime_account_system
000004b8 g F .text 00000054 vtime_account_idle
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
arch/powerpc/Kconfig | 2 +-
arch/powerpc/include/asm/accounting.h | 4 ++++
arch/powerpc/include/asm/cputime.h | 2 ++
arch/powerpc/kernel/time.c | 29 +++++++++++++++++++++++------
4 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 0c76d93d5da5..8c9f54779ff1 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -142,7 +142,7 @@ config PPC
select ARCH_HAS_PHYS_TO_DMA
select ARCH_HAS_PMEM_API if PPC64
select ARCH_HAS_MEMBARRIER_CALLBACKS
- select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE
+ select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE && PPC64
select ARCH_HAS_SG_CHAIN
select ARCH_HAS_STRICT_KERNEL_RWX if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION)
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
diff --git a/arch/powerpc/include/asm/accounting.h b/arch/powerpc/include/asm/accounting.h
index 3abcf98ed2e0..f1096d4cc658 100644
--- a/arch/powerpc/include/asm/accounting.h
+++ b/arch/powerpc/include/asm/accounting.h
@@ -15,8 +15,10 @@ struct cpu_accounting_data {
/* Accumulated cputime values to flush on ticks*/
unsigned long utime;
unsigned long stime;
+#ifdef ARCH_HAS_SCALED_CPUTIME
unsigned long utime_scaled;
unsigned long stime_scaled;
+#endif
unsigned long gtime;
unsigned long hardirq_time;
unsigned long softirq_time;
@@ -25,8 +27,10 @@ struct cpu_accounting_data {
/* Internal counters */
unsigned long starttime; /* TB value snapshot */
unsigned long starttime_user; /* TB value on exit to usermode */
+#ifdef ARCH_HAS_SCALED_CPUTIME
unsigned long startspurr; /* SPURR value snapshot */
unsigned long utime_sspurr; /* ->user_time when ->startspurr set */
+#endif
};
#endif
diff --git a/arch/powerpc/include/asm/cputime.h b/arch/powerpc/include/asm/cputime.h
index 36345341dd70..c11d4fd27028 100644
--- a/arch/powerpc/include/asm/cputime.h
+++ b/arch/powerpc/include/asm/cputime.h
@@ -61,7 +61,9 @@ static inline void arch_vtime_task_switch(struct task_struct *prev)
struct cpu_accounting_data *acct = get_accounting(current);
acct->starttime = get_accounting(prev)->starttime;
+#ifdef ARCH_HAS_SCALED_CPUTIME
acct->startspurr = get_accounting(prev)->startspurr;
+#endif
}
#endif
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index aa6aa5d4a60c..09e5eb9f0e81 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -175,6 +175,7 @@ static void calc_cputime_factors(void)
* Read the SPURR on systems that have it, otherwise the PURR,
* or if that doesn't exist return the timebase value passed in.
*/
+#ifdef ARCH_HAS_SCALED_CPUTIME
static unsigned long read_spurr(unsigned long tb)
{
if (cpu_has_feature(CPU_FTR_SPURR))
@@ -183,6 +184,7 @@ static unsigned long read_spurr(unsigned long tb)
return mfspr(SPRN_PURR);
return tb;
}
+#endif
#ifdef CONFIG_PPC_SPLPAR
@@ -282,22 +284,28 @@ static unsigned long vtime_delta(struct task_struct *tsk,
unsigned long *stime_scaled,
unsigned long *steal_time)
{
- unsigned long now, nowscaled, deltascaled;
+ unsigned long now;
unsigned long stime;
+#ifdef ARCH_HAS_SCALED_CPUTIME
+ unsigned long nowscaled, deltascaled;
unsigned long utime, utime_scaled;
+#endif
struct cpu_accounting_data *acct = get_accounting(tsk);
WARN_ON_ONCE(!irqs_disabled());
now = mftb();
+#ifdef ARCH_HAS_SCALED_CPUTIME
nowscaled = read_spurr(now);
+#endif
stime = now - acct->starttime;
acct->starttime = now;
- deltascaled = nowscaled - acct->startspurr;
- acct->startspurr = nowscaled;
*steal_time = calculate_stolen_time(now);
+#ifdef ARCH_HAS_SCALED_CPUTIME
+ deltascaled = nowscaled - acct->startspurr;
+ acct->startspurr = nowscaled;
utime = acct->utime - acct->utime_sspurr;
acct->utime_sspurr = acct->utime;
@@ -322,6 +330,7 @@ static unsigned long vtime_delta(struct task_struct *tsk,
}
}
acct->utime_scaled += utime_scaled;
+#endif
return stime;
}
@@ -338,7 +347,9 @@ void vtime_account_system(struct task_struct *tsk)
if ((tsk->flags & PF_VCPU) && !irq_count()) {
acct->gtime += stime;
+#ifdef ARCH_HAS_SCALED_CPUTIME
acct->utime_scaled += stime_scaled;
+#endif
} else {
if (hardirq_count())
acct->hardirq_time += stime;
@@ -347,7 +358,9 @@ void vtime_account_system(struct task_struct *tsk)
else
acct->stime += stime;
+#ifdef ARCH_HAS_SCALED_CPUTIME
acct->stime_scaled += stime_scaled;
+#endif
}
}
EXPORT_SYMBOL_GPL(vtime_account_system);
@@ -375,8 +388,12 @@ void vtime_flush(struct task_struct *tsk)
if (acct->utime)
account_user_time(tsk, cputime_to_nsecs(acct->utime));
+#ifdef ARCH_HAS_SCALED_CPUTIME
if (acct->utime_scaled)
tsk->utimescaled += cputime_to_nsecs(acct->utime_scaled);
+ if (acct->stime_scaled)
+ tsk->stimescaled += cputime_to_nsecs(acct->stime_scaled);
+#endif
if (acct->gtime)
account_guest_time(tsk, cputime_to_nsecs(acct->gtime));
@@ -390,8 +407,6 @@ void vtime_flush(struct task_struct *tsk)
if (acct->stime)
account_system_index_time(tsk, cputime_to_nsecs(acct->stime),
CPUTIME_SYSTEM);
- if (acct->stime_scaled)
- tsk->stimescaled += cputime_to_nsecs(acct->stime_scaled);
if (acct->hardirq_time)
account_system_index_time(tsk, cputime_to_nsecs(acct->hardirq_time),
@@ -401,13 +416,15 @@ void vtime_flush(struct task_struct *tsk)
CPUTIME_SOFTIRQ);
acct->utime = 0;
+#ifdef ARCH_HAS_SCALED_CPUTIME
acct->utime_scaled = 0;
acct->utime_sspurr = 0;
+ acct->stime_scaled = 0;
+#endif
acct->gtime = 0;
acct->steal_time = 0;
acct->idle_time = 0;
acct->stime = 0;
- acct->stime_scaled = 0;
acct->hardirq_time = 0;
acct->softirq_time = 0;
}
--
2.13.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 2/2] powerpc/time: Only set ARCH_HAS_SCALED_CPUTIME on PPC64
2018-03-21 13:52 ` [PATCH 2/2] powerpc/time: Only set ARCH_HAS_SCALED_CPUTIME on PPC64 Christophe Leroy
@ 2018-03-23 5:40 ` kbuild test robot
0 siblings, 0 replies; 3+ messages in thread
From: kbuild test robot @ 2018-03-23 5:40 UTC (permalink / raw)
To: Christophe Leroy
Cc: kbuild-all, Benjamin Herrenschmidt, Paul Mackerras,
Michael Ellerman, Scott Wood, linux-kernel, linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 12889 bytes --]
Hi Christophe,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on v4.16-rc6 next-20180322]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/powerpc-time-inline-arch_vtime_task_switch/20180323-115145
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc
All errors (new ones prefixed by >>):
arch/powerpc/xmon/xmon.c: In function 'dump_one_paca':
>> arch/powerpc/xmon/xmon.c:2426:20: error: 'struct cpu_accounting_data' has no member named 'utime_scaled'
DUMP(p, accounting.utime_scaled, "llx");
^
arch/powerpc/xmon/xmon.c:2349:65: note: in definition of macro 'DUMP'
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^~~~
In file included from include/linux/compiler_types.h:58:0,
from include/linux/kconfig.h:74,
from <command-line>:0:
include/linux/compiler-gcc.h:170:2: error: 'struct cpu_accounting_data' has no member named 'utime_scaled'
__builtin_offsetof(a, b)
^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
#define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
^~~~~~~~~~~~~~~~~~~
arch/powerpc/xmon/xmon.c:2350:3: note: in expansion of macro 'offsetof'
offsetof(struct paca_struct, name));
^~~~~~~~
arch/powerpc/xmon/xmon.c:2426:2: note: in expansion of macro 'DUMP'
DUMP(p, accounting.utime_scaled, "llx");
^~~~
>> arch/powerpc/xmon/xmon.c:2429:21: error: 'struct cpu_accounting_data' has no member named 'startspurr'; did you mean 'starttime'?
DUMP(p, accounting.startspurr, "llx");
^
arch/powerpc/xmon/xmon.c:2349:65: note: in definition of macro 'DUMP'
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^~~~
In file included from include/linux/compiler_types.h:58:0,
from include/linux/kconfig.h:74,
from <command-line>:0:
>> arch/powerpc/xmon/xmon.c:2429:21: error: 'struct cpu_accounting_data' has no member named 'startspurr'; did you mean 'starttime'?
DUMP(p, accounting.startspurr, "llx");
^
include/linux/compiler-gcc.h:170:24: note: in definition of macro '__compiler_offsetof'
__builtin_offsetof(a, b)
^
arch/powerpc/xmon/xmon.c:2350:3: note: in expansion of macro 'offsetof'
offsetof(struct paca_struct, name));
^~~~~~~~
arch/powerpc/xmon/xmon.c:2429:2: note: in expansion of macro 'DUMP'
DUMP(p, accounting.startspurr, "llx");
^~~~
>> arch/powerpc/xmon/xmon.c:2430:20: error: 'struct cpu_accounting_data' has no member named 'utime_sspurr'
DUMP(p, accounting.utime_sspurr, "llx");
^
arch/powerpc/xmon/xmon.c:2349:65: note: in definition of macro 'DUMP'
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^~~~
In file included from include/linux/compiler_types.h:58:0,
from include/linux/kconfig.h:74,
from <command-line>:0:
include/linux/compiler-gcc.h:170:2: error: 'struct cpu_accounting_data' has no member named 'utime_sspurr'
__builtin_offsetof(a, b)
^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
#define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
^~~~~~~~~~~~~~~~~~~
arch/powerpc/xmon/xmon.c:2350:3: note: in expansion of macro 'offsetof'
offsetof(struct paca_struct, name));
^~~~~~~~
arch/powerpc/xmon/xmon.c:2430:2: note: in expansion of macro 'DUMP'
DUMP(p, accounting.utime_sspurr, "llx");
^~~~
vim +2426 arch/powerpc/xmon/xmon.c
ddadb6b8e Michael Ellerman 2012-09-13 2331
ddadb6b8e Michael Ellerman 2012-09-13 2332 if (setjmp(bus_error_jmp) != 0) {
ddadb6b8e Michael Ellerman 2012-09-13 2333 printf("*** Error dumping paca for cpu 0x%x!\n", cpu);
ddadb6b8e Michael Ellerman 2012-09-13 2334 return;
ddadb6b8e Michael Ellerman 2012-09-13 2335 }
ddadb6b8e Michael Ellerman 2012-09-13 2336
ddadb6b8e Michael Ellerman 2012-09-13 2337 catch_memory_errors = 1;
ddadb6b8e Michael Ellerman 2012-09-13 2338 sync();
ddadb6b8e Michael Ellerman 2012-09-13 2339
ddadb6b8e Michael Ellerman 2012-09-13 2340 p = &paca[cpu];
ddadb6b8e Michael Ellerman 2012-09-13 2341
d81041820 Michael Ellerman 2017-12-06 2342 printf("paca for cpu 0x%x @ %px:\n", cpu, p);
ddadb6b8e Michael Ellerman 2012-09-13 2343
ad987fc8e Michael Ellerman 2015-10-14 2344 printf(" %-*s = %s\n", 20, "possible", cpu_possible(cpu) ? "yes" : "no");
ad987fc8e Michael Ellerman 2015-10-14 2345 printf(" %-*s = %s\n", 20, "present", cpu_present(cpu) ? "yes" : "no");
ad987fc8e Michael Ellerman 2015-10-14 2346 printf(" %-*s = %s\n", 20, "online", cpu_online(cpu) ? "yes" : "no");
ddadb6b8e Michael Ellerman 2012-09-13 2347
ddadb6b8e Michael Ellerman 2012-09-13 2348 #define DUMP(paca, name, format) \
ad987fc8e Michael Ellerman 2015-10-14 2349 printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
ddadb6b8e Michael Ellerman 2012-09-13 @2350 offsetof(struct paca_struct, name));
ddadb6b8e Michael Ellerman 2012-09-13 2351
ddadb6b8e Michael Ellerman 2012-09-13 2352 DUMP(p, lock_token, "x");
ddadb6b8e Michael Ellerman 2012-09-13 2353 DUMP(p, paca_index, "x");
ddadb6b8e Michael Ellerman 2012-09-13 2354 DUMP(p, kernel_toc, "lx");
ddadb6b8e Michael Ellerman 2012-09-13 2355 DUMP(p, kernelbase, "lx");
ddadb6b8e Michael Ellerman 2012-09-13 2356 DUMP(p, kernel_msr, "lx");
2248fade9 Michael Ellerman 2018-01-11 2357 DUMP(p, emergency_sp, "px");
729b0f715 Mahesh Salgaonkar 2013-10-30 2358 #ifdef CONFIG_PPC_BOOK3S_64
2248fade9 Michael Ellerman 2018-01-11 2359 DUMP(p, nmi_emergency_sp, "px");
2248fade9 Michael Ellerman 2018-01-11 2360 DUMP(p, mc_emergency_sp, "px");
c4f3b52ce Nicholas Piggin 2016-12-20 2361 DUMP(p, in_nmi, "x");
729b0f715 Mahesh Salgaonkar 2013-10-30 2362 DUMP(p, in_mce, "x");
ad987fc8e Michael Ellerman 2015-10-14 2363 DUMP(p, hmi_event_available, "x");
729b0f715 Mahesh Salgaonkar 2013-10-30 2364 #endif
ddadb6b8e Michael Ellerman 2012-09-13 2365 DUMP(p, data_offset, "lx");
ddadb6b8e Michael Ellerman 2012-09-13 2366 DUMP(p, hw_cpu_id, "x");
ddadb6b8e Michael Ellerman 2012-09-13 2367 DUMP(p, cpu_start, "x");
ddadb6b8e Michael Ellerman 2012-09-13 2368 DUMP(p, kexec_state, "x");
4e0037470 Michael Ellerman 2017-10-19 2369 #ifdef CONFIG_PPC_BOOK3S_64
ad987fc8e Michael Ellerman 2015-10-14 2370 for (i = 0; i < SLB_NUM_BOLTED; i++) {
ad987fc8e Michael Ellerman 2015-10-14 2371 u64 esid, vsid;
ad987fc8e Michael Ellerman 2015-10-14 2372
ad987fc8e Michael Ellerman 2015-10-14 2373 if (!p->slb_shadow_ptr)
ad987fc8e Michael Ellerman 2015-10-14 2374 continue;
ad987fc8e Michael Ellerman 2015-10-14 2375
ad987fc8e Michael Ellerman 2015-10-14 2376 esid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].esid);
ad987fc8e Michael Ellerman 2015-10-14 2377 vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid);
ad987fc8e Michael Ellerman 2015-10-14 2378
ad987fc8e Michael Ellerman 2015-10-14 2379 if (esid || vsid) {
ad987fc8e Michael Ellerman 2015-10-14 2380 printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n",
ad987fc8e Michael Ellerman 2015-10-14 2381 i, esid, vsid);
ad987fc8e Michael Ellerman 2015-10-14 2382 }
ad987fc8e Michael Ellerman 2015-10-14 2383 }
ad987fc8e Michael Ellerman 2015-10-14 2384 DUMP(p, vmalloc_sllp, "x");
ad987fc8e Michael Ellerman 2015-10-14 2385 DUMP(p, slb_cache_ptr, "x");
ad987fc8e Michael Ellerman 2015-10-14 2386 for (i = 0; i < SLB_CACHE_ENTRIES; i++)
ad987fc8e Michael Ellerman 2015-10-14 2387 printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]);
274920a3e Michael Ellerman 2018-01-10 2388
274920a3e Michael Ellerman 2018-01-10 2389 DUMP(p, rfi_flush_fallback_area, "px");
ad987fc8e Michael Ellerman 2015-10-14 2390 #endif
ad987fc8e Michael Ellerman 2015-10-14 2391 DUMP(p, dscr_default, "llx");
ad987fc8e Michael Ellerman 2015-10-14 2392 #ifdef CONFIG_PPC_BOOK3E
2248fade9 Michael Ellerman 2018-01-11 2393 DUMP(p, pgd, "px");
2248fade9 Michael Ellerman 2018-01-11 2394 DUMP(p, kernel_pgd, "px");
2248fade9 Michael Ellerman 2018-01-11 2395 DUMP(p, tcd_ptr, "px");
2248fade9 Michael Ellerman 2018-01-11 2396 DUMP(p, mc_kstack, "px");
2248fade9 Michael Ellerman 2018-01-11 2397 DUMP(p, crit_kstack, "px");
2248fade9 Michael Ellerman 2018-01-11 2398 DUMP(p, dbg_kstack, "px");
ad987fc8e Michael Ellerman 2015-10-14 2399 #endif
2248fade9 Michael Ellerman 2018-01-11 2400 DUMP(p, __current, "px");
ddadb6b8e Michael Ellerman 2012-09-13 2401 DUMP(p, kstack, "lx");
90d647374 Michael Ellerman 2017-10-09 2402 printf(" kstack_base = 0x%016lx\n", p->kstack & ~(THREAD_SIZE - 1));
ddadb6b8e Michael Ellerman 2012-09-13 2403 DUMP(p, stab_rr, "lx");
ddadb6b8e Michael Ellerman 2012-09-13 2404 DUMP(p, saved_r1, "lx");
ddadb6b8e Michael Ellerman 2012-09-13 2405 DUMP(p, trap_save, "x");
4e26bc4a4 Madhavan Srinivasan 2017-12-20 2406 DUMP(p, irq_soft_mask, "x");
ddadb6b8e Michael Ellerman 2012-09-13 2407 DUMP(p, irq_happened, "x");
ddadb6b8e Michael Ellerman 2012-09-13 2408 DUMP(p, io_sync, "x");
ddadb6b8e Michael Ellerman 2012-09-13 2409 DUMP(p, irq_work_pending, "x");
ddadb6b8e Michael Ellerman 2012-09-13 2410 DUMP(p, nap_state_lost, "x");
ad987fc8e Michael Ellerman 2015-10-14 2411 DUMP(p, sprg_vdso, "llx");
ad987fc8e Michael Ellerman 2015-10-14 2412
ad987fc8e Michael Ellerman 2015-10-14 2413 #ifdef CONFIG_PPC_TRANSACTIONAL_MEM
ad987fc8e Michael Ellerman 2015-10-14 2414 DUMP(p, tm_scratch, "llx");
ad987fc8e Michael Ellerman 2015-10-14 2415 #endif
ad987fc8e Michael Ellerman 2015-10-14 2416
ad987fc8e Michael Ellerman 2015-10-14 2417 #ifdef CONFIG_PPC_POWERNV
2248fade9 Michael Ellerman 2018-01-11 2418 DUMP(p, core_idle_state_ptr, "px");
ad987fc8e Michael Ellerman 2015-10-14 2419 DUMP(p, thread_idle_state, "x");
ad987fc8e Michael Ellerman 2015-10-14 2420 DUMP(p, thread_mask, "x");
ad987fc8e Michael Ellerman 2015-10-14 2421 DUMP(p, subcore_sibling_mask, "x");
ad987fc8e Michael Ellerman 2015-10-14 2422 #endif
ddadb6b8e Michael Ellerman 2012-09-13 2423
8c8b73c48 Frederic Weisbecker 2017-01-05 2424 DUMP(p, accounting.utime, "llx");
8c8b73c48 Frederic Weisbecker 2017-01-05 2425 DUMP(p, accounting.stime, "llx");
8c8b73c48 Frederic Weisbecker 2017-01-05 @2426 DUMP(p, accounting.utime_scaled, "llx");
c223c9038 Christophe Leroy 2016-05-17 2427 DUMP(p, accounting.starttime, "llx");
c223c9038 Christophe Leroy 2016-05-17 2428 DUMP(p, accounting.starttime_user, "llx");
c223c9038 Christophe Leroy 2016-05-17 @2429 DUMP(p, accounting.startspurr, "llx");
c223c9038 Christophe Leroy 2016-05-17 @2430 DUMP(p, accounting.utime_sspurr, "llx");
f828c3d0a Frederic Weisbecker 2017-01-05 2431 DUMP(p, accounting.steal_time, "llx");
ddadb6b8e Michael Ellerman 2012-09-13 2432 #undef DUMP
ddadb6b8e Michael Ellerman 2012-09-13 2433
ddadb6b8e Michael Ellerman 2012-09-13 2434 catch_memory_errors = 0;
ddadb6b8e Michael Ellerman 2012-09-13 2435 sync();
ddadb6b8e Michael Ellerman 2012-09-13 2436 }
ddadb6b8e Michael Ellerman 2012-09-13 2437
:::::: The code at line 2426 was first introduced by commit
:::::: 8c8b73c4811f2b5e458a7418dca07d2ef85c7db1 sched/cputime, powerpc: Prepare accounting structure for cputime flush on tick
:::::: TO: Frederic Weisbecker <fweisbec@gmail.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 24150 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-03-23 5:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-21 13:52 [PATCH 1/2] powerpc/time: inline arch_vtime_task_switch() Christophe Leroy
2018-03-21 13:52 ` [PATCH 2/2] powerpc/time: Only set ARCH_HAS_SCALED_CPUTIME on PPC64 Christophe Leroy
2018-03-23 5:40 ` kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.