Re: [PATCH] locking/arch: Move qrwlock.h include after qspinlock.h

From: Waiman Long
Date: Wed Feb 10 2021 - 10:55:56 EST


On 2/10/21 10:05 AM, Guenter Roeck wrote:
On 2/10/21 6:45 AM, Waiman Long wrote:
The queued rwlock code has a dependency on the current spinlock
implementation (likely to be qspinlock), but not vice versa. Including
qrwlock.h before qspinlock.h can be problematic when expanding qrwlock
functionality.

If both qspinlock.h and qrwlock.h are to be included, the qrwlock.h
include should always be after qspinlock.h. Update the current set of
asm/spinlock.h files to enforce that.

Signed-off-by: Waiman Long <longman@xxxxxxxxxx>
There should be a Fixes: tag here. If the SHA of the offending commit is not
stable, there should be a better reference than "The queued rwlock code".
I originally have a Fixes tag when I was modifying the mips' asm/spinlock.h file. After I realize that there are more files to modify, I take that out. Anyway, the problem was exposed by Ben's qrwlock patch. So existing stable releases should still be fine without this patch.

This patch fixes the build problem I had observed on mips. I also tested
xtensa:defconfig and arm64:defconfig with no problems observed.

Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>

Thanks for the testing as I don't have a build environment to verify that.

Cheers,
Longman