Hi Peter,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on next-20200429]
[cannot apply to tip/sched/core tip/perf/core linus/master linux/master v5.7-rc3 v5.7-rc2
v5.7-rc1 v5.7-rc3]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see
https://stackoverflow.com/a/37406982]
url:
https://github.com/0day-ci/linux/commits/Peter-Zijlstra/Generic-RB-tree-h...
base: 861978d1331b7e988e0295a2275c669c767fa3f1
config: arm64-randconfig-a001-20200429 (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
f30416fdde922eaa655934e050026930fefbd260)
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
> kernel/events/core.c:1603:15: error: no member named
'cgroup' in 'struct perf_event'; did you mean 'cgrp'?
if (!right->cgroup) {
^~~~~~
cgrp
include/linux/perf_event.h:758:23: note: 'cgrp' declared here
struct perf_cgroup *cgrp; /* cgroup event is attach to */
^
> kernel/events/core.c:1611:17: error: passing 'const struct
cgroup *' to parameter of type 'struct cgroup *' discards qualifiers
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
if
(cgroup_id(left_cgroup) < cgroup_id(right_cgroup))
^~~~~~~~~~~
include/linux/cgroup.h:310:44: note: passing argument to parameter 'cgrp' here
static inline u64 cgroup_id(struct cgroup *cgrp)
^
2 errors generated.
vim +1603 kernel/events/core.c
1575
1576 /*
1577 * Compare function for event groups;
1578 *
1579 * Implements complex key that first sorts by CPU and then by virtual index
1580 * which provides ordering when rotating groups for the same CPU.
1581 */
1582 static __always_inline int
1583 perf_event_groups_cmp(const int left_cpu, const struct cgroup *left_cgroup,
1584 const u64 left_group_index, const struct perf_event *right)
1585 {
1586 if (left_cpu < right->cpu)
1587 return -1;
1588 if (left_cpu > right->cpu)
1589 return 1;
1590
1591 #ifdef CONFIG_CGROUP_PERF
1592 {
1593 struct cgroup *right_cgroup = right->cgrp ? right->cgrp->css.cgroup :
NULL;
1594
1595 if (left_cgroup != right_cgroup) {
1596 if (!left_cgroup) {
1597 /*
1598 * Left has no cgroup but right does, no cgroups come
1599 * first.
1600 */
1601 return -1;
1602 }
1603 if (!right->cgroup) {
1604 /*
1605 * Right has no cgroup but left does, no cgroups come
1606 * first.
1607 */
1608 return 1;
1609 }
1610 /* Two dissimilar cgroups, order by id. */
1611 if (cgroup_id(left_cgroup) < cgroup_id(right_cgroup))
1612 return -1;
1613
1614 return 1;
1615 }
1616 }
1617 #endif
1618
1619 if (left_group_index < right->group_index)
1620 return -1;
1621 if (left_group_index > right->group_index)
1622 return 1;
1623
1624 return 0;
1625 }
1626
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org