X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=linux-2.6-590-chopstix-intern.patch;h=0f20ceaa40569ff9dd772edd4a5b7ae85266a671;hb=005ed5ea6ec92b46d471bb7e6a4ccfb6af231b0d;hp=71f53e828217ddf81ef8f000929f05604bc373cc;hpb=69491d17b2a88bccb06b8748c8415614c444803e;p=linux-2.6.git diff --git a/linux-2.6-590-chopstix-intern.patch b/linux-2.6-590-chopstix-intern.patch index 71f53e828..0f20ceaa4 100644 --- a/linux-2.6-590-chopstix-intern.patch +++ b/linux-2.6-590-chopstix-intern.patch @@ -1,6 +1,6 @@ diff -Nurb linux-2.6.22-580/arch/i386/Kconfig linux-2.6.22-590/arch/i386/Kconfig ---- linux-2.6.22-580/arch/i386/Kconfig 2008-04-29 17:04:54.000000000 -0400 -+++ linux-2.6.22-590/arch/i386/Kconfig 2008-04-29 17:05:11.000000000 -0400 +--- linux-2.6.22-580/arch/i386/Kconfig 2008-04-30 09:29:26.000000000 -0400 ++++ linux-2.6.22-590/arch/i386/Kconfig 2008-04-30 09:29:41.000000000 -0400 @@ -1217,6 +1217,14 @@ source "arch/i386/oprofile/Kconfig" @@ -17,8 +17,8 @@ diff -Nurb linux-2.6.22-580/arch/i386/Kconfig linux-2.6.22-590/arch/i386/Kconfig bool "Kprobes (EXPERIMENTAL)" depends on KALLSYMS && EXPERIMENTAL && MODULES diff -Nurb linux-2.6.22-580/block/ll_rw_blk.c linux-2.6.22-590/block/ll_rw_blk.c ---- linux-2.6.22-580/block/ll_rw_blk.c 2008-04-29 17:04:51.000000000 -0400 -+++ linux-2.6.22-590/block/ll_rw_blk.c 2008-04-29 17:05:11.000000000 -0400 +--- linux-2.6.22-580/block/ll_rw_blk.c 2008-04-30 09:29:21.000000000 -0400 ++++ linux-2.6.22-590/block/ll_rw_blk.c 2008-04-30 09:29:41.000000000 -0400 @@ -30,6 +30,7 @@ #include #include @@ -68,7 +68,7 @@ diff -Nurb linux-2.6.22-580/block/ll_rw_blk.c linux-2.6.22-590/block/ll_rw_blk.c } diff -Nurb linux-2.6.22-580/drivers/oprofile/cpu_buffer.c linux-2.6.22-590/drivers/oprofile/cpu_buffer.c --- linux-2.6.22-580/drivers/oprofile/cpu_buffer.c 2007-07-08 19:32:17.000000000 -0400 -+++ linux-2.6.22-590/drivers/oprofile/cpu_buffer.c 2008-04-29 17:05:11.000000000 -0400 ++++ linux-2.6.22-590/drivers/oprofile/cpu_buffer.c 2008-04-30 09:29:41.000000000 -0400 @@ -21,6 +21,7 @@ #include #include @@ -134,7 +134,7 @@ diff -Nurb linux-2.6.22-580/drivers/oprofile/cpu_buffer.c linux-2.6.22-590/drive void oprofile_add_pc(unsigned long pc, int is_kernel, unsigned long event) diff -Nurb linux-2.6.22-580/fs/bio.c linux-2.6.22-590/fs/bio.c --- linux-2.6.22-580/fs/bio.c 2007-07-08 19:32:17.000000000 -0400 -+++ linux-2.6.22-590/fs/bio.c 2008-04-29 17:05:11.000000000 -0400 ++++ linux-2.6.22-590/fs/bio.c 2008-04-30 09:29:41.000000000 -0400 @@ -27,6 +27,7 @@ #include #include @@ -192,17 +192,8 @@ diff -Nurb linux-2.6.22-580/fs/bio.c linux-2.6.22-590/fs/bio.c bio->bi_end_io(bio, bytes_done, error); } diff -Nurb linux-2.6.22-580/fs/exec.c linux-2.6.22-590/fs/exec.c ---- linux-2.6.22-580/fs/exec.c 2008-04-29 17:04:54.000000000 -0400 -+++ linux-2.6.22-590/fs/exec.c 2008-04-29 17:05:11.000000000 -0400 -@@ -38,7 +38,7 @@ - #include - #include - #include --#include -+/*#include */ - #include - #include - #include +--- linux-2.6.22-580/fs/exec.c 2008-04-30 09:29:26.000000000 -0400 ++++ linux-2.6.22-590/fs/exec.c 2008-04-30 09:29:41.000000000 -0400 @@ -52,6 +52,7 @@ #include #include @@ -224,20 +215,9 @@ diff -Nurb linux-2.6.22-580/fs/exec.c linux-2.6.22-590/fs/exec.c file = ERR_PTR(-EACCES); if (!(nd.mnt->mnt_flags & MNT_NOEXEC) && S_ISREG(inode->i_mode)) { -@@ -627,8 +634,10 @@ - * Reparenting needs write_lock on tasklist_lock, - * so it is safe to do it under read_lock. - */ -+ /* - if (unlikely(tsk->group_leader == child_reaper(tsk))) - tsk->nsproxy->pid_ns->child_reaper = tsk; -+ */ - - zap_other_threads(tsk); - read_unlock(&tasklist_lock); diff -Nurb linux-2.6.22-580/include/linux/arrays.h linux-2.6.22-590/include/linux/arrays.h --- linux-2.6.22-580/include/linux/arrays.h 1969-12-31 19:00:00.000000000 -0500 -+++ linux-2.6.22-590/include/linux/arrays.h 2008-04-29 17:05:11.000000000 -0400 ++++ linux-2.6.22-590/include/linux/arrays.h 2008-04-30 09:29:41.000000000 -0400 @@ -0,0 +1,36 @@ +#ifndef __ARRAYS_H__ +#define __ARRAYS_H__ @@ -275,9 +255,23 @@ diff -Nurb linux-2.6.22-580/include/linux/arrays.h linux-2.6.22-590/include/linu + struct task_struct *task; +}; +#endif +diff -Nurb linux-2.6.22-580/include/linux/mutex.h linux-2.6.22-590/include/linux/mutex.h +--- linux-2.6.22-580/include/linux/mutex.h 2007-07-08 19:32:17.000000000 -0400 ++++ linux-2.6.22-590/include/linux/mutex.h 2008-04-30 09:45:43.000000000 -0400 +@@ -53,6 +53,10 @@ + struct thread_info *owner; + const char *name; + void *magic; ++#else ++#ifdef CONFIG_CHOPSTIX ++ struct thread_info *owner; ++#endif + #endif + #ifdef CONFIG_DEBUG_LOCK_ALLOC + struct lockdep_map dep_map; diff -Nurb linux-2.6.22-580/include/linux/sched.h linux-2.6.22-590/include/linux/sched.h ---- linux-2.6.22-580/include/linux/sched.h 2008-04-29 17:04:54.000000000 -0400 -+++ linux-2.6.22-590/include/linux/sched.h 2008-04-29 17:05:11.000000000 -0400 +--- linux-2.6.22-580/include/linux/sched.h 2008-04-30 09:29:26.000000000 -0400 ++++ linux-2.6.22-590/include/linux/sched.h 2008-04-30 09:29:41.000000000 -0400 @@ -850,6 +850,10 @@ #endif unsigned long sleep_avg; @@ -291,13 +285,13 @@ diff -Nurb linux-2.6.22-580/include/linux/sched.h linux-2.6.22-590/include/linux diff -Nurb linux-2.6.22-580/kernel/mutex.c linux-2.6.22-590/kernel/mutex.c --- linux-2.6.22-580/kernel/mutex.c 2007-07-08 19:32:17.000000000 -0400 -+++ linux-2.6.22-590/kernel/mutex.c 2008-04-29 17:05:11.000000000 -0400 ++++ linux-2.6.22-590/kernel/mutex.c 2008-04-30 09:29:41.000000000 -0400 @@ -18,6 +18,16 @@ #include #include #include +#include -+ ++#undef CONFIG_CHOPSTIX +#ifdef CONFIG_CHOPSTIX +struct event_spec { + unsigned long pc; @@ -406,8 +400,8 @@ diff -Nurb linux-2.6.22-580/kernel/mutex.c linux-2.6.22-590/kernel/mutex.c } diff -Nurb linux-2.6.22-580/kernel/sched.c linux-2.6.22-590/kernel/sched.c ---- linux-2.6.22-580/kernel/sched.c 2008-04-29 17:04:54.000000000 -0400 -+++ linux-2.6.22-590/kernel/sched.c 2008-04-29 17:05:11.000000000 -0400 +--- linux-2.6.22-580/kernel/sched.c 2008-04-30 09:29:26.000000000 -0400 ++++ linux-2.6.22-590/kernel/sched.c 2008-04-30 09:29:41.000000000 -0400 @@ -10,7 +10,7 @@ * 1998-11-19 Implemented schedule_timeout() and related stuff * by Andrea Arcangeli @@ -505,7 +499,7 @@ diff -Nurb linux-2.6.22-580/kernel/sched.c linux-2.6.22-590/kernel/sched.c } } -@@ -3765,6 +3793,38 @@ +@@ -3765,6 +3793,39 @@ prev->sleep_avg = 0; prev->timestamp = prev->last_ran = now; @@ -514,19 +508,20 @@ diff -Nurb linux-2.6.22-580/kernel/sched.c linux-2.6.22-590/kernel/sched.c + if (rec_event) { + prev->last_ran_j = jiffies; + if (next->last_interrupted!=-1) { ++ if (next->last_interrupted) { ++ diff = (jiffies-next->last_interrupted); ++ sampling_reason = 0; ++ } ++ else { ++ diff = jiffies-next->last_ran_j; ++ sampling_reason = 1; ++ } ++ + if (diff > HZ/5) { + struct event event; + struct event_spec espec; + unsigned long eip; + -+ if (next->last_interrupted) { -+ diff = (jiffies-next->last_interrupted); -+ sampling_reason = 0; -+ } -+ else { -+ diff = jiffies-next->last_ran_j; -+ sampling_reason = 1; -+ } + espec.reason = sampling_reason; + eip = next->thread.esp & 4095; + event.event_data=&espec; @@ -544,7 +539,7 @@ diff -Nurb linux-2.6.22-580/kernel/sched.c linux-2.6.22-590/kernel/sched.c sched_info_switch(prev, next); if (likely(prev != next)) { next->timestamp = next->last_ran = now; -@@ -4664,6 +4724,7 @@ +@@ -4664,6 +4725,7 @@ get_task_struct(p); read_unlock(&tasklist_lock); @@ -552,7 +547,7 @@ diff -Nurb linux-2.6.22-580/kernel/sched.c linux-2.6.22-590/kernel/sched.c retval = -EPERM; if ((current->euid != p->euid) && (current->euid != p->uid) && !capable(CAP_SYS_NICE)) -@@ -5032,6 +5093,7 @@ +@@ -5032,6 +5094,7 @@ jiffies_to_timespec(p->policy == SCHED_FIFO ? 0 : task_timeslice(p), &t); read_unlock(&tasklist_lock); @@ -560,7 +555,7 @@ diff -Nurb linux-2.6.22-580/kernel/sched.c linux-2.6.22-590/kernel/sched.c retval = copy_to_user(interval, &t, sizeof(t)) ? -EFAULT : 0; out_nounlock: return retval; -@@ -7275,3 +7337,9 @@ +@@ -7275,3 +7338,9 @@ } #endif @@ -571,8 +566,8 @@ diff -Nurb linux-2.6.22-580/kernel/sched.c linux-2.6.22-590/kernel/sched.c +EXPORT_SYMBOL(in_sched_functions); +#endif diff -Nurb linux-2.6.22-580/mm/slab.c linux-2.6.22-590/mm/slab.c ---- linux-2.6.22-580/mm/slab.c 2008-04-29 17:04:54.000000000 -0400 -+++ linux-2.6.22-590/mm/slab.c 2008-04-29 17:05:11.000000000 -0400 +--- linux-2.6.22-580/mm/slab.c 2008-04-30 09:29:26.000000000 -0400 ++++ linux-2.6.22-590/mm/slab.c 2008-04-30 09:29:41.000000000 -0400 @@ -110,11 +110,13 @@ #include #include