Lai Jiangshan abaf3f9d27 rcu: Revert "Allow post-unlock reference for rt_mutex" to avoid priority-inversion
The patch dfeb9765ce3c ("Allow post-unlock reference for rt_mutex")
ensured rcu-boost safe even the rt_mutex has post-unlock reference.

But rt_mutex allowing post-unlock reference is definitely a bug and it was
fixed by the commit 27e35715df54 ("rtmutex: Plug slow unlock race").
This fix made the previous patch (dfeb9765ce3c) useless.

And even worse, the priority-inversion introduced by the the previous
patch still exists.

rcu_read_unlock_special() {
	rt_mutex_unlock(&rnp->boost_mtx);
	/* Priority-Inversion:
	 * the current task had been deboosted and preempted as a low
	 * priority task immediately, it could wait long before reschedule in,
	 * and the rcu-booster also waits on this low priority task and sleeps.
	 * This priority-inversion makes rcu-booster can't work
	 * as expected.
	 */
	complete(&rnp->boost_completion);
}

Just revert the patch to avoid it.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2015-01-06 11:02:52 -08:00
..
2014-12-19 22:55:06 +01:00
2014-10-09 22:26:04 -04:00
2014-10-09 22:26:04 -04:00
2014-09-23 16:37:51 -04:00
2014-11-19 13:01:26 -05:00
2014-08-08 15:57:18 -07:00
2014-11-18 02:49:52 -05:00
2014-11-03 19:21:01 -08:00
2014-12-14 15:23:32 -08:00
2014-09-10 15:42:12 -07:00
2014-12-04 14:34:54 -05:00
2014-12-10 17:41:10 -08:00
2014-12-10 17:41:10 -08:00
2014-11-19 13:01:25 -05:00