From 244b2c5ca8b14627e4a17755e5922221e121c771 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 09 Oct 2024 06:15:07 +0000
Subject: [PATCH] change system file
---
kernel/kernel/trace/trace_functions_graph.c | 32 +++++++++++++++++---------------
1 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/kernel/kernel/trace/trace_functions_graph.c b/kernel/kernel/trace/trace_functions_graph.c
index b086ba8..60d6627 100644
--- a/kernel/kernel/trace/trace_functions_graph.c
+++ b/kernel/kernel/trace/trace_functions_graph.c
@@ -96,7 +96,8 @@
int __trace_graph_entry(struct trace_array *tr,
struct ftrace_graph_ent *trace,
- unsigned int trace_ctx)
+ unsigned long flags,
+ int pc)
{
struct trace_event_call *call = &event_funcgraph_entry;
struct ring_buffer_event *event;
@@ -104,7 +105,7 @@
struct ftrace_graph_ent_entry *entry;
event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_ENT,
- sizeof(*entry), trace_ctx);
+ sizeof(*entry), flags, pc);
if (!event)
return 0;
entry = ring_buffer_event_data(event);
@@ -128,10 +129,10 @@
struct trace_array *tr = graph_array;
struct trace_array_cpu *data;
unsigned long flags;
- unsigned int trace_ctx;
long disabled;
int ret;
int cpu;
+ int pc;
if (trace_recursion_test(TRACE_GRAPH_NOTRACE_BIT))
return 0;
@@ -173,8 +174,8 @@
data = per_cpu_ptr(tr->array_buffer.data, cpu);
disabled = atomic_inc_return(&data->disabled);
if (likely(disabled == 1)) {
- trace_ctx = tracing_gen_ctx_flags(flags);
- ret = __trace_graph_entry(tr, trace, trace_ctx);
+ pc = preempt_count();
+ ret = __trace_graph_entry(tr, trace, flags, pc);
} else {
ret = 0;
}
@@ -187,7 +188,7 @@
static void
__trace_graph_function(struct trace_array *tr,
- unsigned long ip, unsigned int trace_ctx)
+ unsigned long ip, unsigned long flags, int pc)
{
u64 time = trace_clock_local();
struct ftrace_graph_ent ent = {
@@ -201,21 +202,22 @@
.rettime = time,
};
- __trace_graph_entry(tr, &ent, trace_ctx);
- __trace_graph_return(tr, &ret, trace_ctx);
+ __trace_graph_entry(tr, &ent, flags, pc);
+ __trace_graph_return(tr, &ret, flags, pc);
}
void
trace_graph_function(struct trace_array *tr,
unsigned long ip, unsigned long parent_ip,
- unsigned int trace_ctx)
+ unsigned long flags, int pc)
{
- __trace_graph_function(tr, ip, trace_ctx);
+ __trace_graph_function(tr, ip, flags, pc);
}
void __trace_graph_return(struct trace_array *tr,
struct ftrace_graph_ret *trace,
- unsigned int trace_ctx)
+ unsigned long flags,
+ int pc)
{
struct trace_event_call *call = &event_funcgraph_exit;
struct ring_buffer_event *event;
@@ -223,7 +225,7 @@
struct ftrace_graph_ret_entry *entry;
event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_RET,
- sizeof(*entry), trace_ctx);
+ sizeof(*entry), flags, pc);
if (!event)
return;
entry = ring_buffer_event_data(event);
@@ -237,9 +239,9 @@
struct trace_array *tr = graph_array;
struct trace_array_cpu *data;
unsigned long flags;
- unsigned int trace_ctx;
long disabled;
int cpu;
+ int pc;
ftrace_graph_addr_finish(trace);
@@ -253,8 +255,8 @@
data = per_cpu_ptr(tr->array_buffer.data, cpu);
disabled = atomic_inc_return(&data->disabled);
if (likely(disabled == 1)) {
- trace_ctx = tracing_gen_ctx_flags(flags);
- __trace_graph_return(tr, trace, trace_ctx);
+ pc = preempt_count();
+ __trace_graph_return(tr, trace, flags, pc);
}
atomic_dec(&data->disabled);
local_irq_restore(flags);
--
Gitblit v1.6.2