summaryrefslogtreecommitdiffstats
path: root/fs-btrfs-locking-workaround-for-preempt-rt.patch
blob: f4336da52e651381da4f9d52c311f7ad1c3d8b70 (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
From 6c191358ec62a0647cec8dd66bbb69131cca1ca3 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:28 -0500
Subject: [PATCH] fs: btrfs locking workaround for preempt -rt

commit 6772ca45ec38d1bb90b6071a3df1d8b0a7ab1f27 in tip.

- btrfs_path_lock_waiting() looks rather dubious and there's no
  spin_is_contended() method on PREEMPT_RT - so exclude this for now

=> needs a proper fix later. Either this code gets zapped from btrfs
   upstream, or we add spin_is_contended() to PREEMPT_RT too.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 fs/btrfs/locking.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c
index 6151f2e..5095ded 100644
--- a/fs/btrfs/locking.c
+++ b/fs/btrfs/locking.c
@@ -93,6 +93,7 @@ static int btrfs_spin_on_block(struct extent_buffer *eb)
  */
 int btrfs_try_spin_lock(struct extent_buffer *eb)
 {
+#ifndef CONFIG_PREEMPT_RT
 	int i;
 
 	if (btrfs_spin_on_block(eb)) {
@@ -112,6 +113,7 @@ int btrfs_try_spin_lock(struct extent_buffer *eb)
 			return 1;
 		spin_unlock(&eb->lock);
 	}
+#endif
 	return 0;
 }
 
-- 
1.7.0.4