hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/kernel/time/tick-common.c
....@@ -80,13 +80,15 @@
8080 static void tick_periodic(int cpu)
8181 {
8282 if (tick_do_timer_cpu == cpu) {
83
- write_seqlock(&jiffies_lock);
83
+ raw_spin_lock(&jiffies_lock);
84
+ write_seqcount_begin(&jiffies_seq);
8485
8586 /* Keep track of the next tick event */
8687 tick_next_period = ktime_add(tick_next_period, tick_period);
8788
8889 do_timer(1);
89
- write_sequnlock(&jiffies_lock);
90
+ write_seqcount_end(&jiffies_seq);
91
+ raw_spin_unlock(&jiffies_lock);
9092 update_wall_time();
9193 }
9294
....@@ -158,9 +160,9 @@
158160 ktime_t next;
159161
160162 do {
161
- seq = read_seqbegin(&jiffies_lock);
163
+ seq = read_seqcount_begin(&jiffies_seq);
162164 next = tick_next_period;
163
- } while (read_seqretry(&jiffies_lock, seq));
165
+ } while (read_seqcount_retry(&jiffies_seq, seq));
164166
165167 clockevents_switch_state(dev, CLOCK_EVT_STATE_ONESHOT);
166168