Hi Namhyung, I love your patch! Perhaps something to improve: [auto build test WARNING on tip/auto-latest] [also build test WARNING on linux/master linus/master v5.5-rc3 next-20191219] [cannot apply to tip/perf/core] [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/Namhyung-Kim/perf-Improve-cgroup-profiling-v3/20191225-035231 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git ec7b10f2d023bd79cf067c60c194f72a6d672319 reproduce: # apt-get install sparse # sparse version: v0.6.1-129-g341daf20-dirty make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag Reported-by: kbuild test robot sparse warnings: (new ones prefixed by >>) kernel/events/core.c:572:26: sparse: sparse: function 'perf_pmu_name' with external linkage has definition kernel/events/core.c:1385:15: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:1385:15: sparse: struct perf_event_context [noderef] * kernel/events/core.c:1385:15: sparse: struct perf_event_context * kernel/events/core.c:1398:28: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:1398:28: sparse: struct perf_event_context [noderef] * kernel/events/core.c:1398:28: sparse: struct perf_event_context * kernel/events/core.c:3222:18: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:3222:18: sparse: struct perf_event_context [noderef] * kernel/events/core.c:3222:18: sparse: struct perf_event_context * kernel/events/core.c:3223:23: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:3223:23: sparse: struct perf_event_context [noderef] * kernel/events/core.c:3223:23: sparse: struct perf_event_context * kernel/events/core.c:3265:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:3265:25: sparse: struct perf_event_context [noderef] * kernel/events/core.c:3265:25: sparse: struct perf_event_context * kernel/events/core.c:3266:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:3266:25: sparse: struct perf_event_context [noderef] * kernel/events/core.c:3266:25: sparse: struct perf_event_context * kernel/events/core.c:4341:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:4341:25: sparse: struct perf_event_context [noderef] * kernel/events/core.c:4341:25: sparse: struct perf_event_context * kernel/events/core.c:5599:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:5599:9: sparse: struct ring_buffer [noderef] * kernel/events/core.c:5599:9: sparse: struct ring_buffer * kernel/events/core.c:5075:24: sparse: sparse: incorrect type in assignment (different base types) kernel/events/core.c:5075:24: sparse: expected restricted __poll_t [usertype] events kernel/events/core.c:5075:24: sparse: got int kernel/events/core.c:5305:22: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:5305:22: sparse: struct ring_buffer [noderef] * kernel/events/core.c:5305:22: sparse: struct ring_buffer * kernel/events/core.c:5441:14: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:5441:14: sparse: struct ring_buffer [noderef] * kernel/events/core.c:5441:14: sparse: struct ring_buffer * kernel/events/core.c:5474:14: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:5474:14: sparse: struct ring_buffer [noderef] * kernel/events/core.c:5474:14: sparse: struct ring_buffer * kernel/events/core.c:5531:14: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:5531:14: sparse: struct ring_buffer [noderef] * kernel/events/core.c:5531:14: sparse: struct ring_buffer * kernel/events/core.c:5617:14: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:5617:14: sparse: struct ring_buffer [noderef] * kernel/events/core.c:5617:14: sparse: struct ring_buffer * kernel/events/core.c:5630:14: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:5630:14: sparse: struct ring_buffer [noderef] * kernel/events/core.c:5630:14: sparse: struct ring_buffer * kernel/events/internal.h:204:1: sparse: sparse: incorrect type in argument 2 (different address spaces) kernel/events/internal.h:204:1: sparse: expected void const [noderef] *from kernel/events/internal.h:204:1: sparse: got void const *buf kernel/events/core.c:6305:6: sparse: sparse: symbol 'perf_pmu_snapshot_aux' was not declared. Should it be static? kernel/events/core.c:7094:23: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:7094:23: sparse: struct perf_event_context [noderef] * kernel/events/core.c:7094:23: sparse: struct perf_event_context * kernel/events/core.c:7185:13: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:7185:13: sparse: struct ring_buffer [noderef] * kernel/events/core.c:7185:13: sparse: struct ring_buffer * >> kernel/events/core.c:7618:6: sparse: sparse: symbol 'perf_event_cgroup' was not declared. Should it be static? kernel/events/core.c:7972:23: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:7972:23: sparse: struct perf_event_context [noderef] * kernel/events/core.c:7972:23: sparse: struct perf_event_context * kernel/events/core.c:8702:17: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:8702:17: sparse: struct swevent_hlist [noderef] * kernel/events/core.c:8702:17: sparse: struct swevent_hlist * kernel/events/core.c:8722:17: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:8722:17: sparse: struct swevent_hlist [noderef] * kernel/events/core.c:8722:17: sparse: struct swevent_hlist * kernel/events/core.c:8842:16: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:8842:16: sparse: struct swevent_hlist [noderef] * kernel/events/core.c:8842:16: sparse: struct swevent_hlist * kernel/events/core.c:8853:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:8853:9: sparse: struct swevent_hlist [noderef] * kernel/events/core.c:8853:9: sparse: struct swevent_hlist * kernel/events/core.c:8842:16: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:8842:16: sparse: struct swevent_hlist [noderef] * kernel/events/core.c:8842:16: sparse: struct swevent_hlist * kernel/events/core.c:8892:17: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:8892:17: sparse: struct swevent_hlist [noderef] * kernel/events/core.c:8892:17: sparse: struct swevent_hlist * kernel/events/core.c:9073:23: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:9073:23: sparse: struct perf_event_context [noderef] * kernel/events/core.c:9073:23: sparse: struct perf_event_context * kernel/events/core.c:10244:1: sparse: sparse: symbol 'dev_attr_nr_addr_filters' was not declared. Should it be static? kernel/events/core.c:11967:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:11967:9: sparse: struct perf_event_context [noderef] * kernel/events/core.c:11967:9: sparse: struct perf_event_context * kernel/events/core.c:12077:17: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:12077:17: sparse: struct perf_event_context [noderef] * kernel/events/core.c:12077:17: sparse: struct perf_event_context * kernel/events/core.c:8842:16: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:8842:16: sparse: struct swevent_hlist [noderef] * kernel/events/core.c:8842:16: sparse: struct swevent_hlist * kernel/events/core.c:12501:17: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/events/core.c:12501:17: sparse: struct swevent_hlist [noderef] * kernel/events/core.c:12501:17: sparse: struct swevent_hlist * kernel/events/core.c:155:9: sparse: sparse: context imbalance in 'perf_ctx_lock' - wrong count at exit kernel/events/core.c:163:17: sparse: sparse: context imbalance in 'perf_ctx_unlock' - unexpected unlock kernel/events/core.c:1405:17: sparse: sparse: context imbalance in 'perf_lock_task_context' - different lock contexts for basic block kernel/events/core.c:1432:17: sparse: sparse: context imbalance in 'perf_pin_task_context' - unexpected unlock kernel/events/core.c:2652:9: sparse: sparse: context imbalance in '__perf_install_in_context' - wrong count at exit kernel/events/core.c:4313:17: sparse: sparse: context imbalance in 'find_get_context' - unexpected unlock Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation