summaryrefslogtreecommitdiffstats
path: root/fs-block-rt-support.patch
blob: a047eb43fe4bfa9674244c668962d9dd6b0c5473 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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-stable/block/blk-core.c
===================================================================
--- linux-stable.orig/block/blk-core.c
+++ linux-stable/block/blk-core.c
@@ -239,7 +239,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-stable/fs/file.c
===================================================================
--- linux-stable.orig/fs/file.c
+++ linux-stable/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();
 	}
 }