mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
linux:
- remove trace-add-trace-events-for-open-exec patch
This commit is contained in:
parent
c0cefe351d
commit
09f066647a
@ -1,155 +0,0 @@
|
||||
From ee9c0b591bf16ca11bb354bc68dae75a903f3a64 Mon Sep 17 00:00:00 2001
|
||||
From: Scott James Remnant <scott@ubuntu.com>
|
||||
Date: Tue, 27 Oct 2009 10:05:32 +0000
|
||||
Subject: [PATCH] trace: add trace events for open(), exec() and uselib()
|
||||
|
||||
This patch uses TRACE_EVENT to add tracepoints for the open(),
|
||||
exec() and uselib() syscalls so that ureadahead can cheaply trace
|
||||
the boot sequence to determine what to read to speed up the next.
|
||||
|
||||
It's not upstream because it will need to be rebased onto the syscall
|
||||
trace events whenever that gets merged, and is a stop-gap.
|
||||
|
||||
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
|
||||
---
|
||||
fs/exec.c | 8 +++++
|
||||
fs/open.c | 4 ++
|
||||
include/trace/events/fs.h | 71 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 83 insertions(+), 0 deletions(-)
|
||||
create mode 100644 include/trace/events/fs.h
|
||||
|
||||
diff --git a/fs/exec.c b/fs/exec.c
|
||||
index 172ceb6..c936999 100644
|
||||
--- a/fs/exec.c
|
||||
+++ b/fs/exec.c
|
||||
@@ -56,6 +56,8 @@
|
||||
#include <linux/fsnotify.h>
|
||||
#include <linux/fs_struct.h>
|
||||
|
||||
+#include <trace/events/fs.h>
|
||||
+
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/mmu_context.h>
|
||||
#include <asm/tlb.h>
|
||||
@@ -130,6 +132,10 @@ SYSCALL_DEFINE1(uselib, const char __user *, library)
|
||||
|
||||
fsnotify_open(file->f_path.dentry);
|
||||
|
||||
+ tmp = getname(library);
|
||||
+ trace_uselib(tmp);
|
||||
+ putname(library);
|
||||
+
|
||||
error = -ENOEXEC;
|
||||
if(file->f_op) {
|
||||
struct linux_binfmt * fmt;
|
||||
@@ -665,6 +671,8 @@ struct file *open_exec(const char *name)
|
||||
|
||||
fsnotify_open(file->f_path.dentry);
|
||||
|
||||
+ trace_open_exec(name);
|
||||
+
|
||||
err = deny_write_access(file);
|
||||
if (err)
|
||||
goto exit;
|
||||
diff --git a/fs/open.c b/fs/open.c
|
||||
index 04b9aad..41c87f3 100644
|
||||
--- a/fs/open.c
|
||||
+++ b/fs/open.c
|
||||
@@ -31,6 +31,9 @@
|
||||
#include <linux/falloc.h>
|
||||
#include <linux/fs_struct.h>
|
||||
|
||||
+#define CREATE_TRACE_POINTS
|
||||
+#include <trace/events/fs.h>
|
||||
+
|
||||
int vfs_statfs(struct dentry *dentry, struct kstatfs *buf)
|
||||
{
|
||||
int retval = -ENODEV;
|
||||
@@ -1041,6 +1044,7 @@ long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
|
||||
} else {
|
||||
fsnotify_open(f->f_path.dentry);
|
||||
fd_install(fd, f);
|
||||
+ trace_do_sys_open(tmp, flags, mode);
|
||||
}
|
||||
}
|
||||
putname(tmp);
|
||||
diff --git a/include/trace/events/fs.h b/include/trace/events/fs.h
|
||||
new file mode 100644
|
||||
index 0000000..e967c55
|
||||
--- /dev/null
|
||||
+++ b/include/trace/events/fs.h
|
||||
@@ -0,0 +1,71 @@
|
||||
+#undef TRACE_SYSTEM
|
||||
+#define TRACE_SYSTEM fs
|
||||
+
|
||||
+#if !defined(_TRACE_FS_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
+#define _TRACE_FS_H
|
||||
+
|
||||
+#include <linux/fs.h>
|
||||
+#include <linux/tracepoint.h>
|
||||
+
|
||||
+TRACE_EVENT(do_sys_open,
|
||||
+
|
||||
+ TP_PROTO(char *filename, int flags, int mode),
|
||||
+
|
||||
+ TP_ARGS(filename, flags, mode),
|
||||
+
|
||||
+ TP_STRUCT__entry(
|
||||
+ __string( filename, filename )
|
||||
+ __field( int, flags )
|
||||
+ __field( int, mode )
|
||||
+ ),
|
||||
+
|
||||
+ TP_fast_assign(
|
||||
+ __assign_str(filename, filename);
|
||||
+ __entry->flags = flags;
|
||||
+ __entry->mode = mode;
|
||||
+ ),
|
||||
+
|
||||
+ TP_printk("\"%s\" %x %o",
|
||||
+ __get_str(filename), __entry->flags, __entry->mode)
|
||||
+);
|
||||
+
|
||||
+TRACE_EVENT(uselib,
|
||||
+
|
||||
+ TP_PROTO(char *filename),
|
||||
+
|
||||
+ TP_ARGS(filename),
|
||||
+
|
||||
+ TP_STRUCT__entry(
|
||||
+ __string( filename, filename )
|
||||
+ ),
|
||||
+
|
||||
+ TP_fast_assign(
|
||||
+ __assign_str(filename, filename);
|
||||
+ ),
|
||||
+
|
||||
+ TP_printk("\"%s\"",
|
||||
+ __get_str(filename))
|
||||
+);
|
||||
+
|
||||
+TRACE_EVENT(open_exec,
|
||||
+
|
||||
+ TP_PROTO(char *filename),
|
||||
+
|
||||
+ TP_ARGS(filename),
|
||||
+
|
||||
+ TP_STRUCT__entry(
|
||||
+ __string( filename, filename )
|
||||
+ ),
|
||||
+
|
||||
+ TP_fast_assign(
|
||||
+ __assign_str(filename, filename);
|
||||
+ ),
|
||||
+
|
||||
+ TP_printk("\"%s\"",
|
||||
+ __get_str(filename))
|
||||
+);
|
||||
+
|
||||
+#endif /* _TRACE_FS_H */
|
||||
+
|
||||
+/* This part must be outside protection */
|
||||
+#include <trace/define_trace.h>
|
||||
--
|
||||
1.6.3.3
|
||||
|
Loading…
x
Reference in New Issue
Block a user