[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200814083552.GE3982@worktop.programming.kicks-ass.net>
Date: Fri, 14 Aug 2020 10:35:52 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Xingxing Su <suxingxing@...ngson.cn>
Cc: Ingo Molnar <mingo@...hat.com>, Will Deacon <will@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] seqlock: Fix build errors
On Fri, Aug 14, 2020 at 12:12:38PM +0800, Xingxing Su wrote:
> Fix the following build errors:
>
> In file included from ./include/linux/time.h:6:0,
> from ./include/linux/compat.h:10,
> from arch/mips/kernel/asm-offsets.c:12:
> ./include/linux/seqlock.h: In function ‘write_seqcount_begin_nested’:
> ./include/linux/seqlock.h:286:2: error: implicit declaration of function
> ‘raw_smp_processor_id’ [-Werror=implicit-function-declaration]
> lockdep_assert_preemption_disabled();
> ^
> ./arch/mips/include/asm/smp.h: At top level:
> ./arch/mips/include/asm/smp.h:28:19: error: static declaration of
> ‘raw_smp_processor_id’ follows non-static declaration
> static inline int raw_smp_processor_id(void)
> ^
> cc1: some warnings being treated as errors
> scripts/Makefile.build:117: recipe for target 'arch/mips/kernel/asm-offsets.s' failed
> make[1]: *** [arch/mips/kernel/asm-offsets.s] Error 1
> arch/mips/Makefile:396: recipe for target 'archprepare' failed
> make: *** [archprepare] Error 2
>
What kernel are you building?
Commit 0cd39f4600ed ("locking/seqlock, headers: Untangle the spaghetti monster")
should have solved that I think.
>
> Signed-off-by: Xingxing Su <suxingxing@...ngson.cn>
> ---
> v2: update the commit message
>
> include/linux/seqlock.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h
> index 54bc204..4763c13 100644
> --- a/include/linux/seqlock.h
> +++ b/include/linux/seqlock.h
> @@ -17,6 +17,7 @@
> #include <linux/lockdep.h>
> #include <linux/compiler.h>
> #include <linux/kcsan-checks.h>
> +#include <linux/smp.h>
> #include <asm/processor.h>
Wrong place, it's lockdep_assert_preemption_disabled() that requires
asm/percpu.h, and thus lockdep.h should include linux/smp. before
asm/percpu.h
Powered by blists - more mailing lists