PowerPC build fail

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

5 messages, 3 authors, 2017-02-28 · open the first message on its own page

PowerPC build fail

From: Tobin C. Harding <hidden>
Date: 2017-02-22 01:22:58

The current (2bfe01e) torvalds git tree fails to build on powerpc64. Build machine
is virtualized.

- Build error
arch/powerpc/kernel/time.c: In function ‘running_clock’:
arch/powerpc/kernel/time.c:712:25: error: implicit declaration of function ‘cputime_to_nsecs’
   return local_clock() - cputime_to_nsecs(kcpustat_this_cpu->cpustat[CPUTIME_STEAL]);
                          ^
                          
$ cat .config | grep CONFIG_VIRT_CPU
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set

$ cat .config | grep CONFIG_PPC_PSERIES
CONFIG_PPC_PSERIES=y

Looking into it I found there are compile time guards on CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
preventing cputime_to_nsecs being defined.

Removing the compile time guard allows the build to proceed, surely
this is not the correct solution though.
diff --git a/arch/powerpc/include/asm/cputime.h b/arch/powerpc/include/asm/cputime.h
index 99b5418..15482cb 100644
--- a/arch/powerpc/include/asm/cputime.h
+++ b/arch/powerpc/include/asm/cputime.h
@@ -16,7 +16,7 @@
 #ifndef __POWERPC_CPUTIME_H
 #define __POWERPC_CPUTIME_H

-#ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
+

 #include <linux/types.h>
 #include <linux/time.h>
@@ -53,5 +53,5 @@ void arch_vtime_task_switch(struct task_struct *tsk);
 #endif

 #endif /* __KERNEL__ */
-#endif /* CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */
 #endif /* __POWERPC_CPUTIME_H */
diff --git a/include/linux/cputime.h b/include/linux/cputime.h
index a691dc4..f730c14 100644
--- a/include/linux/cputime.h
+++ b/include/linux/cputime.h
@@ -1,13 +1,13 @@
 #ifndef __LINUX_CPUTIME_H
 #define __LINUX_CPUTIME_H

-#ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
+
 #include <asm/cputime.h>

 #ifndef cputime_to_nsecs
-# define cputime_to_nsecs(__ct)        \
+#define cputime_to_nsecs(__ct) \
        (cputime_to_usecs(__ct) * NSEC_PER_USEC)
 #endif

-#endif /* CONFIG_VIRT_CPU_ACCOUNTING_NATIVE */
+
 #endif /* __LINUX_CPUTIME_H */

If you think this can be fixed with the *little* kernel dev knowledge
I have please point me at a starting place and I will dig into it.

thanks,
Tobin.

Re: PowerPC build fail

From: Andrew Donnellan <hidden>
Date: 2017-02-22 02:47:53

On 22/02/17 12:22, Tobin C. Harding wrote:
The current (2bfe01e) torvalds git tree fails to build on powerpc64. Build machine
is virtualized.

- Build error
arch/powerpc/kernel/time.c: In function ‘running_clock’:
arch/powerpc/kernel/time.c:712:25: error: implicit declaration of function ‘cputime_to_nsecs’
   return local_clock() - cputime_to_nsecs(kcpustat_this_cpu->cpustat[CPUTIME_STEAL]);
Already reported, see 
https://lists.ozlabs.org/pipermail/linuxppc-dev/2017-February/154433.html

See patch at http://patchwork.ozlabs.org/patch/730616/


Andrew

-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan@au1.ibm.com  IBM Australia Limited

Re: PowerPC build fail

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-02-27 10:38:15

Hi Tobin,

"Tobin C. Harding" [off-list ref] writes:
The current (2bfe01e) torvalds git tree fails to build on powerpc64. Buil=
d machine
is virtualized.

- Build error
arch/powerpc/kernel/time.c: In function =E2=80=98running_clock=E2=80=99:
arch/powerpc/kernel/time.c:712:25: error: implicit declaration of functio=
n =E2=80=98cputime_to_nsecs=E2=80=99
   return local_clock() - cputime_to_nsecs(kcpustat_this_cpu->cpustat[CPU=
TIME_STEAL]);
                          ^
...
If you think this can be fixed with the *little* kernel dev knowledge
I have please point me at a starting place and I will dig into it.
Thanks for trying to fix it.

You got unlucky and pulled Linus' tree just after a cleanup series was
merged, but before all the bugs had been shaken out.

cheers

Re: PowerPC build fail

From: Tobin C. Harding <hidden>
Date: 2017-02-27 20:04:59

On Mon, Feb 27, 2017 at 09:38:13PM +1100, Michael Ellerman wrote:
Hi Tobin,

"Tobin C. Harding" [off-list ref] writes:
quoted
The current (2bfe01e) torvalds git tree fails to build on powerpc64. Build machine
is virtualized.

- Build error
arch/powerpc/kernel/time.c: In function ‘running_clock’:
arch/powerpc/kernel/time.c:712:25: error: implicit declaration of function ‘cputime_to_nsecs’
   return local_clock() - cputime_to_nsecs(kcpustat_this_cpu->cpustat[CPUTIME_STEAL]);
                          ^
...
quoted
If you think this can be fixed with the *little* kernel dev knowledge
I have please point me at a starting place and I will dig into it.
Thanks for trying to fix it.

You got unlucky and pulled Linus' tree just after a cleanup series was
merged, but before all the bugs had been shaken out.
Au contraire, I felt lucky to have bumped into a bug. I would like to
find more :)

Tobin

Re: PowerPC build fail

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-02-28 03:42:34

"Tobin C. Harding" [off-list ref] writes:
On Mon, Feb 27, 2017 at 09:38:13PM +1100, Michael Ellerman wrote:
quoted
Hi Tobin,
=20
"Tobin C. Harding" [off-list ref] writes:
quoted
The current (2bfe01e) torvalds git tree fails to build on powerpc64. B=
uild machine
quoted
quoted
is virtualized.

- Build error
arch/powerpc/kernel/time.c: In function =E2=80=98running_clock=E2=80=
=99:
quoted
quoted
arch/powerpc/kernel/time.c:712:25: error: implicit declaration of func=
tion =E2=80=98cputime_to_nsecs=E2=80=99
quoted
quoted
   return local_clock() - cputime_to_nsecs(kcpustat_this_cpu->cpustat[=
CPUTIME_STEAL]);
quoted
quoted
                          ^
...
quoted
If you think this can be fixed with the *little* kernel dev knowledge
I have please point me at a starting place and I will dig into it.
=20
Thanks for trying to fix it.
=20
You got unlucky and pulled Linus' tree just after a cleanup series was
merged, but before all the bugs had been shaken out.
Au contraire, I felt lucky to have bumped into a bug. I would like to
find more :)
Hah, well, we have *plenty* :)

I keep a rough list of TODO/FIXME type things on github:

  https://github.com/linuxppc/linux/issues/


If there's anything there that you want to have a go at please feel
free. If you have questions you can either comment on the issues or mail
me and/or this list.

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help