File tree Expand file tree Collapse file tree 1 file changed +2
-6
lines changed Expand file tree Collapse file tree 1 file changed +2
-6
lines changed Original file line number Diff line number Diff line change @@ -115,8 +115,6 @@ EXPORT_SYMBOL_GPL(static_key_count);
115
115
116
116
void static_key_slow_inc_cpuslocked (struct static_key * key )
117
117
{
118
- int v , v1 ;
119
-
120
118
STATIC_KEY_CHECK_USE (key );
121
119
lockdep_assert_cpus_held ();
122
120
@@ -132,11 +130,9 @@ void static_key_slow_inc_cpuslocked(struct static_key *key)
132
130
* so it counts as "enabled" in jump_label_update(). Note that
133
131
* atomic_inc_unless_negative() checks >= 0, so roll our own.
134
132
*/
135
- for (v = atomic_read (& key -> enabled ); v > 0 ; v = v1 ) {
136
- v1 = atomic_cmpxchg (& key -> enabled , v , v + 1 );
137
- if (likely (v1 == v ))
133
+ for (int v = atomic_read (& key -> enabled ); v > 0 ; )
134
+ if (likely (atomic_try_cmpxchg (& key -> enabled , & v , v + 1 )))
138
135
return ;
139
- }
140
136
141
137
jump_label_lock ();
142
138
if (atomic_read (& key -> enabled ) == 0 ) {
You can’t perform that action at this time.
0 commit comments