Re: [PATCH] locking/rwsem: Move is_rwsem_reader_owned() and rwsem_owner() under CONFIG_DEBUG_RWSEMS

From: Waiman Long
Date: Tue Sep 10 2024 - 14:04:53 EST



On 9/10/24 12:01, Andy Shevchenko wrote:
On Tue, Sep 10, 2024 at 11:47:17AM -0400, Waiman Long wrote:
On 9/10/24 04:16, Andy Shevchenko wrote:
On Tue, Sep 10, 2024 at 11:15:54AM +0300, Andy Shevchenko wrote:
On Mon, Sep 09, 2024 at 02:29:05PM -0400, Waiman Long wrote:
Both is_rwsem_reader_owned() and rwsem_owner() are currently only used when
CONFIG_DEBUG_RWSEMS is defined. This causes a compilation error with clang
when `make W=1` and CONFIG_WERROR=y:

kernel/locking/rwsem.c:187:20: error: unused function 'is_rwsem_reader_owned' [-Werror,-Wunused-function]
187 | static inline bool is_rwsem_reader_owned(struct rw_semaphore *sem)
| ^~~~~~~~~~~~~~~~~~~~~
kernel/locking/rwsem.c:271:35: error: unused function 'rwsem_owner' [-Werror,-Wunused-function]
271 | static inline struct task_struct *rwsem_owner(struct rw_semaphore *sem)
| ^~~~~~~~~~~

Fix this by moving these two functions under the CONFIG_DEBUG_RWSEMS define.
At least this solves my issue,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
...and

Tested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Thanks for the testing.

No functional change is intended for this patch. Ingo & Peter, can this
patch lands in v6.12 or has to wait until v6.13?
I see it already in PeterZ's tree.

Right. It is in PeterZ's tree. I didn't check his tree that often. Thanks for letting me know.

Cheers,
Longman