Re: [PATCH v3 02/11] locking: add define if mutex_destroy() is not an empty function

From: Waiman Long
Date: Wed Dec 13 2023 - 20:52:12 EST



On 12/13/23 17:30, George Stark wrote:
mutex_destroy() is only a debug helper and an empty function on non-debug
configurations still we can't legally ignore it because it's the
established API call and it can be extended theoretically in the future.
Sometimes it could be useful to know e.g. in the higher-level API if
mutex_destroy() really does something in the current configuration
and it's should be called or skipped otherwise for the sake of
optimization so add dedicated define to recognize these cases.

Signed-off-by: George Stark <gnstark@xxxxxxxxxxxxxxxxx>
---
include/linux/mutex.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/include/linux/mutex.h b/include/linux/mutex.h
index a33aa9eb9fc3..2395ce4fcaf6 100644
--- a/include/linux/mutex.h
+++ b/include/linux/mutex.h
@@ -83,6 +83,9 @@ struct mutex {
extern void mutex_destroy(struct mutex *lock);
+/* mutex_destroy() is a real function, not a NOP */
+#define mutex_destroy mutex_destroy
+
#else
# define __DEBUG_MUTEX_INITIALIZER(lockname)
Acked-by: Waiman Long <longman@xxxxxxxxxx>