tools/perf/builtin-lock.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
When "perf lock con" is run in a live mode, with no data file, a host
environment must be provided. Testing missed this as a failing assert
was creating the 1 line of expected stderr output.
Signed-off-by: Ian Rogers <irogers@google.com>
---
Please consider this patch for v6.17 fixes.
---
tools/perf/builtin-lock.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c
index fd49703021fd..078634461df2 100644
--- a/tools/perf/builtin-lock.c
+++ b/tools/perf/builtin-lock.c
@@ -2009,6 +2009,7 @@ static int __cmd_contention(int argc, const char **argv)
.owner = show_lock_owner,
.cgroups = RB_ROOT,
};
+ struct perf_env host_env;
lockhash_table = calloc(LOCKHASH_SIZE, sizeof(*lockhash_table));
if (!lockhash_table)
@@ -2024,7 +2025,10 @@ static int __cmd_contention(int argc, const char **argv)
eops.mmap = perf_event__process_mmap;
eops.tracing_data = perf_event__process_tracing_data;
- session = perf_session__new(use_bpf ? NULL : &data, &eops);
+ perf_env__init(&host_env);
+ session = __perf_session__new(use_bpf ? NULL : &data, &eops,
+ /*trace_event_repipe=*/false, &host_env);
+
if (IS_ERR(session)) {
pr_err("Initializing perf session failed\n");
err = PTR_ERR(session);
@@ -2142,6 +2146,7 @@ static int __cmd_contention(int argc, const char **argv)
evlist__delete(con.evlist);
lock_contention_finish(&con);
perf_session__delete(session);
+ perf_env__exit(&host_env);
zfree(&lockhash_table);
return err;
}
--
2.51.0.384.g4c02a37b29-goog
On Fri, Sep 12, 2025 at 05:01:29PM -0700, Ian Rogers wrote:
> When "perf lock con" is run in a live mode, with no data file, a host
> environment must be provided. Testing missed this as a failing assert
> was creating the 1 line of expected stderr output.
>
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
> Please consider this patch for v6.17 fixes.
Yep, I'll queue it to perf-tools tree.
Thanks,
Namhyung
> ---
> tools/perf/builtin-lock.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c
> index fd49703021fd..078634461df2 100644
> --- a/tools/perf/builtin-lock.c
> +++ b/tools/perf/builtin-lock.c
> @@ -2009,6 +2009,7 @@ static int __cmd_contention(int argc, const char **argv)
> .owner = show_lock_owner,
> .cgroups = RB_ROOT,
> };
> + struct perf_env host_env;
>
> lockhash_table = calloc(LOCKHASH_SIZE, sizeof(*lockhash_table));
> if (!lockhash_table)
> @@ -2024,7 +2025,10 @@ static int __cmd_contention(int argc, const char **argv)
> eops.mmap = perf_event__process_mmap;
> eops.tracing_data = perf_event__process_tracing_data;
>
> - session = perf_session__new(use_bpf ? NULL : &data, &eops);
> + perf_env__init(&host_env);
> + session = __perf_session__new(use_bpf ? NULL : &data, &eops,
> + /*trace_event_repipe=*/false, &host_env);
> +
> if (IS_ERR(session)) {
> pr_err("Initializing perf session failed\n");
> err = PTR_ERR(session);
> @@ -2142,6 +2146,7 @@ static int __cmd_contention(int argc, const char **argv)
> evlist__delete(con.evlist);
> lock_contention_finish(&con);
> perf_session__delete(session);
> + perf_env__exit(&host_env);
> zfree(&lockhash_table);
> return err;
> }
> --
> 2.51.0.384.g4c02a37b29-goog
>
© 2016 - 2026 Red Hat, Inc.