All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] perf lock: Print the number of lost entries for BPF
@ 2024-08-09 12:29 Dan Carpenter
  2024-08-10 19:17 ` [PATCH] perf lock contention: Change stack_id type to s32 Namhyung Kim
  0 siblings, 1 reply; 8+ messages in thread
From: Dan Carpenter @ 2024-08-09 12:29 UTC (permalink / raw)
  To: Namhyung Kim; +Cc: linux-perf-users

Hello Namhyung Kim,

Commit 6d499a6b3d90 ("perf lock: Print the number of lost entries for
BPF") from Aug 2, 2022 (linux-next), leads to the following Smatch
static checker warning:

	./tools/perf/util/bpf_skel/lock_contention.bpf.c:379 contention_begin()
	warn: unsigned 'pelem->stack_id' is never less than zero.

./tools/perf/util/bpf_skel/lock_contention.bpf.c
    360 SEC("tp_btf/contention_begin")
    361 int contention_begin(u64 *ctx)
    362 {
    363         struct tstamp_data *pelem;
    364 
    365         if (!enabled || !can_record(ctx))
    366                 return 0;
    367 
    368         pelem = get_tstamp_elem(ctx[1]);
    369         if (pelem == NULL)
    370                 return 0;
    371 
    372         pelem->timestamp = bpf_ktime_get_ns();
    373         pelem->lock = (__u64)ctx[0];
    374         pelem->flags = (__u32)ctx[1];
    375 
    376         if (needs_callstack) {
    377                 pelem->stack_id = bpf_get_stackid(ctx, &stacks,
    378                                                   BPF_F_FAST_STACK_CMP | stack_skip);
--> 379                 if (pelem->stack_id < 0)

->stack_id is a u32 so it can't be less than zero

    380                         __sync_fetch_and_add(&stack_fail, 1);
    381         } else if (aggr_mode == LOCK_AGGR_TASK) {
    382                 struct task_struct *task;
    383 
    384                 if (lock_owner) {
    385                         task = get_lock_owner(pelem->lock, pelem->flags);
    386 
    387                         /* The flags is not used anymore.  Pass the owner pid. */
    388                         if (task)
    389                                 pelem->flags = BPF_CORE_READ(task, pid);

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: [PATCH] perf lock contention: Change stack_id type to s32
@ 2024-08-11 18:24 kernel test robot
  0 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2024-08-11 18:24 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20240810191704.1948365-1-namhyung@kernel.org>
References: <20240810191704.1948365-1-namhyung@kernel.org>
TO: Namhyung Kim <namhyung@kernel.org>
TO: Arnaldo Carvalho de Melo <acme@kernel.org>
TO: Ian Rogers <irogers@google.com>
TO: Kan Liang <kan.liang@linux.intel.com>
CC: Jiri Olsa <jolsa@kernel.org>
CC: Adrian Hunter <adrian.hunter@intel.com>
CC: Peter Zijlstra <peterz@infradead.org>
CC: Ingo Molnar <mingo@kernel.org>
CC: LKML <linux-kernel@vger.kernel.org>
CC: linux-perf-users@vger.kernel.org
CC: Dan Carpenter <error27@gmail.com>

Hi Namhyung,

kernel test robot noticed the following build errors:

[auto build test ERROR on perf-tools-next/perf-tools-next]
[also build test ERROR on tip/perf/core perf-tools/perf-tools linus/master v6.11-rc2 next-20240809]
[cannot apply to acme/perf/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Namhyung-Kim/perf-lock-contention-Change-stack_id-type-to-s32/20240811-031933
base:   https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git perf-tools-next
patch link:    https://lore.kernel.org/r/20240810191704.1948365-1-namhyung%40kernel.org
patch subject: [PATCH] perf lock contention: Change stack_id type to s32
:::::: branch date: 23 hours ago
:::::: commit date: 23 hours ago
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240812/202408120233.2JuKgpj9-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202408120233.2JuKgpj9-lkp@intel.com/

All errors (new ones prefixed by >>):

   Makefile.config:671: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
     PERF_VERSION = 6.11.rc2.gcbe444bb08ed
   In file included from util/bpf_skel/lock_contention.bpf.c:9:
>> util/bpf_skel/lock_data.h:10:2: error: unknown type name 's32'; did you mean 'u32'?
      10 |         s32 stack_id;
         |         ^~~
         |         u32
   util/bpf_skel/vmlinux.h:17:15: note: 'u32' declared here
      17 | typedef __u32 u32;
         |               ^
   In file included from util/bpf_skel/lock_contention.bpf.c:9:
   util/bpf_skel/lock_data.h:14:2: error: unknown type name 's32'; did you mean 'u32'?
      14 |         s32 stack_id;
         |         ^~~
         |         u32
   util/bpf_skel/vmlinux.h:17:15: note: 'u32' declared here
      17 | typedef __u32 u32;
         |               ^
   2 errors generated.
   make[5]: *** [Makefile.perf:1247: tools/perf/util/bpf_skel/.tmp/lock_contention.bpf.o] Error 1
   make[5]: *** Waiting for unfinished jobs....
   make[4]: *** [Makefile.perf:292: sub-make] Error 2
   make[3]: *** [Makefile:76: all] Error 2


vim +10 tools/perf/util/bpf_skel/lock_data.h

fd507d3e359c7e Namhyung Kim 2022-12-09   5  
b44d6653685939 Namhyung Kim 2024-02-27   6  struct tstamp_data {
b44d6653685939 Namhyung Kim 2024-02-27   7  	u64 timestamp;
b44d6653685939 Namhyung Kim 2024-02-27   8  	u64 lock;
b44d6653685939 Namhyung Kim 2024-02-27   9  	u32 flags;
cbe444bb08ed25 Namhyung Kim 2024-08-10 @10  	s32 stack_id;
b44d6653685939 Namhyung Kim 2024-02-27  11  };
b44d6653685939 Namhyung Kim 2024-02-27  12  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-08-12 17:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-09 12:29 [bug report] perf lock: Print the number of lost entries for BPF Dan Carpenter
2024-08-10 19:17 ` [PATCH] perf lock contention: Change stack_id type to s32 Namhyung Kim
2024-08-12 14:52   ` kernel test robot
2024-08-12 16:09   ` Arnaldo Carvalho de Melo
2024-08-12 16:52     ` Arnaldo Carvalho de Melo
2024-08-12 16:57       ` Namhyung Kim
2024-08-12 17:05         ` Arnaldo Carvalho de Melo
  -- strict thread matches above, loose matches on Subject: below --
2024-08-11 18:24 kernel test robot

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.