* Re: [PATCH v7 6/6] powerpc: pSeries: Add pv-qspinlock build config/make
[not found] <1474277037-15200-7-git-send-email-xinhui.pan@linux.vnet.ibm.com>
@ 2016-09-19 8:58 ` kbuild test robot
2016-09-22 5:54 ` xinhui
0 siblings, 1 reply; 4+ messages in thread
From: kbuild test robot @ 2016-09-19 8:58 UTC (permalink / raw)
Cc: xinhui.pan, peterz, mpe, linux-kernel, waiman.long,
virtualization, mingo, paulus, kbuild-all, benh, paulmck,
linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 10966 bytes --]
Hi Pan,
[auto build test ERROR on powerpc/next]
[also build test ERROR on v4.8-rc7 next-20160916]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]
url: https://github.com/0day-ci/linux/commits/Pan-Xinhui/Implement-qspinlock-pv-qspinlock-on-ppc/20160919-133130
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/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 >>):
include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:326:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg");
^~~~~~~~~~~~~~~~
In function '__cmpxchg',
inlined from 'pv_wait_node' at kernel/locking/qspinlock_paravirt.h:328:3,
inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:538:3:
include/linux/compiler.h:491:38: error: call to '__compiletime_assert_326' declared with attribute error: Unsupported size for __cmpxchg
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:326:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg");
^~~~~~~~~~~~~~~~
In function '__cmpxchg',
inlined from 'pv_wait_head_or_lock' at kernel/locking/qspinlock_paravirt.h:109:10,
inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:573:5:
include/linux/compiler.h:491:38: error: call to '__compiletime_assert_326' declared with attribute error: Unsupported size for __cmpxchg
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:326:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg");
^~~~~~~~~~~~~~~~
In function '__xchg_relaxed',
inlined from 'pv_wait_head_or_lock' at kernel/locking/qspinlock_paravirt.h:442:8,
inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:573:5:
include/linux/compiler.h:491:38: error: call to '__compiletime_assert_113' declared with attribute error: Unsupported size for __xchg_local
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:113:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(1, "Unsupported size for __xchg_local");
^~~~~~~~~~~~~~~~
In function '__cmpxchg',
inlined from 'pv_kick_node' at kernel/locking/qspinlock_paravirt.h:366:6,
inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:616:2:
include/linux/compiler.h:491:38: error: call to '__compiletime_assert_326' declared with attribute error: Unsupported size for __cmpxchg
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:326:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg");
^~~~~~~~~~~~~~~~
In function '__xchg_relaxed',
inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:184:14:
include/linux/compiler.h:491:38: error: call to '__compiletime_assert_113' declared with attribute error: Unsupported size for __xchg_local
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:113:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(1, "Unsupported size for __xchg_local");
^~~~~~~~~~~~~~~~
In function '__cmpxchg_relaxed',
inlined from '__pv_queued_spin_unlock' at kernel/locking/qspinlock_paravirt.h:547:11:
>> include/linux/compiler.h:491:38: error: call to '__compiletime_assert_358' declared with attribute error: Unsupported size for __cmpxchg_relaxed
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^
include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:358:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg_relaxed");
^~~~~~~~~~~~~~~~
vim +/__compiletime_assert_358 +491 include/linux/compiler.h
9a8ab1c3 Daniel Santos 2013-02-21 475 __compiletime_error_fallback(__cond); \
9a8ab1c3 Daniel Santos 2013-02-21 476 } while (0)
9a8ab1c3 Daniel Santos 2013-02-21 477
9a8ab1c3 Daniel Santos 2013-02-21 478 #define _compiletime_assert(condition, msg, prefix, suffix) \
9a8ab1c3 Daniel Santos 2013-02-21 479 __compiletime_assert(condition, msg, prefix, suffix)
9a8ab1c3 Daniel Santos 2013-02-21 480
9a8ab1c3 Daniel Santos 2013-02-21 481 /**
9a8ab1c3 Daniel Santos 2013-02-21 482 * compiletime_assert - break build and emit msg if condition is false
9a8ab1c3 Daniel Santos 2013-02-21 483 * @condition: a compile-time constant condition to check
9a8ab1c3 Daniel Santos 2013-02-21 484 * @msg: a message to emit if condition is false
9a8ab1c3 Daniel Santos 2013-02-21 485 *
9a8ab1c3 Daniel Santos 2013-02-21 486 * In tradition of POSIX assert, this macro will break the build if the
9a8ab1c3 Daniel Santos 2013-02-21 487 * supplied condition is *false*, emitting the supplied error message if the
9a8ab1c3 Daniel Santos 2013-02-21 488 * compiler has support to do so.
9a8ab1c3 Daniel Santos 2013-02-21 489 */
9a8ab1c3 Daniel Santos 2013-02-21 490 #define compiletime_assert(condition, msg) \
9a8ab1c3 Daniel Santos 2013-02-21 @491 _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
9a8ab1c3 Daniel Santos 2013-02-21 492
47933ad4 Peter Zijlstra 2013-11-06 493 #define compiletime_assert_atomic_type(t) \
47933ad4 Peter Zijlstra 2013-11-06 494 compiletime_assert(__native_word(t), \
47933ad4 Peter Zijlstra 2013-11-06 495 "Need native word sized stores/loads for atomicity.")
47933ad4 Peter Zijlstra 2013-11-06 496
9c3cdc1f Linus Torvalds 2008-05-10 497 /*
9c3cdc1f Linus Torvalds 2008-05-10 498 * Prevent the compiler from merging or refetching accesses. The compiler
9c3cdc1f Linus Torvalds 2008-05-10 499 * is also forbidden from reordering successive instances of ACCESS_ONCE(),
:::::: The code at line 491 was first introduced by commit
:::::: 9a8ab1c39970a4938a72d94e6fd13be88a797590 bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSG
:::::: TO: Daniel Santos <daniel.santos@pobox.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.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: 49942 bytes --]
[-- Attachment #3: Type: text/plain, Size: 183 bytes --]
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v7 6/6] powerpc: pSeries: Add pv-qspinlock build config/make
2016-09-19 9:23 [PATCH v7 0/6] Implement qspinlock/pv-qspinlock on ppc Pan Xinhui
@ 2016-09-19 9:23 ` Pan Xinhui
0 siblings, 0 replies; 4+ messages in thread
From: Pan Xinhui @ 2016-09-19 9:23 UTC (permalink / raw)
To: linux-kernel, linuxppc-dev
Cc: xinhui.pan, peterz, benh, waiman.long, virtualization, mingo,
paulus, mpe, paulmck
pSeries run as a guest and might need pv-qspinlock.
Signed-off-by: Pan Xinhui <xinhui.pan@linux.vnet.ibm.com>
---
arch/powerpc/kernel/Makefile | 1 +
arch/powerpc/platforms/pseries/Kconfig | 8 ++++++++
2 files changed, 9 insertions(+)
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index fe4c075..efd2f3d 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -49,6 +49,7 @@ obj-$(CONFIG_PPC_970_NAP) += idle_power4.o
obj-$(CONFIG_PPC_P7_NAP) += idle_book3s.o
procfs-y := proc_powerpc.o
obj-$(CONFIG_PROC_FS) += $(procfs-y)
+obj-$(CONFIG_PARAVIRT_SPINLOCKS) += paravirt.o
rtaspci-$(CONFIG_PPC64)-$(CONFIG_PCI) := rtas_pci.o
obj-$(CONFIG_PPC_RTAS) += rtas.o rtas-rtc.o $(rtaspci-y-y)
obj-$(CONFIG_PPC_RTAS_DAEMON) += rtasd.o
diff --git a/arch/powerpc/platforms/pseries/Kconfig b/arch/powerpc/platforms/pseries/Kconfig
index f669323..46632e4 100644
--- a/arch/powerpc/platforms/pseries/Kconfig
+++ b/arch/powerpc/platforms/pseries/Kconfig
@@ -128,3 +128,11 @@ config HV_PERF_CTRS
systems. 24x7 is available on Power 8 systems.
If unsure, select Y.
+
+config PARAVIRT_SPINLOCKS
+ bool "Paravirtialization support for qspinlock"
+ depends on PPC_SPLPAR && QUEUED_SPINLOCKS
+ default y
+ help
+ If platform supports virtualization, for example PowerVM, this option
+ can let guest have a better performace.
--
2.4.11
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v7 6/6] powerpc: pSeries: Add pv-qspinlock build config/make
2016-09-19 8:58 ` [PATCH v7 6/6] powerpc: pSeries: Add pv-qspinlock build config/make kbuild test robot
@ 2016-09-22 5:54 ` xinhui
2016-09-22 10:31 ` Michael Ellerman
0 siblings, 1 reply; 4+ messages in thread
From: xinhui @ 2016-09-22 5:54 UTC (permalink / raw)
To: kbuild test robot
Cc: peterz, mpe, linux-kernel, waiman.long, virtualization, mingo,
paulus, kbuild-all, benh, paulmck, linuxppc-dev
hi, all
ok, this patch set depends on
https://patchwork.kernel.org/patch/8953981/ [V4] powerpc: Implement {cmp}xchg for u8 and u16
sorry.
On 2016年09月19日 16:58, kbuild test robot wrote:
> Hi Pan,
>
> [auto build test ERROR on powerpc/next]
> [also build test ERROR on v4.8-rc7 next-20160916]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> [Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
> [Check https://git-scm.com/docs/git-format-patch for more information]
>
> url: https://github.com/0day-ci/linux/commits/Pan-Xinhui/Implement-qspinlock-pv-qspinlock-on-ppc/20160919-133130
> base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
> config: powerpc-allyesconfig (attached as .config)
> compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/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 >>):
>
> include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^~~~~~~~~~~~~~~~~~~
> include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> ^~~~~~~~~~~~~~~~~~
> arch/powerpc/include/asm/cmpxchg.h:326:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg");
> ^~~~~~~~~~~~~~~~
> In function '__cmpxchg',
> inlined from 'pv_wait_node' at kernel/locking/qspinlock_paravirt.h:328:3,
> inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:538:3:
> include/linux/compiler.h:491:38: error: call to '__compiletime_assert_326' declared with attribute error: Unsupported size for __cmpxchg
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^
> include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
> prefix ## suffix(); \
> ^~~~~~
> include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^~~~~~~~~~~~~~~~~~~
> include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> ^~~~~~~~~~~~~~~~~~
> arch/powerpc/include/asm/cmpxchg.h:326:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg");
> ^~~~~~~~~~~~~~~~
> In function '__cmpxchg',
> inlined from 'pv_wait_head_or_lock' at kernel/locking/qspinlock_paravirt.h:109:10,
> inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:573:5:
> include/linux/compiler.h:491:38: error: call to '__compiletime_assert_326' declared with attribute error: Unsupported size for __cmpxchg
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^
> include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
> prefix ## suffix(); \
> ^~~~~~
> include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^~~~~~~~~~~~~~~~~~~
> include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> ^~~~~~~~~~~~~~~~~~
> arch/powerpc/include/asm/cmpxchg.h:326:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg");
> ^~~~~~~~~~~~~~~~
> In function '__xchg_relaxed',
> inlined from 'pv_wait_head_or_lock' at kernel/locking/qspinlock_paravirt.h:442:8,
> inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:573:5:
> include/linux/compiler.h:491:38: error: call to '__compiletime_assert_113' declared with attribute error: Unsupported size for __xchg_local
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^
> include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
> prefix ## suffix(); \
> ^~~~~~
> include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^~~~~~~~~~~~~~~~~~~
> include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> ^~~~~~~~~~~~~~~~~~
> arch/powerpc/include/asm/cmpxchg.h:113:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> BUILD_BUG_ON_MSG(1, "Unsupported size for __xchg_local");
> ^~~~~~~~~~~~~~~~
> In function '__cmpxchg',
> inlined from 'pv_kick_node' at kernel/locking/qspinlock_paravirt.h:366:6,
> inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:616:2:
> include/linux/compiler.h:491:38: error: call to '__compiletime_assert_326' declared with attribute error: Unsupported size for __cmpxchg
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^
> include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
> prefix ## suffix(); \
> ^~~~~~
> include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^~~~~~~~~~~~~~~~~~~
> include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> ^~~~~~~~~~~~~~~~~~
> arch/powerpc/include/asm/cmpxchg.h:326:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg");
> ^~~~~~~~~~~~~~~~
> In function '__xchg_relaxed',
> inlined from '__pv_queued_spin_lock_slowpath' at kernel/locking/qspinlock.c:184:14:
> include/linux/compiler.h:491:38: error: call to '__compiletime_assert_113' declared with attribute error: Unsupported size for __xchg_local
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^
> include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
> prefix ## suffix(); \
> ^~~~~~
> include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^~~~~~~~~~~~~~~~~~~
> include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> ^~~~~~~~~~~~~~~~~~
> arch/powerpc/include/asm/cmpxchg.h:113:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> BUILD_BUG_ON_MSG(1, "Unsupported size for __xchg_local");
> ^~~~~~~~~~~~~~~~
> In function '__cmpxchg_relaxed',
> inlined from '__pv_queued_spin_unlock' at kernel/locking/qspinlock_paravirt.h:547:11:
>>> include/linux/compiler.h:491:38: error: call to '__compiletime_assert_358' declared with attribute error: Unsupported size for __cmpxchg_relaxed
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^
> include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert'
> prefix ## suffix(); \
> ^~~~~~
> include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert'
> _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> ^~~~~~~~~~~~~~~~~~~
> include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> ^~~~~~~~~~~~~~~~~~
> arch/powerpc/include/asm/cmpxchg.h:358:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
> BUILD_BUG_ON_MSG(1, "Unsupported size for __cmpxchg_relaxed");
> ^~~~~~~~~~~~~~~~
>
> vim +/__compiletime_assert_358 +491 include/linux/compiler.h
>
> 9a8ab1c3 Daniel Santos 2013-02-21 475 __compiletime_error_fallback(__cond); \
> 9a8ab1c3 Daniel Santos 2013-02-21 476 } while (0)
> 9a8ab1c3 Daniel Santos 2013-02-21 477
> 9a8ab1c3 Daniel Santos 2013-02-21 478 #define _compiletime_assert(condition, msg, prefix, suffix) \
> 9a8ab1c3 Daniel Santos 2013-02-21 479 __compiletime_assert(condition, msg, prefix, suffix)
> 9a8ab1c3 Daniel Santos 2013-02-21 480
> 9a8ab1c3 Daniel Santos 2013-02-21 481 /**
> 9a8ab1c3 Daniel Santos 2013-02-21 482 * compiletime_assert - break build and emit msg if condition is false
> 9a8ab1c3 Daniel Santos 2013-02-21 483 * @condition: a compile-time constant condition to check
> 9a8ab1c3 Daniel Santos 2013-02-21 484 * @msg: a message to emit if condition is false
> 9a8ab1c3 Daniel Santos 2013-02-21 485 *
> 9a8ab1c3 Daniel Santos 2013-02-21 486 * In tradition of POSIX assert, this macro will break the build if the
> 9a8ab1c3 Daniel Santos 2013-02-21 487 * supplied condition is *false*, emitting the supplied error message if the
> 9a8ab1c3 Daniel Santos 2013-02-21 488 * compiler has support to do so.
> 9a8ab1c3 Daniel Santos 2013-02-21 489 */
> 9a8ab1c3 Daniel Santos 2013-02-21 490 #define compiletime_assert(condition, msg) \
> 9a8ab1c3 Daniel Santos 2013-02-21 @491 _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
> 9a8ab1c3 Daniel Santos 2013-02-21 492
> 47933ad4 Peter Zijlstra 2013-11-06 493 #define compiletime_assert_atomic_type(t) \
> 47933ad4 Peter Zijlstra 2013-11-06 494 compiletime_assert(__native_word(t), \
> 47933ad4 Peter Zijlstra 2013-11-06 495 "Need native word sized stores/loads for atomicity.")
> 47933ad4 Peter Zijlstra 2013-11-06 496
> 9c3cdc1f Linus Torvalds 2008-05-10 497 /*
> 9c3cdc1f Linus Torvalds 2008-05-10 498 * Prevent the compiler from merging or refetching accesses. The compiler
> 9c3cdc1f Linus Torvalds 2008-05-10 499 * is also forbidden from reordering successive instances of ACCESS_ONCE(),
>
> :::::: The code at line 491 was first introduced by commit
> :::::: 9a8ab1c39970a4938a72d94e6fd13be88a797590 bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSG
>
> :::::: TO: Daniel Santos <daniel.santos@pobox.com>
> :::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
>
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v7 6/6] powerpc: pSeries: Add pv-qspinlock build config/make
2016-09-22 5:54 ` xinhui
@ 2016-09-22 10:31 ` Michael Ellerman
0 siblings, 0 replies; 4+ messages in thread
From: Michael Ellerman @ 2016-09-22 10:31 UTC (permalink / raw)
To: xinhui, kbuild test robot
Cc: peterz, benh, linux-kernel, waiman.long, virtualization, mingo,
paulus, kbuild-all, paulmck, linuxppc-dev
xinhui <xinhui.pan@linux.vnet.ibm.com> writes:
> hi, all
> ok, this patch set depends on
> https://patchwork.kernel.org/patch/8953981/ [V4] powerpc: Implement {cmp}xchg for u8 and u16
AKA: https://patchwork.ozlabs.org/patch/615480/
Sorry I saw the discussion on that and thought there'd be a new version.
But now I read the whole thread it looks like it was OK in the end.
I'll try and get it merged.
cheers
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-09-22 10:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1474277037-15200-7-git-send-email-xinhui.pan@linux.vnet.ibm.com>
2016-09-19 8:58 ` [PATCH v7 6/6] powerpc: pSeries: Add pv-qspinlock build config/make kbuild test robot
2016-09-22 5:54 ` xinhui
2016-09-22 10:31 ` Michael Ellerman
2016-09-19 9:23 [PATCH v7 0/6] Implement qspinlock/pv-qspinlock on ppc Pan Xinhui
2016-09-19 9:23 ` [PATCH v7 6/6] powerpc: pSeries: Add pv-qspinlock build config/make Pan Xinhui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox