Re: [PATCH v2 2/3] locking/rwsem: disable preemption for spinning region

From: Xu, Yanfei
Date: Fri Oct 15 2021 - 08:33:48 EST




On 10/15/21 6:20 PM, Peter Zijlstra wrote:
[Please note: This e-mail is from an EXTERNAL e-mail address]

On Fri, Oct 15, 2021 at 12:13:59PM +0200, Peter Zijlstra wrote:
On Wed, Oct 13, 2021 at 09:41:53PM +0800, Yanfei Xu wrote:
The spinning region rwsem_spin_on_owner() should not be preempted,
however the rwsem_down_write_slowpath() invokes it and don't disable
preemption. Fix it by adding a pair of preempt_disable/enable().

I'm thinking we should do this patch before #1, otherwise we have a
single patch window where we'll trigger the assertion, no?

Anyway, I've stuck the lot (reordered) into my locking/core branch, lets
see what the robots make of it ;-)

Well, thanks for reordering them :)

Cheers,
Yanfei