As reported by John and Dmitry, Android tickles bad behaviour in cgroup_threadgroup_rwsem.
These two patches attempt to address the issue by optimizing the percpu-rwsem slow path and second add a bias knob to the percpu-rwsem that allows disabling the fast path which improves writer latency by getting rid of a synchronize_sched() call. --- fs/super.c | 3 +- include/linux/percpu-rwsem.h | 96 +++++++++++++++-- kernel/cgroup.c | 2 +- kernel/locking/percpu-rwsem.c | 246 +++++++++++++++++++++++++----------------- 4 files changed, 239 insertions(+), 108 deletions(-)

