linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/18] 2.6.17.9 perfmon2 patch for review: generic kernel modifications
@ 2006-08-23  8:05 Stephane Eranian
  2006-08-23 23:13 ` Adrian Bunk
  0 siblings, 1 reply; 2+ messages in thread
From: Stephane Eranian @ 2006-08-23  8:05 UTC (permalink / raw)
  To: linux-kernel; +Cc: eranian

This patch contains all the modified generic files:

linux/Makefile:
	- create our own EXTRAVERSION

linux/include/linux/sched.h:
	- add pfm_context pointer to struct task_struct. This is used
	  to connect a perfmon2 context to a task when doing per-thread
	  monitoring.

linux/include/linux/syscalls.h:
	- declare prototypes of our new system calls


linux/kernel/sched.c:
	- add include perfmon.h to ensure pfm_ctxsw() has a defined prototype

linux/kernel/sys_ni.c:
	- add perfmon2 cond_syscall() definitions (when CONFIG_PERFMON is off)





diff -urp --exclude-from=/tmp/excl31584 linux-2.6.17.9.base/Makefile linux-2.6.17.9/Makefile
--- linux-2.6.17.9.base/Makefile	2006-08-18 09:26:24.000000000 -0700
+++ linux-2.6.17.9/Makefile	2006-08-21 03:37:57.000000000 -0700
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
 SUBLEVEL = 17
-EXTRAVERSION = .9
+EXTRAVERSION = .9-perfmon2
 NAME=Crazed Snow-Weasel
 
 # *DOCUMENTATION*
@@ -518,7 +518,7 @@ export MODLIB
 
 
 ifeq ($(KBUILD_EXTMOD),)
-core-y		+= kernel/ mm/ fs/ ipc/ security/ crypto/ block/
+core-y		+= kernel/ mm/ fs/ ipc/ security/ crypto/ block/ perfmon/
 
 vmlinux-dirs	:= $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
 		     $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
Only in linux-2.6.17.9/include/linux: perfmon.h
Only in linux-2.6.17.9/include/linux: perfmon_dfl_smpl.h
Only in linux-2.6.17.9/include/linux: perfmon_fmt.h
Only in linux-2.6.17.9/include/linux: perfmon_kernel.h
Only in linux-2.6.17.9/include/linux: perfmon_pmu.h
diff -urp --exclude-from=/tmp/excl31584 linux-2.6.17.9.base/include/linux/sched.h linux-2.6.17.9/include/linux/sched.h
--- linux-2.6.17.9.base/include/linux/sched.h	2006-08-18 09:26:24.000000000 -0700
+++ linux-2.6.17.9/include/linux/sched.h	2006-08-21 03:37:45.000000000 -0700
@@ -40,6 +40,7 @@
 #include <linux/auxvec.h>	/* For AT_VECTOR_SIZE */
 
 struct exec_domain;
+struct pfm_context;
 
 /*
  * cloning flags:
@@ -888,6 +889,10 @@ struct task_struct {
 	 * cache last used pipe for splice
 	 */
 	struct pipe_inode_info *splice_pipe;
+
+#ifdef CONFIG_PERFMON
+ 	struct pfm_context *pfm_context;
+#endif
 };
 
 static inline pid_t process_group(struct task_struct *tsk)
diff -urp --exclude-from=/tmp/excl31584 linux-2.6.17.9.base/include/linux/syscalls.h linux-2.6.17.9/include/linux/syscalls.h
--- linux-2.6.17.9.base/include/linux/syscalls.h	2006-08-18 09:26:24.000000000 -0700
+++ linux-2.6.17.9/include/linux/syscalls.h	2006-08-21 03:37:45.000000000 -0700
@@ -29,6 +29,13 @@ struct msqid_ds;
 struct new_utsname;
 struct nfsctl_arg;
 struct __old_kernel_stat;
+struct pfarg_ctx;
+struct pfarg_pmc;
+struct pfarg_pmd;
+struct pfarg_start;
+struct pfarg_load;
+struct pfarg_setinfo;
+struct pfarg_setdesc;
 struct pollfd;
 struct rlimit;
 struct rusage;
@@ -588,4 +595,27 @@ asmlinkage long sys_get_robust_list(int 
 asmlinkage long sys_set_robust_list(struct robust_list_head __user *head,
 				    size_t len);
 
+asmlinkage long sys_pfm_create_context(struct pfarg_ctx __user *ureq,
+				       void __user *uarg, size_t smpl_size);
+asmlinkage long sys_pfm_write_pmcs(int fd, struct pfarg_pmc __user *ureq,
+				   int count);
+asmlinkage long sys_pfm_write_pmds(int fd, struct pfarg_pmd __user *ureq,
+				   int count);
+asmlinkage long sys_pfm_read_pmds(int fd, struct pfarg_pmd __user *ureq,
+				  int count);
+asmlinkage long sys_pfm_restart(int fd);
+asmlinkage long sys_pfm_stop(int fd);
+asmlinkage long sys_pfm_start(int fd, struct pfarg_start __user *ureq);
+asmlinkage long sys_pfm_load_context(int fd, struct pfarg_load __user *ureq);
+asmlinkage long sys_pfm_unload_context(int fd);
+asmlinkage long sys_pfm_delete_evtsets(int fd,
+				       struct pfarg_setinfo __user *ureq,
+				       int count);
+asmlinkage long sys_pfm_create_evtsets(int fd,
+				       struct pfarg_setdesc __user *ureq,
+				       int count);
+asmlinkage long sys_pfm_getinfo_evtsets(int fd,
+					struct pfarg_setinfo __user *ureq,
+					int count);
+
 #endif
diff -urp --exclude-from=/tmp/excl31584 linux-2.6.17.9.base/kernel/sched.c linux-2.6.17.9/kernel/sched.c
--- linux-2.6.17.9.base/kernel/sched.c	2006-08-18 09:26:24.000000000 -0700
+++ linux-2.6.17.9/kernel/sched.c	2006-08-22 05:39:51.000000000 -0700
@@ -50,6 +50,7 @@
 #include <linux/times.h>
 #include <linux/acct.h>
 #include <linux/kprobes.h>
+#include <linux/perfmon.h>
 #include <asm/tlb.h>
 
 #include <asm/unistd.h>
diff -urp --exclude-from=/tmp/excl31584 linux-2.6.17.9.base/kernel/sys_ni.c linux-2.6.17.9/kernel/sys_ni.c
--- linux-2.6.17.9.base/kernel/sys_ni.c	2006-08-18 09:26:24.000000000 -0700
+++ linux-2.6.17.9/kernel/sys_ni.c	2006-08-21 03:37:45.000000000 -0700
@@ -111,6 +111,19 @@ cond_syscall(sys_vm86);
 cond_syscall(compat_sys_ipc);
 cond_syscall(compat_sys_sysctl);
 
+cond_syscall(sys_pfm_create_context);
+cond_syscall(sys_pfm_write_pmcs);
+cond_syscall(sys_pfm_write_pmds);
+cond_syscall(sys_pfm_read_pmds);
+cond_syscall(sys_pfm_restart);
+cond_syscall(sys_pfm_start);
+cond_syscall(sys_pfm_stop);
+cond_syscall(sys_pfm_load_context);
+cond_syscall(sys_pfm_unload_context);
+cond_syscall(sys_pfm_create_evtsets);
+cond_syscall(sys_pfm_delete_evtsets);
+cond_syscall(sys_pfm_getinfo_evtsets);
+ 
 /* arch-specific weak syscall entries */
 cond_syscall(sys_pciconfig_read);
 cond_syscall(sys_pciconfig_write);


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 2/18] 2.6.17.9 perfmon2 patch for review: generic kernel modifications
  2006-08-23  8:05 [PATCH 2/18] 2.6.17.9 perfmon2 patch for review: generic kernel modifications Stephane Eranian
@ 2006-08-23 23:13 ` Adrian Bunk
  0 siblings, 0 replies; 2+ messages in thread
From: Adrian Bunk @ 2006-08-23 23:13 UTC (permalink / raw)
  To: Stephane Eranian; +Cc: linux-kernel, eranian

On Wed, Aug 23, 2006 at 01:05:53AM -0700, Stephane Eranian wrote:
>...
> Only in linux-2.6.17.9/include/linux: perfmon.h
> Only in linux-2.6.17.9/include/linux: perfmon_dfl_smpl.h
> Only in linux-2.6.17.9/include/linux: perfmon_fmt.h
> Only in linux-2.6.17.9/include/linux: perfmon_kernel.h
> Only in linux-2.6.17.9/include/linux: perfmon_pmu.h
> diff -urp --exclude-from=/tmp/excl31584 linux-2.6.17.9.base/include/linux/sched.h linux-2.6.17.9/include/linux/sched.h
>...

Wrong diff options?

cu
Adrian

-- 

    Gentoo kernels are 42 times more popular than SUSE kernels among
    KLive users  (a service by SUSE contractor Andrea Arcangeli that
    gathers data about kernels from many users worldwide).

       There are three kinds of lies: Lies, Damn Lies, and Statistics.
                                                    Benjamin Disraeli


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-08-23 23:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-23  8:05 [PATCH 2/18] 2.6.17.9 perfmon2 patch for review: generic kernel modifications Stephane Eranian
2006-08-23 23:13 ` Adrian Bunk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).