45 lines
1.3 KiB
Diff
45 lines
1.3 KiB
Diff
Subject: fs-block-rt-support.patch
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
Date: Tue, 14 Jun 2011 17:05:09 +0200
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
---
|
|
block/blk-core.c | 2 +-
|
|
fs/file.c | 4 ++--
|
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
Index: linux-3.4/block/blk-core.c
|
|
===================================================================
|
|
--- linux-3.4.orig/block/blk-core.c
|
|
+++ linux-3.4/block/blk-core.c
|
|
@@ -237,7 +237,7 @@ EXPORT_SYMBOL(blk_delay_queue);
|
|
**/
|
|
void blk_start_queue(struct request_queue *q)
|
|
{
|
|
- WARN_ON(!irqs_disabled());
|
|
+ WARN_ON_NONRT(!irqs_disabled());
|
|
|
|
queue_flag_clear(QUEUE_FLAG_STOPPED, q);
|
|
__blk_run_queue(q);
|
|
Index: linux-3.4/fs/file.c
|
|
===================================================================
|
|
--- linux-3.4.orig/fs/file.c
|
|
+++ linux-3.4/fs/file.c
|
|
@@ -105,14 +105,14 @@ void free_fdtable_rcu(struct rcu_head *r
|
|
kfree(fdt->open_fds);
|
|
kfree(fdt);
|
|
} else {
|
|
- fddef = &get_cpu_var(fdtable_defer_list);
|
|
+ fddef = &per_cpu(fdtable_defer_list, get_cpu_light());
|
|
spin_lock(&fddef->lock);
|
|
fdt->next = fddef->next;
|
|
fddef->next = fdt;
|
|
/* vmallocs are handled from the workqueue context */
|
|
schedule_work(&fddef->wq);
|
|
spin_unlock(&fddef->lock);
|
|
- put_cpu_var(fdtable_defer_list);
|
|
+ put_cpu_light();
|
|
}
|
|
}
|
|
|