]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/pkey: Add comment about synchronize_rcu() to pkey base
authorHarald Freudenberger <freude@linux.ibm.com>
Tue, 24 Mar 2026 12:57:36 +0000 (13:57 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Thu, 2 Apr 2026 10:06:29 +0000 (12:06 +0200)
Add a comment about the use of the synchronize_rcu() invocation.
There are two invocations of the synchronize_rcu() call in the
pkey base code. On one place it is optional but used to enforce
a fast path update to the other CPUs. As some people and code
checkers complain about this redundant invocation the suggestion
came up to add a comment to explain why the call is meaningful
at that place.

Closes: https://lore.kernel.org/linux-s390/20260313052312.2389-1-lirongqing@baidu.com/
Suggested-by: Li Rongqing <lirongqing@baidu.com>
Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
drivers/s390/crypto/pkey_base.c

index d60cd987c16d22bcd215ee921a7c4050237564c3..c5677e1e110a3a40a90737e62d0a2a1bdee15f4f 100644 (file)
@@ -60,6 +60,13 @@ int pkey_handler_register(struct pkey_handler *handler)
 
        list_add_rcu(&handler->list, &handler_list);
        spin_unlock(&handler_list_write_lock);
+       /*
+        * Fast path to push the info about the updated list to the other
+        * CPUs. If removed, the other CPUs may get the updated list when the
+        * RCU context is synched. As this code is in general not performance
+        * critical and the list update mostly only occurs at the early time in
+        * system startup the focus is on concurrency versus performance.
+        */
        synchronize_rcu();
 
        module_put(handler->module);