Three minor tracing fixes:
- Fix missing prototypes in sample module for direct functions - Fix check of valid buffer in get_trace_buf() - Fix annotations of percpu pointers. -----BEGIN PGP SIGNATURE----- iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCYddVnBQccm9zdGVkdEBn b29kbWlzLm9yZwAKCRAp5XQQmuv6qg2PAQDVhSODIERza+YwP4AkMYBLWukngdi4 2fvFOJa1qdGQ1AD/YMSsJzbqfUk5YL9LNElL37TFH0fyWzU85tXRHVwf4As= =KKJx -----END PGP SIGNATURE----- Merge tag 'trace-v5.16-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: "Three minor tracing fixes: - Fix missing prototypes in sample module for direct functions - Fix check of valid buffer in get_trace_buf() - Fix annotations of percpu pointers" * tag 'trace-v5.16-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Tag trace_percpu_buffer as a percpu pointer tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() ftrace/samples: Add missing prototypes direct functions
This commit is contained in:
commit
b2b436ec02
@ -3207,7 +3207,7 @@ struct trace_buffer_struct {
|
||||
char buffer[4][TRACE_BUF_SIZE];
|
||||
};
|
||||
|
||||
static struct trace_buffer_struct *trace_percpu_buffer;
|
||||
static struct trace_buffer_struct __percpu *trace_percpu_buffer;
|
||||
|
||||
/*
|
||||
* This allows for lockless recording. If we're nested too deeply, then
|
||||
@ -3217,7 +3217,7 @@ static char *get_trace_buf(void)
|
||||
{
|
||||
struct trace_buffer_struct *buffer = this_cpu_ptr(trace_percpu_buffer);
|
||||
|
||||
if (!buffer || buffer->nesting >= 4)
|
||||
if (!trace_percpu_buffer || buffer->nesting >= 4)
|
||||
return NULL;
|
||||
|
||||
buffer->nesting++;
|
||||
@ -3236,7 +3236,7 @@ static void put_trace_buf(void)
|
||||
|
||||
static int alloc_percpu_trace_buffer(void)
|
||||
{
|
||||
struct trace_buffer_struct *buffers;
|
||||
struct trace_buffer_struct __percpu *buffers;
|
||||
|
||||
if (trace_percpu_buffer)
|
||||
return 0;
|
||||
|
@ -4,6 +4,9 @@
|
||||
#include <linux/ftrace.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
|
||||
extern void my_direct_func1(void);
|
||||
extern void my_direct_func2(void);
|
||||
|
||||
void my_direct_func1(void)
|
||||
{
|
||||
trace_printk("my direct func1\n");
|
||||
|
@ -4,6 +4,9 @@
|
||||
#include <linux/ftrace.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
|
||||
extern void my_direct_func1(unsigned long ip);
|
||||
extern void my_direct_func2(unsigned long ip);
|
||||
|
||||
void my_direct_func1(unsigned long ip)
|
||||
{
|
||||
trace_printk("my direct func1 ip %lx\n", ip);
|
||||
|
@ -5,6 +5,9 @@
|
||||
#include <linux/ftrace.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
|
||||
extern void my_direct_func(struct vm_area_struct *vma,
|
||||
unsigned long address, unsigned int flags);
|
||||
|
||||
void my_direct_func(struct vm_area_struct *vma,
|
||||
unsigned long address, unsigned int flags)
|
||||
{
|
||||
|
@ -5,6 +5,8 @@
|
||||
#include <linux/ftrace.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
|
||||
extern void my_direct_func(struct task_struct *p);
|
||||
|
||||
void my_direct_func(struct task_struct *p)
|
||||
{
|
||||
trace_printk("waking up %s-%d\n", p->comm, p->pid);
|
||||
|
Loading…
x
Reference in New Issue
Block a user