diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-09-17 13:48:00 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-09-17 13:48:00 -0400 |
commit | 8fbbc98312c579bcdad5a91682489d1c3c38b988 (patch) | |
tree | 916f68912712d08dabc4c0ec4464d7fa418dbbd2 | |
parent | 9cf42b99c82bf931d4e1d4392c80387b6969f3e2 (diff) | |
download | 4.8-rt-patches-8fbbc98312c579bcdad5a91682489d1c3c38b988.tar.gz |
Revert "fs: refresh dcache patch; drop chunk removed upstream"
This reverts commit 9db2faf4d248418f2358020f55f558aff2abdebf.
...to get us back to the state things were in 4.6+stable
-rw-r--r-- | patches/fs-dcache-use-cpu-chill-in-trylock-loops.patch | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/patches/fs-dcache-use-cpu-chill-in-trylock-loops.patch b/patches/fs-dcache-use-cpu-chill-in-trylock-loops.patch index a6f0478d986918..134a6140b2b797 100644 --- a/patches/fs-dcache-use-cpu-chill-in-trylock-loops.patch +++ b/patches/fs-dcache-use-cpu-chill-in-trylock-loops.patch @@ -1,18 +1,20 @@ -From f7312abb1ed7c87585f3a48b25c74dfd6ded6373 Mon Sep 17 00:00:00 2001 +Subject: fs: dcache: Use cpu_chill() in trylock loops From: Thomas Gleixner <tglx@linutronix.de> -Date: Wed, 7 Mar 2012 21:00:34 +0100 -Subject: [PATCH] fs: dcache: Use cpu_chill() in trylock loops +Date: Wed, 07 Mar 2012 21:00:34 +0100 Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system make progress. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> -[PG: drop chunk from dcache.c that was removed in 47be61845c775643] -Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> -diff --git a/fs/autofs4/autofs_i.h b/fs/autofs4/autofs_i.h -index a439548de785..7c392647d03b 100644 +--- + fs/autofs4/autofs_i.h | 1 + + fs/autofs4/expire.c | 2 +- + fs/dcache.c | 5 +++-- + fs/namespace.c | 3 ++- + 4 files changed, 7 insertions(+), 4 deletions(-) + --- a/fs/autofs4/autofs_i.h +++ b/fs/autofs4/autofs_i.h @@ -30,6 +30,7 @@ @@ -23,11 +25,9 @@ index a439548de785..7c392647d03b 100644 #include <asm/current.h> #include <linux/uaccess.h> -diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c -index b493909e7492..faa07a5930d5 100644 --- a/fs/autofs4/expire.c +++ b/fs/autofs4/expire.c -@@ -148,7 +148,7 @@ again: +@@ -148,7 +148,7 @@ static struct dentry *get_next_positive_ parent = p->d_parent; if (!spin_trylock(&parent->d_lock)) { spin_unlock(&p->d_lock); @@ -36,8 +36,6 @@ index b493909e7492..faa07a5930d5 100644 goto relock; } spin_unlock(&p->d_lock); -diff --git a/fs/dcache.c b/fs/dcache.c -index b90cf8e09d5b..4592ad3ea33b 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -19,6 +19,7 @@ @@ -48,7 +46,16 @@ index b90cf8e09d5b..4592ad3ea33b 100644 #include <linux/slab.h> #include <linux/init.h> #include <linux/hash.h> -@@ -2334,7 +2335,7 @@ again: +@@ -578,7 +579,7 @@ static struct dentry *dentry_kill(struct + + failed: + spin_unlock(&dentry->d_lock); +- cpu_relax(); ++ cpu_chill(); + return dentry; /* try again with same dentry */ + } + +@@ -2316,7 +2317,7 @@ void d_delete(struct dentry * dentry) if (dentry->d_lockref.count == 1) { if (!spin_trylock(&inode->i_lock)) { spin_unlock(&dentry->d_lock); @@ -57,8 +64,6 @@ index b90cf8e09d5b..4592ad3ea33b 100644 goto again; } dentry->d_flags &= ~DCACHE_CANT_MOUNT; -diff --git a/fs/namespace.c b/fs/namespace.c -index d1ae388e80db..b55a6a33a01d 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -14,6 +14,7 @@ @@ -78,6 +83,3 @@ index d1ae388e80db..b55a6a33a01d 100644 preempt_disable(); } /* --- -2.5.0 - |