ltt for 2.6.10 : fs/ events
Subsystems (3)
PATCH 4/8 ltt for 2.6.10 : fs/ events
Signed-off-by Karim Yaghmour ([email protected])
fs/buffer.c +3 -0
@@ -39,6 +39,7 @@#include <linux/notifier.h> #include <linux/cpu.h> #include <linux/bitops.h> +#include <linux/ltt-events.h> static int fsync_buffers_list (spinlock_t *lock,struct list_head *list);static void invalidate_bh_lrus (void );
@@ -87,7 +88,9 @@ void fastcall unlock_buffer(struct buffe*/ void __wait_on_buffer (struct buffer_head * bh) { +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_BUF_WAIT_START ,0 ,0 ,NULL );wait_on_bit (&bh->b_state, BH_Lock, sync_buffer,TASK_UNINTERRUPTIBLE ); +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_BUF_WAIT_END ,0 ,0 ,NULL ); } static void
fs/exec.c +4 -0
@@ -47,6 +47,7 @@#include <linux/security.h> #include <linux/syscalls.h> #include <linux/rmap.h> +#include <linux/ltt-events.h> #include <asm/uaccess.h> #include <asm/mmu_context.h>
@@ -1105,6 +1106,9 @@ int do_execve(char * filename,if (IS_ERR (file)) goto out_kfree; +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_EXEC ,0 , + file->f_dentry->d_name.len, file->f_dentry->d_name.name); +sched_exec (); bprm->p =PAGE_SIZE *MAX_ARG_PAGES -sizeof (void *);
fs/ioctl.c +3 -0
@@ -11,6 +11,7 @@#include <linux/file.h> #include <linux/fs.h> #include <linux/security.h> +#include <linux/ltt-events.h> #include <linux/module.h> #include <asm/uaccess.h>
@@ -68,6 +69,8 @@ asmlinkage long sys_ioctl(unsigned int f goto out; } +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_IOCTL , fd, cmd,NULL ); +lock_kernel ();switch (cmd) {case FIOCLEX :
fs/open.c +5 -0
@@ -19,6 +19,8 @@#include <linux/security.h> #include <linux/mount.h> #include <linux/vfs.h> +#include <linux/ltt-events.h> +#include <asm/uaccess.h> #include <linux/fs.h> #include <linux/pagemap.h>
@@ -956,6 +958,8 @@ asmlinkage long sys_open(const char __us error =PTR_ERR (f);if (IS_ERR (f)) goto out_error; +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_OPEN , fd, + f->f_dentry->d_name.len, f->f_dentry->d_name.name);fd_install (fd, f); } out:
@@ -1031,6 +1035,7 @@ asmlinkage long sys_close(unsigned int f filp = files->fd[fd];if (!filp) goto out_unlock; +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_CLOSE , fd,0 ,NULL ); files->fd[fd] =NULL ;FD_CLR (fd, files->close_on_exec);__put_unused_fd (files, fd);
fs/read_write.c +17 -2
@@ -14,6 +14,7 @@#include <linux/security.h> #include <linux/module.h> #include <linux/syscalls.h> +#include <linux/ltt-events.h> #include <asm/uaccess.h> #include <asm/unistd.h>
@@ -142,6 +143,9 @@ asmlinkage off_t sys_lseek(unsigned intif (res != (loff_t )retval) retval = -EOVERFLOW ;/* LFS: should only happen on 32 bit platforms */ } + +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_SEEK , fd, offset,NULL ); +fput_light (file, fput_needed); bad:return retval;
@@ -169,6 +173,8 @@ asmlinkage long sys_llseek(unsigned int offset =vfs_llseek (file, ((loff_t ) offset_high <<32 ) | offset_low, origin); +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_SEEK , fd, offset,NULL ); + retval = (int )offset;if (offset >=0 ) { retval = -EFAULT ;
@@ -289,6 +295,7 @@ asmlinkage ssize_t sys_read(unsigned int file =fget_light (fd, &fput_needed);if (file) {loff_t pos =file_pos_read (file); +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_READ , fd, count,NULL ); ret =vfs_read (file, buf, count, &pos);file_pos_write (file, pos);fput_light (file, fput_needed);
@@ -307,6 +314,7 @@ asmlinkage ssize_t sys_write(unsigned in file =fget_light (fd, &fput_needed);if (file) {loff_t pos =file_pos_read (file); +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_WRITE , fd, count,NULL ); ret =vfs_write (file, buf, count, &pos);file_pos_write (file, pos);fput_light (file, fput_needed);
@@ -328,8 +336,11 @@ asmlinkage ssize_t sys_pread64(unsigned file =fget_light (fd, &fput_needed);if (file) { ret = -ESPIPE ; -if (file->f_mode &FMODE_PREAD ) +if (file->f_mode &FMODE_PREAD ) { +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_READ , fd, count,NULL ); ret =vfs_read (file, buf, count, &pos); + } +fput_light (file, fput_needed); }
@@ -349,8 +360,10 @@ asmlinkage ssize_t sys_pwrite64(unsigned file =fget_light (fd, &fput_needed);if (file) { ret = -ESPIPE ; -if (file->f_mode &FMODE_PWRITE ) +if (file->f_mode &FMODE_PWRITE ) { +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_WRITE , fd, count,NULL ); ret =vfs_write (file, buf, count, &pos); + }fput_light (file, fput_needed); }
@@ -535,6 +548,7 @@ sys_readv(unsigned long fd, const struct file =fget_light (fd, &fput_needed);if (file) {loff_t pos =file_pos_read (file); +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_READ , fd, vlen,NULL ); ret =vfs_readv (file, vec, vlen, &pos);file_pos_write (file, pos);fput_light (file, fput_needed);
@@ -553,6 +567,7 @@ sys_writev(unsigned long fd, const struc file =fget_light (fd, &fput_needed);if (file) {loff_t pos =file_pos_read (file); +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_WRITE , fd, vlen,NULL ); ret =vfs_writev (file, vec, vlen, &pos);file_pos_write (file, pos);fput_light (file, fput_needed);
fs/relayfs/relay.c +1 -2
@@ -406,8 +406,7 @@ relay_mmap_region(struct vm_area_structwhile (size >0 ) { page =kvirt_to_pa (pos); -if (remap_pfn_range (vma, start, page >>PAGE_SHIFT , -PAGE_SIZE ,PAGE_SHARED )) +if (remap_pfn_range (vma, start, page >>PAGE_SHIFT ,PAGE_SIZE ,PAGE_SHARED ))return -EAGAIN ; start +=PAGE_SIZE ; pos +=PAGE_SIZE ;
fs/select.c +4 -0
@@ -22,6 +22,7 @@#include <linux/personality.h> /* for STICKY_TIMEOUTS */ #include <linux/file.h> #include <linux/fs.h> +#include <linux/ltt-events.h> #include <asm/uaccess.h>
@@ -223,6 +224,8 @@ int do_select(int n, fd_set_bits *fds, l file =fget (i);if (file) { f_op = file->f_op; +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_SELECT , i/* The fd*/ , + __timeout,NULL ); mask =DEFAULT_POLLMASK ;if (f_op && f_op->poll) mask = (*f_op->poll)(file, retval ?NULL : wait);
@@ -408,6 +411,7 @@ static void do_pollfd(unsigned int num,struct file * file =fget (fd); mask =POLLNVAL ;if (file !=NULL ) { +ltt_ev_file_system (LTT_EV_FILE_SYSTEM_POLL , fd,0 ,NULL ); mask =DEFAULT_POLLMASK ;if (file->f_op && file->f_op->poll) mask = file->f_op->poll (file, *pwait);
Hi Karim.
fs/buffer.c void fastcall unlock_buffer(struct buffe · line 91
Quoted 3 lines
void
__wait_on_buffer(struct buffer_head * bh)
{fs/buffer.c +1
-0+ltt_ev_file_system (LTT_EV_FILE_SYSTEM_BUF_WAIT_START ,0 ,0 ,NULL );
Pleae use the subsystem name in both function name and constant - like:
Review
Quoted 1 line
(quoted diff) +1
-0+ ltt_ev_fs(LTT_EV_FS_BUF_WAIT_START, 0, 0, NULL);
This is commonly practice.
Comment is relevant for:file_system => fs
network => net
memory => mm
Sam