Skip to contentSkip to conversation

mainline build failure due to 8238b4579866 ("wait_on_bit: add an acquire memory barrier")

DISCUSSION Sudip Mukherjee (Codethink) 2 participants 3 messages Aug 27, 2022 Generic include/asm header files

lore
Share & tools
lore
#0 lore raw

Hi All,

The latest mainline kernel branch fails to build alpha and s390 allmodconfig.

alpha error is:

In file included from ./include/linux/thread_info.h:27,

                 from ./include/asm-generic/current.h:5,
                 from ./arch/alpha/include/generated/asm/current.h:1,
                 from ./include/linux/sched.h:12,
                 from arch/alpha/kernel/asm-offsets.c:10:
./include/linux/wait_bit.h: In function 'wait_on_bit':
./include/asm-generic/bitops/non-instrumented-non-atomic.h:15:33: error: implicit declaration of function 'arch_test_bit_acquire'; did you mean '_test_bit_acquire'? [-Werror=implicit-function-declaration]
   15 | #define _test_bit_acquire       arch_test_bit_acquire
      |                                 ^~~~~~~~~~~~~~~~~~~~~

./include/linux/bitops.h:53:32: note: in definition of macro 'bitop'
53 | const##op(nr, addr) : op(nr, addr))
| ^~
./include/linux/bitops.h:62:47: note: in expansion of macro '_test_bit_acquire'
62 | #define test_bit_acquire(nr, addr) bitop(_test_bit_acquire, nr, addr)

      |                                               ^~~~~~~~~~~~~~~~~
./include/linux/wait_bit.h:74:14: note: in expansion of macro 'test_bit_acquire'
   74 |         if (!test_bit_acquire(bit, word))
      |              ^~~~~~~~~~~~~~~~

s390 error is:

In file included from ./arch/s390/include/asm/bitops.h:211,

                 from ./include/linux/bitops.h:68,
                 from ./include/linux/log2.h:12,
                 from kernel/bounds.c:13:
./include/asm-generic/bitops/instrumented-non-atomic.h: In function '_test_bit_acquire':
./include/asm-generic/bitops/instrumented-non-atomic.h:154:16: error: implicit declaration of function 'arch_test_bit_acquire'; did you mean '_test_bit_acquire'? [-Werror=implicit-function-declaration]
  154 |         return arch_test_bit_acquire(nr, addr);
      |                ^~~~~~~~~~~~~~~~~~~~~
      |                _test_bit_acquire

git bisect pointed to 8238b4579866 ("wait_on_bit: add an acquire memory barrier"). And, reverting that commit has fixed the build failure.

I will be happy to test any patch or provide any extra log if needed.

--
Regards
Sudip

#1 lore raw
Quoted 2 lines · Sudip Mukherjee (Codethink)

I will be happy to test any patch or provide any extra log if needed.

This should now be fixed by commit d6ffe6067a54 ("provide arch_test_bit_acquire for architectures that define test_bit").

Linus

#2 lore raw
Quoted 8 lines · Linus Torvalds
Quoted 2 lines · Sudip Mukherjee (Codethink)

I will be happy to test any patch or provide any extra log if needed.

This should now be fixed by commit d6ffe6067a54 ("provide arch_test_bit_acquire for architectures that define test_bit").

Yeah, it has. Just now tested s390 build with 89b749d8552d ("Merge tag 'fbdev-for-6.0-rc3' of
git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev").

Signature · 2 lines
Regards
Sudip