mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
perf thread: Add accessor functions for thread
Using accessors will make it easier to add reference count checking in later patches. Committer notes: thread->nsinfo wasn't wrapped as it is used together with nsinfo__zput(), where does a trick to set the field with a refcount being dropped to NULL, and that doesn't work well with using thread__nsinfo(thread), that loses the &thread->nsinfo pointer. When refcount checking is added to 'struct thread', later in this series, nsinfo__zput(RC_CHK_ACCESS(thread)->nsinfo) will be used to check the thread pointer. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ali Saidi <alisaidi@amazon.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Cc: Brian Robbins <brianrob@linux.microsoft.com> Cc: Changbin Du <changbin.du@huawei.com> Cc: Dmitrii Dolgov <9erthalion6@gmail.com> Cc: Fangrui Song <maskray@google.com> Cc: German Gomez <german.gomez@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Ivan Babrou <ivan@cloudflare.com> Cc: James Clark <james.clark@arm.com> Cc: Jing Zhang <renyu.zj@linux.alibaba.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: John Garry <john.g.garry@oracle.com> Cc: K Prateek Nayak <kprateek.nayak@amd.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Miguel Ojeda <ojeda@kernel.org> Cc: Mike Leach <mike.leach@linaro.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ravi Bangoria <ravi.bangoria@amd.com> Cc: Sean Christopherson <seanjc@google.com> Cc: Steinar H. Gunderson <sesse@google.com> Cc: Suzuki Poulouse <suzuki.poulose@arm.com> Cc: Wenyu Liu <liuwenyu7@huawei.com> Cc: Will Deacon <will@kernel.org> Cc: Yang Jihong <yangjihong1@huawei.com> Cc: Ye Xingchen <ye.xingchen@zte.com.cn> Cc: Yuan Can <yuancan@huawei.com> Cc: coresight@lists.linaro.org Cc: linux-arm-kernel@lists.infradead.org Link: https://lore.kernel.org/r/20230608232823.4027869-4-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
7ee227f674
commit
ee84a3032b
@@ -1142,7 +1142,7 @@ static int print_srccode(struct thread *thread, u8 cpumode, uint64_t addr)
|
||||
if (!al.map)
|
||||
return 0;
|
||||
ret = map__fprintf_srccode(al.map, al.addr, stdout,
|
||||
&thread->srccode_state);
|
||||
thread__srccode_state(thread));
|
||||
if (ret)
|
||||
ret += printf("\n");
|
||||
return ret;
|
||||
@@ -1439,7 +1439,7 @@ static int perf_sample__fprintf_callindent(struct perf_sample *sample,
|
||||
* The 'return' has already been popped off the stack so the depth has
|
||||
* to be adjusted to match the 'call'.
|
||||
*/
|
||||
if (thread->ts && sample->flags & PERF_IP_FLAG_RETURN)
|
||||
if (thread__ts(thread) && sample->flags & PERF_IP_FLAG_RETURN)
|
||||
depth += 1;
|
||||
|
||||
name = resolve_branch_sym(sample, evsel, thread, al, addr_al, &ip);
|
||||
@@ -1577,7 +1577,7 @@ static int perf_sample__fprintf_bts(struct perf_sample *sample,
|
||||
printed += fprintf(fp, "\n");
|
||||
if (PRINT_FIELD(SRCCODE)) {
|
||||
int ret = map__fprintf_srccode(al->map, al->addr, stdout,
|
||||
&thread->srccode_state);
|
||||
thread__srccode_state(thread));
|
||||
if (ret) {
|
||||
printed += ret;
|
||||
printed += printf("\n");
|
||||
@@ -2086,9 +2086,9 @@ static bool show_event(struct perf_sample *sample,
|
||||
if (!symbol_conf.graph_function)
|
||||
return true;
|
||||
|
||||
if (thread->filter) {
|
||||
if (depth <= thread->filter_entry_depth) {
|
||||
thread->filter = false;
|
||||
if (thread__filter(thread)) {
|
||||
if (depth <= thread__filter_entry_depth(thread)) {
|
||||
thread__set_filter(thread, false);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -2105,8 +2105,8 @@ static bool show_event(struct perf_sample *sample,
|
||||
while (*s) {
|
||||
unsigned len = strcspn(s, ",");
|
||||
if (nlen == len && !strncmp(name, s, len)) {
|
||||
thread->filter = true;
|
||||
thread->filter_entry_depth = depth;
|
||||
thread__set_filter(thread, true);
|
||||
thread__set_filter_entry_depth(thread, depth);
|
||||
return true;
|
||||
}
|
||||
s += len;
|
||||
@@ -2186,7 +2186,7 @@ static void process_event(struct perf_script *script,
|
||||
struct callchain_cursor *cursor = NULL;
|
||||
|
||||
if (script->stitch_lbr)
|
||||
al->thread->lbr_stitch_enable = true;
|
||||
thread__set_lbr_stitch_enable(al->thread, true);
|
||||
|
||||
if (symbol_conf.use_callchain && sample->callchain &&
|
||||
thread__resolve_callchain(al->thread, &callchain_cursor, evsel,
|
||||
@@ -2241,7 +2241,7 @@ static void process_event(struct perf_script *script,
|
||||
|
||||
if (PRINT_FIELD(SRCCODE)) {
|
||||
if (map__fprintf_srccode(al->map, al->addr, stdout,
|
||||
&thread->srccode_state))
|
||||
thread__srccode_state(thread)))
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user