[kernel] r18169 - dists/sid/linux-2.6/debian/patches/features/all/rt
Uwe Kleine-König
ukleinek-guest at alioth.debian.org
Tue Oct 18 08:51:37 UTC 2011
Author: ukleinek-guest
Date: Tue Oct 18 08:51:36 2011
New Revision: 18169
Log:
fixup rt patch for 3.0.7
Modified:
dists/sid/linux-2.6/debian/patches/features/all/rt/patch-3.0.6-rt18.patch
Modified: dists/sid/linux-2.6/debian/patches/features/all/rt/patch-3.0.6-rt18.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/rt/patch-3.0.6-rt18.patch Tue Oct 18 08:51:28 2011 (r18168)
+++ dists/sid/linux-2.6/debian/patches/features/all/rt/patch-3.0.6-rt18.patch Tue Oct 18 08:51:36 2011 (r18169)
@@ -1299,96 +1299,7 @@
}
/*
-@@ -1744,10 +1767,36 @@ static cycle_t ftrace_update_time;
- static unsigned long ftrace_update_cnt;
- unsigned long ftrace_update_tot_cnt;
-
-+static int ops_traces_mod(struct ftrace_ops *ops)
-+{
-+ struct ftrace_hash *hash;
-+
-+ hash = ops->filter_hash;
-+ return !!(!hash || !hash->count);
-+}
-+
- static int ftrace_update_code(struct module *mod)
- {
- struct dyn_ftrace *p;
- cycle_t start, stop;
-+ unsigned long ref = 0;
-+
-+ /*
-+ * When adding a module, we need to check if tracers are
-+ * currently enabled and if they are set to trace all functions.
-+ * If they are, we need to enable the module functions as well
-+ * as update the reference counts for those function records.
-+ */
-+ if (mod) {
-+ struct ftrace_ops *ops;
-+
-+ for (ops = ftrace_ops_list;
-+ ops != &ftrace_list_end; ops = ops->next) {
-+ if (ops->flags & FTRACE_OPS_FL_ENABLED &&
-+ ops_traces_mod(ops))
-+ ref++;
-+ }
-+ }
-
- start = ftrace_now(raw_smp_processor_id());
- ftrace_update_cnt = 0;
-@@ -1760,7 +1809,7 @@ static int ftrace_update_code(struct mod
-
- p = ftrace_new_addrs;
- ftrace_new_addrs = p->newlist;
-- p->flags = 0L;
-+ p->flags = ref;
-
- /*
- * Do the initial record conversion from mcount jump
-@@ -1783,7 +1832,7 @@ static int ftrace_update_code(struct mod
- * conversion puts the module to the correct state, thus
- * passing the ftrace_make_call check.
- */
-- if (ftrace_start_up) {
-+ if (ftrace_start_up && ref) {
- int failed = __ftrace_replace_code(p, 1);
- if (failed) {
- ftrace_bug(failed, p->ip);
-@@ -2407,10 +2456,9 @@ ftrace_match_module_records(struct ftrac
- */
-
- static int
--ftrace_mod_callback(char *func, char *cmd, char *param, int enable)
-+ftrace_mod_callback(struct ftrace_hash *hash,
-+ char *func, char *cmd, char *param, int enable)
- {
-- struct ftrace_ops *ops = &global_ops;
-- struct ftrace_hash *hash;
- char *mod;
- int ret = -EINVAL;
-
-@@ -2430,11 +2478,6 @@ ftrace_mod_callback(char *func, char *cm
- if (!strlen(mod))
- return ret;
-
-- if (enable)
-- hash = ops->filter_hash;
-- else
-- hash = ops->notrace_hash;
--
- ret = ftrace_match_module_records(hash, func, mod);
- if (!ret)
- ret = -EINVAL;
-@@ -2760,7 +2803,7 @@ static int ftrace_process_regex(struct f
- mutex_lock(&ftrace_cmd_mutex);
- list_for_each_entry(p, &ftrace_commands, list) {
- if (strcmp(p->name, command) == 0) {
-- ret = p->func(func, command, next, enable);
-+ ret = p->func(hash, func, command, next, enable);
- goto out_unlock;
- }
- }
-@@ -2857,7 +2900,7 @@ ftrace_set_regex(struct ftrace_ops *ops,
+@@ -2877,7 +2900,7 @@ ftrace_set_regex(struct ftrace_ops *ops,
ftrace_match_records(hash, buf, len);
mutex_lock(&ftrace_lock);
@@ -1397,7 +1308,7 @@
mutex_unlock(&ftrace_lock);
mutex_unlock(&ftrace_regex_lock);
-@@ -3040,18 +3083,12 @@ ftrace_regex_release(struct inode *inode
+@@ -3060,18 +3083,12 @@ ftrace_regex_release(struct inode *inode
orig_hash = &iter->ops->notrace_hash;
mutex_lock(&ftrace_lock);
@@ -1422,34 +1333,6 @@
mutex_unlock(&ftrace_lock);
}
free_ftrace_hash(iter->hash);
-Index: linux-2.6/include/linux/ftrace.h
-===================================================================
---- linux-2.6.orig/include/linux/ftrace.h
-+++ linux-2.6/include/linux/ftrace.h
-@@ -123,7 +123,8 @@ stack_trace_sysctl(struct ctl_table *tab
- struct ftrace_func_command {
- struct list_head list;
- char *name;
-- int (*func)(char *func, char *cmd,
-+ int (*func)(struct ftrace_hash *hash,
-+ char *func, char *cmd,
- char *params, int enable);
- };
-
-Index: linux-2.6/kernel/trace/trace_functions.c
-===================================================================
---- linux-2.6.orig/kernel/trace/trace_functions.c
-+++ linux-2.6/kernel/trace/trace_functions.c
-@@ -324,7 +324,8 @@ ftrace_trace_onoff_unreg(char *glob, cha
- }
-
- static int
--ftrace_trace_onoff_callback(char *glob, char *cmd, char *param, int enable)
-+ftrace_trace_onoff_callback(struct ftrace_hash *hash,
-+ char *glob, char *cmd, char *param, int enable)
- {
- struct ftrace_probe_ops *ops;
- void *count = (void *)-1;
Index: linux-2.6/drivers/gpu/drm/drm_irq.c
===================================================================
--- linux-2.6.orig/drivers/gpu/drm/drm_irq.c
@@ -2009,7 +1892,7 @@
+ wq_worker_running(tsk);
+}
+
- asmlinkage void schedule(void)
+ asmlinkage void __sched schedule(void)
{
struct task_struct *tsk = current;
@@ -2034,7 +1917,7 @@
#ifdef CONFIG_MUTEX_SPIN_ON_OWNER
static inline bool owner_running(struct mutex *lock, struct task_struct *owner)
-@@ -4415,7 +4555,16 @@ asmlinkage void __sched notrace preempt_
+@@ -4391,7 +4531,16 @@ asmlinkage void __sched notrace preempt_
do {
add_preempt_count_notrace(PREEMPT_ACTIVE);
@@ -2051,7 +1934,7 @@
sub_preempt_count_notrace(PREEMPT_ACTIVE);
/*
-@@ -4838,9 +4987,8 @@ long __sched sleep_on_timeout(wait_queue
+@@ -4814,9 +4963,8 @@ long __sched sleep_on_timeout(wait_queue
EXPORT_SYMBOL(sleep_on_timeout);
#ifdef CONFIG_RT_MUTEXES
@@ -2062,7 +1945,7 @@
* @p: task
* @prio: prio value (kernel-internal form)
*
-@@ -4849,7 +4997,7 @@ EXPORT_SYMBOL(sleep_on_timeout);
+@@ -4825,7 +4973,7 @@ EXPORT_SYMBOL(sleep_on_timeout);
*
* Used by the rt_mutex code to implement priority inheritance logic.
*/
@@ -2071,7 +1954,7 @@
{
int oldprio, on_rq, running;
struct rq *rq;
-@@ -4859,6 +5007,24 @@ void rt_mutex_setprio(struct task_struct
+@@ -4835,6 +4983,24 @@ void rt_mutex_setprio(struct task_struct
rq = __task_rq_lock(p);
@@ -2096,7 +1979,7 @@
trace_sched_pi_setprio(p, prio);
oldprio = p->prio;
prev_class = p->sched_class;
-@@ -4882,9 +5048,9 @@ void rt_mutex_setprio(struct task_struct
+@@ -4858,9 +5024,9 @@ void rt_mutex_setprio(struct task_struct
enqueue_task(rq, p, oldprio < prio ? ENQUEUE_HEAD : 0);
check_class_changed(rq, p, prev_class, oldprio);
@@ -2107,7 +1990,7 @@
#endif
void set_user_nice(struct task_struct *p, long nice)
-@@ -5019,7 +5185,13 @@ EXPORT_SYMBOL(task_nice);
+@@ -4995,7 +5161,13 @@ EXPORT_SYMBOL(task_nice);
*/
int idle_cpu(int cpu)
{
@@ -2122,7 +2005,7 @@
}
/**
-@@ -5553,7 +5725,7 @@ SYSCALL_DEFINE0(sched_yield)
+@@ -5529,7 +5701,7 @@ SYSCALL_DEFINE0(sched_yield)
__release(rq->lock);
spin_release(&rq->lock.dep_map, 1, _THIS_IP_);
do_raw_spin_unlock(&rq->lock);
@@ -2131,7 +2014,7 @@
schedule();
-@@ -5567,9 +5739,17 @@ static inline int should_resched(void)
+@@ -5543,9 +5715,17 @@ static inline int should_resched(void)
static void __cond_resched(void)
{
@@ -2152,7 +2035,7 @@
}
int __sched _cond_resched(void)
-@@ -5610,6 +5790,7 @@ int __cond_resched_lock(spinlock_t *lock
+@@ -5586,6 +5766,7 @@ int __cond_resched_lock(spinlock_t *lock
}
EXPORT_SYMBOL(__cond_resched_lock);
@@ -2160,7 +2043,7 @@
int __sched __cond_resched_softirq(void)
{
BUG_ON(!in_softirq());
-@@ -5623,6 +5804,7 @@ int __sched __cond_resched_softirq(void)
+@@ -5599,6 +5780,7 @@ int __sched __cond_resched_softirq(void)
return 0;
}
EXPORT_SYMBOL(__cond_resched_softirq);
@@ -2168,7 +2051,7 @@
/**
* yield - yield the current processor to other threads.
-@@ -5869,7 +6051,7 @@ void show_state_filter(unsigned long sta
+@@ -5845,7 +6027,7 @@ void show_state_filter(unsigned long sta
printk(KERN_INFO
" task PC stack pid father\n");
#endif
@@ -2177,7 +2060,7 @@
do_each_thread(g, p) {
/*
* reset the NMI-timeout, listing all files on a slow
-@@ -5885,7 +6067,7 @@ void show_state_filter(unsigned long sta
+@@ -5861,7 +6043,7 @@ void show_state_filter(unsigned long sta
#ifdef CONFIG_SCHED_DEBUG
sysrq_sched_debug_show();
#endif
@@ -2186,7 +2069,7 @@
/*
* Only show locks if all tasks are dumped:
*/
-@@ -6007,12 +6189,12 @@ static inline void sched_init_granularit
+@@ -5983,12 +6165,12 @@ static inline void sched_init_granularit
#ifdef CONFIG_SMP
void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
{
@@ -2203,7 +2086,7 @@
}
/*
-@@ -6063,7 +6245,7 @@ int set_cpus_allowed_ptr(struct task_str
+@@ -6039,7 +6221,7 @@ int set_cpus_allowed_ptr(struct task_str
do_set_cpus_allowed(p, new_mask);
/* Can the task run on the task's current CPU? If so, we're done */
@@ -2212,7 +2095,7 @@
goto out;
dest_cpu = cpumask_any_and(cpu_active_mask, new_mask);
-@@ -6110,7 +6292,7 @@ static int __migrate_task(struct task_st
+@@ -6086,7 +6268,7 @@ static int __migrate_task(struct task_st
if (task_cpu(p) != src_cpu)
goto done;
/* Affinity changed (again). */
@@ -2221,7 +2104,7 @@
goto fail;
/*
-@@ -6152,6 +6334,8 @@ static int migration_cpu_stop(void *data
+@@ -6128,6 +6310,8 @@ static int migration_cpu_stop(void *data
#ifdef CONFIG_HOTPLUG_CPU
@@ -2230,7 +2113,7 @@
/*
* Ensures that the idle task is using init_mm right before its cpu goes
* offline.
-@@ -6164,7 +6348,12 @@ void idle_task_exit(void)
+@@ -6140,7 +6324,12 @@ void idle_task_exit(void)
if (mm != &init_mm)
switch_mm(mm, &init_mm, current);
@@ -2244,7 +2127,7 @@
}
/*
-@@ -6482,6 +6671,12 @@ migration_call(struct notifier_block *nf
+@@ -6458,6 +6647,12 @@ migration_call(struct notifier_block *nf
migrate_nr_uninterruptible(rq);
calc_global_load_remove(rq);
break;
@@ -2257,7 +2140,7 @@
#endif
}
-@@ -8199,7 +8394,8 @@ void __init sched_init(void)
+@@ -8175,7 +8370,8 @@ void __init sched_init(void)
#ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
static inline int preempt_count_equals(int preempt_offset)
{
@@ -3944,15 +3827,6 @@
if (rt_rq_throttled(rt_rq)) {
sched_rt_rq_dequeue(rt_rq);
return 1;
-@@ -1038,7 +1042,7 @@ select_task_rq_rt(struct task_struct *p,
- */
- if (curr && unlikely(rt_task(curr)) &&
- (curr->rt.nr_cpus_allowed < 2 ||
-- curr->prio < p->prio) &&
-+ curr->prio <= p->prio) &&
- (p->rt.nr_cpus_allowed > 1)) {
- int target = find_lowest_rq(p);
-
@@ -1186,7 +1190,7 @@ static void deactivate_task(struct rq *r
static int pick_rt_task(struct rq *rq, struct task_struct *p, int cpu)
{
@@ -3971,15 +3845,6 @@
task_running(rq, task) ||
!task->on_rq)) {
-@@ -1569,7 +1573,7 @@ static void task_woken_rt(struct rq *rq,
- p->rt.nr_cpus_allowed > 1 &&
- rt_task(rq->curr) &&
- (rq->curr->rt.nr_cpus_allowed < 2 ||
-- rq->curr->prio < p->prio))
-+ rq->curr->prio <= p->prio))
- push_rt_tasks(rq);
- }
-
@@ -1614,9 +1618,6 @@ static void set_cpus_allowed_rt(struct t
update_rt_migration(&rq->rt);
@@ -5971,7 +5836,7 @@
#define PF_LESS_THROTTLE 0x00100000 /* Throttle me less: I clean memory */
#define PF_KTHREAD 0x00200000 /* I am a kernel thread */
#define PF_RANDOMIZE 0x00400000 /* randomize virtual address space */
-@@ -2022,15 +2070,27 @@ static inline void sched_autogroup_exit(
+@@ -2021,15 +2069,27 @@ static inline void sched_autogroup_exit(
#endif
#ifdef CONFIG_RT_MUTEXES
@@ -6000,7 +5865,7 @@
#endif
extern bool yield_to(struct task_struct *p, bool preempt);
-@@ -2110,6 +2170,7 @@ extern void xtime_update(unsigned long t
+@@ -2109,6 +2169,7 @@ extern void xtime_update(unsigned long t
extern int wake_up_state(struct task_struct *tsk, unsigned int state);
extern int wake_up_process(struct task_struct *tsk);
@@ -6008,7 +5873,7 @@
extern void wake_up_new_task(struct task_struct *tsk);
#ifdef CONFIG_SMP
extern void kick_process(struct task_struct *tsk);
-@@ -2199,12 +2260,24 @@ extern struct mm_struct * mm_alloc(void)
+@@ -2198,12 +2259,24 @@ extern struct mm_struct * mm_alloc(void)
/* mmdrop drops the mm and the page tables */
extern void __mmdrop(struct mm_struct *);
@@ -6033,7 +5898,7 @@
/* mmput gets rid of the mappings and all user-space */
extern void mmput(struct mm_struct *);
/* Grab a reference to a task's mm, if it is not already going away */
-@@ -2510,7 +2583,7 @@ extern int _cond_resched(void);
+@@ -2509,7 +2582,7 @@ extern int _cond_resched(void);
extern int __cond_resched_lock(spinlock_t *lock);
@@ -6042,7 +5907,7 @@
#define PREEMPT_LOCK_OFFSET PREEMPT_OFFSET
#else
#define PREEMPT_LOCK_OFFSET 0
-@@ -2521,12 +2594,16 @@ extern int __cond_resched_lock(spinlock_
+@@ -2520,12 +2593,16 @@ extern int __cond_resched_lock(spinlock_
__cond_resched_lock(lock); \
})
@@ -6059,7 +5924,7 @@
/*
* Does a critical section need to be broken due to another
-@@ -2550,7 +2627,7 @@ void thread_group_cputimer(struct task_s
+@@ -2549,7 +2626,7 @@ void thread_group_cputimer(struct task_s
static inline void thread_group_cputime_init(struct signal_struct *sig)
{
@@ -6068,7 +5933,7 @@
}
/*
-@@ -2589,6 +2666,26 @@ static inline void set_task_cpu(struct t
+@@ -2588,6 +2665,26 @@ static inline void set_task_cpu(struct t
#endif /* CONFIG_SMP */
More information about the Kernel-svn-changes
mailing list