Drop fixes in rt feature patch that are also in 3.0.5
svn path=/dists/sid/linux-2.6/; revision=18149
This commit is contained in:
parent
168366a145
commit
57f407b53b
|
@ -1,23 +1,7 @@
|
|||
Index: linux-2.6/arch/arm/plat-mxc/include/mach/iomux-v3.h
|
||||
===================================================================
|
||||
--- linux-2.6.orig/arch/arm/plat-mxc/include/mach/iomux-v3.h
|
||||
+++ linux-2.6/arch/arm/plat-mxc/include/mach/iomux-v3.h
|
||||
@@ -66,7 +66,6 @@ typedef u64 iomux_v3_cfg_t;
|
||||
#define MUX_MODE_MASK ((iomux_v3_cfg_t)0x1f << MUX_MODE_SHIFT)
|
||||
#define MUX_PAD_CTRL_SHIFT 41
|
||||
#define MUX_PAD_CTRL_MASK ((iomux_v3_cfg_t)0x1ffff << MUX_PAD_CTRL_SHIFT)
|
||||
-#define NO_PAD_CTRL ((iomux_v3_cfg_t)1 << (MUX_PAD_CTRL_SHIFT + 16))
|
||||
#define MUX_SEL_INPUT_SHIFT 58
|
||||
#define MUX_SEL_INPUT_MASK ((iomux_v3_cfg_t)0xf << MUX_SEL_INPUT_SHIFT)
|
||||
|
||||
@@ -85,6 +84,7 @@ typedef u64 iomux_v3_cfg_t;
|
||||
* Use to set PAD control
|
||||
*/
|
||||
|
||||
+#define NO_PAD_CTRL (1 << 16)
|
||||
#define PAD_CTL_DVS (1 << 13)
|
||||
#define PAD_CTL_HYS (1 << 8)
|
||||
|
||||
[bwh: Dropped fixes to arch/arm/plat-mxc/include/mach/iomux-v3.h,
|
||||
drivers/pci/dmar.c, drivers/block/floppy.c, kernel/sched.c that were
|
||||
also included in 3.0.5.]
|
||||
|
||||
Index: linux-2.6/mm/memory.c
|
||||
===================================================================
|
||||
--- linux-2.6.orig/mm/memory.c
|
||||
|
@ -1168,15 +1152,6 @@ Index: linux-2.6/drivers/pci/dmar.c
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
@@ -1388,7 +1388,7 @@ int dmar_set_interrupt(struct intel_iomm
|
||||
return ret;
|
||||
}
|
||||
|
||||
- ret = request_irq(irq, dmar_fault, 0, iommu->name, iommu);
|
||||
+ ret = request_irq(irq, dmar_fault, IRQF_NO_THREAD, iommu->name, iommu);
|
||||
if (ret)
|
||||
printk(KERN_ERR "IOMMU: can't request irq\n");
|
||||
return ret;
|
||||
Index: linux-2.6/kernel/trace/ftrace.c
|
||||
===================================================================
|
||||
--- linux-2.6.orig/kernel/trace/ftrace.c
|
||||
|
@ -1278,46 +1253,6 @@ Index: linux-2.6/kernel/trace/ftrace.c
|
|||
mutex_unlock(&ftrace_lock);
|
||||
}
|
||||
free_ftrace_hash(iter->hash);
|
||||
Index: linux-2.6/drivers/block/floppy.c
|
||||
===================================================================
|
||||
--- linux-2.6.orig/drivers/block/floppy.c
|
||||
+++ linux-2.6/drivers/block/floppy.c
|
||||
@@ -4250,7 +4250,7 @@ static int __init floppy_init(void)
|
||||
use_virtual_dma = can_use_virtual_dma & 1;
|
||||
fdc_state[0].address = FDC1;
|
||||
if (fdc_state[0].address == -1) {
|
||||
- del_timer(&fd_timeout);
|
||||
+ del_timer_sync(&fd_timeout);
|
||||
err = -ENODEV;
|
||||
goto out_unreg_region;
|
||||
}
|
||||
@@ -4261,7 +4261,7 @@ static int __init floppy_init(void)
|
||||
fdc = 0; /* reset fdc in case of unexpected interrupt */
|
||||
err = floppy_grab_irq_and_dma();
|
||||
if (err) {
|
||||
- del_timer(&fd_timeout);
|
||||
+ del_timer_sync(&fd_timeout);
|
||||
err = -EBUSY;
|
||||
goto out_unreg_region;
|
||||
}
|
||||
@@ -4318,7 +4318,7 @@ static int __init floppy_init(void)
|
||||
user_reset_fdc(-1, FD_RESET_ALWAYS, false);
|
||||
}
|
||||
fdc = 0;
|
||||
- del_timer(&fd_timeout);
|
||||
+ del_timer_sync(&fd_timeout);
|
||||
current_drive = 0;
|
||||
initialized = true;
|
||||
if (have_no_fdc) {
|
||||
@@ -4368,7 +4368,7 @@ out_unreg_blkdev:
|
||||
unregister_blkdev(FLOPPY_MAJOR, "fd");
|
||||
out_put_disk:
|
||||
while (dr--) {
|
||||
- del_timer(&motor_off_timer[dr]);
|
||||
+ del_timer_sync(&motor_off_timer[dr]);
|
||||
if (disks[dr]->queue)
|
||||
blk_cleanup_queue(disks[dr]->queue);
|
||||
put_disk(disks[dr]);
|
||||
Index: linux-2.6/drivers/gpu/drm/drm_irq.c
|
||||
===================================================================
|
||||
--- linux-2.6.orig/drivers/gpu/drm/drm_irq.c
|
||||
|
@ -1589,19 +1524,7 @@ Index: linux-2.6/kernel/sched.c
|
|||
if (unlikely(prev_state == TASK_DEAD)) {
|
||||
/*
|
||||
* Remove function-return probe instances associated with this
|
||||
@@ -4242,9 +4243,9 @@ pick_next_task(struct rq *rq)
|
||||
}
|
||||
|
||||
/*
|
||||
- * schedule() is the main scheduler function.
|
||||
+ * __schedule() is the main scheduler function.
|
||||
*/
|
||||
-asmlinkage void __sched schedule(void)
|
||||
+static void __sched __schedule(void)
|
||||
{
|
||||
struct task_struct *prev, *next;
|
||||
unsigned long *switch_count;
|
||||
@@ -4272,29 +4273,6 @@ need_resched:
|
||||
@@ -4272,19 +4273,6 @@ need_resched:
|
||||
} else {
|
||||
deactivate_task(rq, prev, DEQUEUE_SLEEP);
|
||||
prev->on_rq = 0;
|
||||
|
@ -1617,21 +1540,11 @@ Index: linux-2.6/kernel/sched.c
|
|||
- to_wakeup = wq_worker_sleeping(prev, cpu);
|
||||
- if (to_wakeup)
|
||||
- try_to_wake_up_local(to_wakeup);
|
||||
- }
|
||||
-
|
||||
- /*
|
||||
- * If we are going to sleep and we have plugged IO
|
||||
- * queued, make sure to submit it to avoid deadlocks.
|
||||
- */
|
||||
- if (blk_needs_flush_plug(prev)) {
|
||||
- raw_spin_unlock(&rq->lock);
|
||||
- blk_schedule_flush_plug(prev);
|
||||
- raw_spin_lock(&rq->lock);
|
||||
- }
|
||||
}
|
||||
switch_count = &prev->nvcsw;
|
||||
}
|
||||
@@ -4328,12 +4306,62 @@ need_resched:
|
||||
@@ -4328,32 +4306,62 @@ need_resched:
|
||||
|
||||
post_schedule(rq);
|
||||
|
||||
|
@ -1640,11 +1553,12 @@ Index: linux-2.6/kernel/sched.c
|
|||
if (need_resched())
|
||||
goto need_resched;
|
||||
}
|
||||
+
|
||||
+static inline void sched_submit_work(struct task_struct *tsk)
|
||||
+{
|
||||
|
||||
static inline void sched_submit_work(struct task_struct *tsk)
|
||||
{
|
||||
- if (!tsk->state)
|
||||
+ if (!tsk->state || tsk_is_pi_blocked(tsk))
|
||||
+ return;
|
||||
return;
|
||||
+
|
||||
+ /*
|
||||
+ * If a worker went to sleep, notify and ask workqueue whether
|
||||
|
@ -1653,14 +1567,14 @@ Index: linux-2.6/kernel/sched.c
|
|||
+ if (tsk->flags & PF_WQ_WORKER)
|
||||
+ wq_worker_sleeping(tsk);
|
||||
+
|
||||
+ /*
|
||||
+ * If we are going to sleep and we have plugged IO queued,
|
||||
+ * make sure to submit it to avoid deadlocks.
|
||||
+ */
|
||||
+ if (blk_needs_flush_plug(tsk))
|
||||
+ blk_schedule_flush_plug(tsk);
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* If we are going to sleep and we have plugged IO queued,
|
||||
* make sure to submit it to avoid deadlocks.
|
||||
*/
|
||||
if (blk_needs_flush_plug(tsk))
|
||||
blk_schedule_flush_plug(tsk);
|
||||
}
|
||||
|
||||
+static inline void sched_update_worker(struct task_struct *tsk)
|
||||
+{
|
||||
+ if (tsk_is_pi_blocked(tsk))
|
||||
|
@ -1670,14 +1584,14 @@ Index: linux-2.6/kernel/sched.c
|
|||
+ wq_worker_running(tsk);
|
||||
+}
|
||||
+
|
||||
+asmlinkage void schedule(void)
|
||||
+{
|
||||
+ struct task_struct *tsk = current;
|
||||
+
|
||||
+ sched_submit_work(tsk);
|
||||
+ __schedule();
|
||||
asmlinkage void schedule(void)
|
||||
{
|
||||
struct task_struct *tsk = current;
|
||||
|
||||
sched_submit_work(tsk);
|
||||
__schedule();
|
||||
+ sched_update_worker(tsk);
|
||||
+}
|
||||
}
|
||||
EXPORT_SYMBOL(schedule);
|
||||
|
||||
+/**
|
||||
|
@ -1695,24 +1609,6 @@ Index: linux-2.6/kernel/sched.c
|
|||
#ifdef CONFIG_MUTEX_SPIN_ON_OWNER
|
||||
|
||||
static inline bool owner_running(struct mutex *lock, struct task_struct *owner)
|
||||
@@ -4405,7 +4433,7 @@ asmlinkage void __sched notrace preempt_
|
||||
|
||||
do {
|
||||
add_preempt_count_notrace(PREEMPT_ACTIVE);
|
||||
- schedule();
|
||||
+ __schedule();
|
||||
sub_preempt_count_notrace(PREEMPT_ACTIVE);
|
||||
|
||||
/*
|
||||
@@ -4433,7 +4461,7 @@ asmlinkage void __sched preempt_schedule
|
||||
do {
|
||||
add_preempt_count(PREEMPT_ACTIVE);
|
||||
local_irq_enable();
|
||||
- schedule();
|
||||
+ __schedule();
|
||||
local_irq_disable();
|
||||
sub_preempt_count(PREEMPT_ACTIVE);
|
||||
|
||||
@@ -4828,9 +4856,8 @@ long __sched sleep_on_timeout(wait_queue
|
||||
EXPORT_SYMBOL(sleep_on_timeout);
|
||||
|
||||
|
@ -1798,7 +1694,7 @@ Index: linux-2.6/kernel/sched.c
|
|||
static void __cond_resched(void)
|
||||
{
|
||||
- add_preempt_count(PREEMPT_ACTIVE);
|
||||
- schedule();
|
||||
- __schedule();
|
||||
- sub_preempt_count(PREEMPT_ACTIVE);
|
||||
+ do {
|
||||
+ add_preempt_count(PREEMPT_ACTIVE);
|
||||
|
|
Loading…
Reference in New Issue