On 06/18/2014 04:57 PM, Marc Dionne wrote:
Hi, I've been seeing very reproducible soft lockups with 3.16-rc1 similar to what is reported here: http://marc.info/?l=linux-btrfs&m=140290088532203&w=2 , along with the occasional hard lockup, making it impossible to complete a parallel build on a btrfs filesystem for the package I work on. This was working fine just a few days before rc1. Bisecting brought me to the following commit: commit bd01ec1a13f9a327950c8e3080096446c7804753 Author: Waiman Long<Waiman.Long@xxxxxx> Date: Mon Feb 3 13:18:57 2014 +0100 x86, locking/rwlocks: Enable qrwlocks on x86 And sure enough if I revert that commit on top of current mainline, I'm unable to reproduce the soft lockups and hangs. Marc
The queue rwlock is fair. As a result, recursive read_lock is not allowed unless the task is in an interrupt context. Doing recursive read_lock will hang the process when a write_lock happens somewhere in between. Are recursive read_lock being done in the btrfs code?
-Longman -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
