* update.c:undefined reference to `irq_work_queue'
@ 2020-12-22 3:24 ` kernel test robot
0 siblings, 0 replies; 12+ messages in thread
From: kernel test robot @ 2020-12-22 3:24 UTC (permalink / raw
To: Paul E. McKenney; +Cc: kbuild-all, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1951 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8653b778e454a7708847aeafe689bce07aeeb94e
commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
date: 8 months ago
config: h8300-randconfig-s032-20201220 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
>> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 15612 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* update.c:undefined reference to `irq_work_queue'
@ 2020-12-22 3:24 ` kernel test robot
0 siblings, 0 replies; 12+ messages in thread
From: kernel test robot @ 2020-12-22 3:24 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1985 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8653b778e454a7708847aeafe689bce07aeeb94e
commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
date: 8 months ago
config: h8300-randconfig-s032-20201220 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
>> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 15612 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: update.c:undefined reference to `irq_work_queue'
2020-12-22 3:24 ` kernel test robot
@ 2020-12-22 5:03 ` Paul E. McKenney
-1 siblings, 0 replies; 12+ messages in thread
From: Paul E. McKenney @ 2020-12-22 5:03 UTC (permalink / raw
To: kernel test robot; +Cc: kbuild-all, linux-kernel
On Tue, Dec 22, 2020 at 11:24:22AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 8653b778e454a7708847aeafe689bce07aeeb94e
> commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
> date: 8 months ago
> config: h8300-randconfig-s032-20201220 (attached as .config)
> compiler: h8300-linux-gcc (GCC) 9.3.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # apt-get install sparse
> # sparse version: v0.6.3-184-g1b896707-dirty
> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
> h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
> h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
> h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
> >> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
Does the patch below help?
Thanx, Paul
------------------------------------------------------------------------
commit cb7220ed05190c9a92df95b52a21525a7e08a449
Author: Paul E. McKenney <paulmck@kernel.org>
Date: Mon Dec 21 21:00:18 2020 -0800
rcu: Make TASKS_TRACE_RCU select IRQ_WORK
Tasks Trace RCU uses irq_work_queue() to safely awaken its grace-period
kthread, so this commit therefore causes the TASKS_TRACE_RCU Kconfig
option select the IRQ_WORK Kconfig option.
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig
index aa8cc8c9..3128b7c 100644
--- a/kernel/rcu/Kconfig
+++ b/kernel/rcu/Kconfig
@@ -95,6 +95,7 @@ config TASKS_RUDE_RCU
config TASKS_TRACE_RCU
def_bool 0
+ select IRQ_WORK
help
This option enables a task-based RCU implementation that uses
explicit rcu_read_lock_trace() read-side markers, and allows
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: update.c:undefined reference to `irq_work_queue'
@ 2020-12-22 5:03 ` Paul E. McKenney
0 siblings, 0 replies; 12+ messages in thread
From: Paul E. McKenney @ 2020-12-22 5:03 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3006 bytes --]
On Tue, Dec 22, 2020 at 11:24:22AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 8653b778e454a7708847aeafe689bce07aeeb94e
> commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
> date: 8 months ago
> config: h8300-randconfig-s032-20201220 (attached as .config)
> compiler: h8300-linux-gcc (GCC) 9.3.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # apt-get install sparse
> # sparse version: v0.6.3-184-g1b896707-dirty
> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
> h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
> h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
> h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
> >> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
Does the patch below help?
Thanx, Paul
------------------------------------------------------------------------
commit cb7220ed05190c9a92df95b52a21525a7e08a449
Author: Paul E. McKenney <paulmck@kernel.org>
Date: Mon Dec 21 21:00:18 2020 -0800
rcu: Make TASKS_TRACE_RCU select IRQ_WORK
Tasks Trace RCU uses irq_work_queue() to safely awaken its grace-period
kthread, so this commit therefore causes the TASKS_TRACE_RCU Kconfig
option select the IRQ_WORK Kconfig option.
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig
index aa8cc8c9..3128b7c 100644
--- a/kernel/rcu/Kconfig
+++ b/kernel/rcu/Kconfig
@@ -95,6 +95,7 @@ config TASKS_RUDE_RCU
config TASKS_TRACE_RCU
def_bool 0
+ select IRQ_WORK
help
This option enables a task-based RCU implementation that uses
explicit rcu_read_lock_trace() read-side markers, and allows
^ permalink raw reply related [flat|nested] 12+ messages in thread
* update.c:undefined reference to `irq_work_queue'
@ 2020-12-23 15:14 ` kernel test robot
0 siblings, 0 replies; 12+ messages in thread
From: kernel test robot @ 2020-12-23 15:14 UTC (permalink / raw
To: Paul E. McKenney; +Cc: kbuild-all, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2000 bytes --]
Hi Paul,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 614cb5894306cfa2c7d9b6168182876ff5948735
commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
date: 8 months ago
config: h8300-randconfig-s032-20201220 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
>> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 15612 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* update.c:undefined reference to `irq_work_queue'
@ 2020-12-23 15:14 ` kernel test robot
0 siblings, 0 replies; 12+ messages in thread
From: kernel test robot @ 2020-12-23 15:14 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2038 bytes --]
Hi Paul,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 614cb5894306cfa2c7d9b6168182876ff5948735
commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
date: 8 months ago
config: h8300-randconfig-s032-20201220 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-184-g1b896707-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
>> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 15612 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: update.c:undefined reference to `irq_work_queue'
2020-12-23 15:14 ` kernel test robot
@ 2020-12-23 17:43 ` Paul E. McKenney
-1 siblings, 0 replies; 12+ messages in thread
From: Paul E. McKenney @ 2020-12-23 17:43 UTC (permalink / raw
To: kernel test robot; +Cc: kbuild-all, linux-kernel, ysato, uclinux-h8-devel
On Wed, Dec 23, 2020 at 11:14:48PM +0800, kernel test robot wrote:
> Hi Paul,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 614cb5894306cfa2c7d9b6168182876ff5948735
> commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
> date: 8 months ago
> config: h8300-randconfig-s032-20201220 (attached as .config)
> compiler: h8300-linux-gcc (GCC) 9.3.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # apt-get install sparse
> # sparse version: v0.6.3-184-g1b896707-dirty
> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
> h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
> h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
> h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
> >> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
And despite my "select IRQ_WORK", your .config file does not have
CONFIG_IRQ_WORK.
As it stands, Tasks Trace RCU needs irq_work_queue() in order to defer a
wakeup to a point in the code where it is safe to do a wakeup. If h8300
does not support irq_work_queue(), then h8300 should not try to use
Tasks Trace RCU.
I could add something like a BUILD_BUG_ON(!IS_ENABLED(CONFIG_IRQ_WORK))
in order to make this restriction official.
Adding the H8300 people on CC for their thoughts.
Thanx, Paul
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: update.c:undefined reference to `irq_work_queue'
@ 2020-12-23 17:43 ` Paul E. McKenney
0 siblings, 0 replies; 12+ messages in thread
From: Paul E. McKenney @ 2020-12-23 17:43 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2567 bytes --]
On Wed, Dec 23, 2020 at 11:14:48PM +0800, kernel test robot wrote:
> Hi Paul,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 614cb5894306cfa2c7d9b6168182876ff5948735
> commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
> date: 8 months ago
> config: h8300-randconfig-s032-20201220 (attached as .config)
> compiler: h8300-linux-gcc (GCC) 9.3.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # apt-get install sparse
> # sparse version: v0.6.3-184-g1b896707-dirty
> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
> h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
> h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
> h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
> >> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
And despite my "select IRQ_WORK", your .config file does not have
CONFIG_IRQ_WORK.
As it stands, Tasks Trace RCU needs irq_work_queue() in order to defer a
wakeup to a point in the code where it is safe to do a wakeup. If h8300
does not support irq_work_queue(), then h8300 should not try to use
Tasks Trace RCU.
I could add something like a BUILD_BUG_ON(!IS_ENABLED(CONFIG_IRQ_WORK))
in order to make this restriction official.
Adding the H8300 people on CC for their thoughts.
Thanx, Paul
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: update.c:undefined reference to `irq_work_queue'
2020-12-22 5:03 ` Paul E. McKenney
@ 2020-12-23 20:06 ` Randy Dunlap
-1 siblings, 0 replies; 12+ messages in thread
From: Randy Dunlap @ 2020-12-23 20:06 UTC (permalink / raw
To: paulmck, kernel test robot; +Cc: kbuild-all, linux-kernel
On 12/21/20 9:03 PM, Paul E. McKenney wrote:
> On Tue, Dec 22, 2020 at 11:24:22AM +0800, kernel test robot wrote:
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head: 8653b778e454a7708847aeafe689bce07aeeb94e
>> commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
>> date: 8 months ago
>> config: h8300-randconfig-s032-20201220 (attached as .config)
>> compiler: h8300-linux-gcc (GCC) 9.3.0
>> reproduce:
>> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> # apt-get install sparse
>> # sparse version: v0.6.3-184-g1b896707-dirty
>> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
>> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>> git fetch --no-tags linus master
>> git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
>> # save the attached .config to linux build tree
>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All errors (new ones prefixed by >>):
>>
>> h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
>> h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
>> h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
>> h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
>>>> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
>
> Does the patch below help?
>
> Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit cb7220ed05190c9a92df95b52a21525a7e08a449
> Author: Paul E. McKenney <paulmck@kernel.org>
> Date: Mon Dec 21 21:00:18 2020 -0800
>
> rcu: Make TASKS_TRACE_RCU select IRQ_WORK
>
> Tasks Trace RCU uses irq_work_queue() to safely awaken its grace-period
> kthread, so this commit therefore causes the TASKS_TRACE_RCU Kconfig
> option select the IRQ_WORK Kconfig option.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
>
> diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig
> index aa8cc8c9..3128b7c 100644
> --- a/kernel/rcu/Kconfig
> +++ b/kernel/rcu/Kconfig
> @@ -95,6 +95,7 @@ config TASKS_RUDE_RCU
>
> config TASKS_TRACE_RCU
> def_bool 0
> + select IRQ_WORK
> help
> This option enables a task-based RCU implementation that uses
> explicit rcu_read_lock_trace() read-side markers, and allows
>
WorksForMe. Thanks.
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: update.c:undefined reference to `irq_work_queue'
@ 2020-12-23 20:06 ` Randy Dunlap
0 siblings, 0 replies; 12+ messages in thread
From: Randy Dunlap @ 2020-12-23 20:06 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3261 bytes --]
On 12/21/20 9:03 PM, Paul E. McKenney wrote:
> On Tue, Dec 22, 2020 at 11:24:22AM +0800, kernel test robot wrote:
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head: 8653b778e454a7708847aeafe689bce07aeeb94e
>> commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
>> date: 8 months ago
>> config: h8300-randconfig-s032-20201220 (attached as .config)
>> compiler: h8300-linux-gcc (GCC) 9.3.0
>> reproduce:
>> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> # apt-get install sparse
>> # sparse version: v0.6.3-184-g1b896707-dirty
>> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
>> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>> git fetch --no-tags linus master
>> git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
>> # save the attached .config to linux build tree
>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All errors (new ones prefixed by >>):
>>
>> h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
>> h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
>> h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
>> h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
>>>> update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
>
> Does the patch below help?
>
> Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit cb7220ed05190c9a92df95b52a21525a7e08a449
> Author: Paul E. McKenney <paulmck@kernel.org>
> Date: Mon Dec 21 21:00:18 2020 -0800
>
> rcu: Make TASKS_TRACE_RCU select IRQ_WORK
>
> Tasks Trace RCU uses irq_work_queue() to safely awaken its grace-period
> kthread, so this commit therefore causes the TASKS_TRACE_RCU Kconfig
> option select the IRQ_WORK Kconfig option.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
>
> diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig
> index aa8cc8c9..3128b7c 100644
> --- a/kernel/rcu/Kconfig
> +++ b/kernel/rcu/Kconfig
> @@ -95,6 +95,7 @@ config TASKS_RUDE_RCU
>
> config TASKS_TRACE_RCU
> def_bool 0
> + select IRQ_WORK
> help
> This option enables a task-based RCU implementation that uses
> explicit rcu_read_lock_trace() read-side markers, and allows
>
WorksForMe. Thanks.
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: update.c:undefined reference to `irq_work_queue'
2020-12-23 20:06 ` Randy Dunlap
@ 2020-12-24 4:46 ` Paul E. McKenney
-1 siblings, 0 replies; 12+ messages in thread
From: Paul E. McKenney @ 2020-12-24 4:46 UTC (permalink / raw
To: Randy Dunlap; +Cc: kernel test robot, kbuild-all, linux-kernel
On Wed, Dec 23, 2020 at 12:06:07PM -0800, Randy Dunlap wrote:
> On 12/21/20 9:03 PM, Paul E. McKenney wrote:
> > On Tue, Dec 22, 2020 at 11:24:22AM +0800, kernel test robot wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head: 8653b778e454a7708847aeafe689bce07aeeb94e
> > > commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
> > > date: 8 months ago
> > > config: h8300-randconfig-s032-20201220 (attached as .config)
> > > compiler: h8300-linux-gcc (GCC) 9.3.0
> > > reproduce:
> > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > chmod +x ~/bin/make.cross
> > > # apt-get install sparse
> > > # sparse version: v0.6.3-184-g1b896707-dirty
> > > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
> > > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > > git fetch --no-tags linus master
> > > git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
> > > # save the attached .config to linux build tree
> > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
> > >
> > > If you fix the issue, kindly add following tag as appropriate
> > > Reported-by: kernel test robot <lkp@intel.com>
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
> > > h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
> > > h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
> > > h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
> > > > > update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
> >
> > Does the patch below help?
> >
> > Thanx, Paul
> >
> > ------------------------------------------------------------------------
> >
> > commit cb7220ed05190c9a92df95b52a21525a7e08a449
> > Author: Paul E. McKenney <paulmck@kernel.org>
> > Date: Mon Dec 21 21:00:18 2020 -0800
> >
> > rcu: Make TASKS_TRACE_RCU select IRQ_WORK
> > Tasks Trace RCU uses irq_work_queue() to safely awaken its grace-period
> > kthread, so this commit therefore causes the TASKS_TRACE_RCU Kconfig
> > option select the IRQ_WORK Kconfig option.
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> >
> > diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig
> > index aa8cc8c9..3128b7c 100644
> > --- a/kernel/rcu/Kconfig
> > +++ b/kernel/rcu/Kconfig
> > @@ -95,6 +95,7 @@ config TASKS_RUDE_RCU
> > config TASKS_TRACE_RCU
> > def_bool 0
> > + select IRQ_WORK
> > help
> > This option enables a task-based RCU implementation that uses
> > explicit rcu_read_lock_trace() read-side markers, and allows
> >
>
> WorksForMe. Thanks.
>
> Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Thank you, I will apply on my next rebase.
Thanx, Paul
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: update.c:undefined reference to `irq_work_queue'
@ 2020-12-24 4:46 ` Paul E. McKenney
0 siblings, 0 replies; 12+ messages in thread
From: Paul E. McKenney @ 2020-12-24 4:46 UTC (permalink / raw
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3529 bytes --]
On Wed, Dec 23, 2020 at 12:06:07PM -0800, Randy Dunlap wrote:
> On 12/21/20 9:03 PM, Paul E. McKenney wrote:
> > On Tue, Dec 22, 2020 at 11:24:22AM +0800, kernel test robot wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head: 8653b778e454a7708847aeafe689bce07aeeb94e
> > > commit: b38f57c1fe64276773b124dffb0a139cc32ab3cb rcu-tasks: Allow rcu_read_unlock_trace() under scheduler locks
> > > date: 8 months ago
> > > config: h8300-randconfig-s032-20201220 (attached as .config)
> > > compiler: h8300-linux-gcc (GCC) 9.3.0
> > > reproduce:
> > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > chmod +x ~/bin/make.cross
> > > # apt-get install sparse
> > > # sparse version: v0.6.3-184-g1b896707-dirty
> > > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b38f57c1fe64276773b124dffb0a139cc32ab3cb
> > > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > > git fetch --no-tags linus master
> > > git checkout b38f57c1fe64276773b124dffb0a139cc32ab3cb
> > > # save the attached .config to linux build tree
> > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
> > >
> > > If you fix the issue, kindly add following tag as appropriate
> > > Reported-by: kernel test robot <lkp@intel.com>
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > h8300-linux-ld: section .init.text LMA [000000000043a160,0000000000452569] overlaps section .rodata LMA [00000000003ff420,000000000047df2f]
> > > h8300-linux-ld: section .data VMA [0000000000400000,000000000043a15f] overlaps section .rodata VMA [00000000003ff420,000000000047df2f]
> > > h8300-linux-ld: section __ksymtab VMA [000000000047df30,000000000048611f] overlaps section .bss VMA [000000000045ebd0,000000000056a053]
> > > h8300-linux-ld: kernel/rcu/update.o: in function `rcu_read_unlock_trace_special':
> > > > > update.c:(.text+0x8f9): undefined reference to `irq_work_queue'
> >
> > Does the patch below help?
> >
> > Thanx, Paul
> >
> > ------------------------------------------------------------------------
> >
> > commit cb7220ed05190c9a92df95b52a21525a7e08a449
> > Author: Paul E. McKenney <paulmck@kernel.org>
> > Date: Mon Dec 21 21:00:18 2020 -0800
> >
> > rcu: Make TASKS_TRACE_RCU select IRQ_WORK
> > Tasks Trace RCU uses irq_work_queue() to safely awaken its grace-period
> > kthread, so this commit therefore causes the TASKS_TRACE_RCU Kconfig
> > option select the IRQ_WORK Kconfig option.
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> >
> > diff --git a/kernel/rcu/Kconfig b/kernel/rcu/Kconfig
> > index aa8cc8c9..3128b7c 100644
> > --- a/kernel/rcu/Kconfig
> > +++ b/kernel/rcu/Kconfig
> > @@ -95,6 +95,7 @@ config TASKS_RUDE_RCU
> > config TASKS_TRACE_RCU
> > def_bool 0
> > + select IRQ_WORK
> > help
> > This option enables a task-based RCU implementation that uses
> > explicit rcu_read_lock_trace() read-side markers, and allows
> >
>
> WorksForMe. Thanks.
>
> Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Thank you, I will apply on my next rebase.
Thanx, Paul
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-12-24 4:47 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-22 3:24 update.c:undefined reference to `irq_work_queue' kernel test robot
2020-12-22 3:24 ` kernel test robot
2020-12-22 5:03 ` Paul E. McKenney
2020-12-22 5:03 ` Paul E. McKenney
2020-12-23 20:06 ` Randy Dunlap
2020-12-23 20:06 ` Randy Dunlap
2020-12-24 4:46 ` Paul E. McKenney
2020-12-24 4:46 ` Paul E. McKenney
-- strict thread matches above, loose matches on Subject: below --
2020-12-23 15:14 kernel test robot
2020-12-23 15:14 ` kernel test robot
2020-12-23 17:43 ` Paul E. McKenney
2020-12-23 17:43 ` Paul E. McKenney
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.