jump_label: Add comment about initialization order for anonymous unions
Commit 3821fd35b5
("jump_label: Reduce the size of struct static_key")
broke old compilers that could not handle static initialization of anonymous
unions. Boris fixed it with a patch that added brackets around the static
initializer. But this creates a dependency between those initializers and
the structure's order of its fields. Document this dependency in case new
fields are added to struct static_key in the future.
Noted-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Suggested-by: Chris Mason <clm@fb.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
cd8d860dcc
commit
b17ef2ed62
|
@ -90,6 +90,13 @@ extern bool static_key_initialized;
|
|||
struct static_key {
|
||||
atomic_t enabled;
|
||||
/*
|
||||
* Note:
|
||||
* To make anonymous unions work with old compilers, the static
|
||||
* initialization of them requires brackets. This creates a dependency
|
||||
* on the order of the struct with the initializers. If any fields
|
||||
* are added, STATIC_KEY_INIT_TRUE and STATIC_KEY_INIT_FALSE may need
|
||||
* to be modified.
|
||||
*
|
||||
* bit 0 => 1 if key is initially true
|
||||
* 0 if initially false
|
||||
* bit 1 => 1 if points to struct static_key_mod
|
||||
|
|
Loading…
Reference in a new issue