mmotm 2022-03-16-17-42 uploaded (uml sub-x86_64, sched/fair, RCU)

Sachin Sant sachinp at linux.ibm.com
Thu Mar 17 21:32:40 PDT 2022


>> I still can't reproduce this :(
>> 
>>> This fixes the build error for me when CONFIG_PSI=n.
>> 
>> I have CONFIG_PSI=n
> 
> There was also this report about linux-next, also with CONFIG_PSI=n:
> 
> https://lore.kernel.org/all/EF33D230-9A8F-41C5-A38D-95128603224F@linux.ibm.com/

Yes, I can still recreate this build error (against 5.17.0-rc8-next-20220317)

  CC      kernel/sched/fair.o
In file included from ./arch/powerpc/include/generated/asm/rwonce.h:1,
                 from ./include/linux/compiler.h:248,
                 from ./include/linux/kernel.h:20,
                 from ./include/linux/cpumask.h:10,
                 from ./include/linux/energy_model.h:4,
                 from kernel/sched/fair.c:23:
./include/linux/psi.h: In function 'cgroup_move_task':
./include/linux/rcupdate.h:414:36: error: dereferencing pointer to incomplete type 'struct css_set'
 #define RCU_INITIALIZER(v) (typeof(*(v)) __force __rcu *)(v)
                                    ^~~~
./include/asm-generic/rwonce.h:55:33: note: in definition of macro '__WRITE_ONC'
  *(volatile typeof(x) *)&(x) = (val);    \
                                 ^~~
./arch/powerpc/include/asm/barrier.h:74:2: note: in expansion of macro 'WRITE_ONCE'
  WRITE_ONCE(*p, v);      \
  ^~~~~~~~~~
./include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
 #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
                                                       ^~~~~~~~~~~~~~~~~~~
./include/linux/rcupdate.h:455:3: note: in expansion of macro 'smp_store_releas'
   smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
   ^~~~~~~~~~~~~~~~~
./include/linux/rcupdate.h:455:25: note: in expansion of macro 'RCU_INITIALIZER'
   smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
                         ^~~~~~~~~~~~~~~
./include/linux/psi.h:58:2: note: in expansion of macro 'rcu_assign_pointer'
  rcu_assign_pointer(p->cgroups, to);
  ^~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:310: kernel/sched/fair.o] Error 1
make[1]: *** [scripts/Makefile.build:638: kernel/sched] Error 2
make: *** [Makefile:1991: kernel] Error 2

As mentioned by Randy, this build break was introduced in next-20220316.
Git bisect points to:
commit c4ad6fcb67c42d65481c85733c8009c8afdfdf4e (refs/bisect/bad)
   sched/headers: Reorganize, clean up and optimize kernel/sched/fair.c dependencies

The change suggested by Randy works for me.

I have attached .config for reference.

-Sachin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: config_next.gz
Type: application/x-gzip
Size: 41403 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-um/attachments/20220318/667b9e1c/attachment-0001.bin>


More information about the linux-um mailing list