@@ -1277,32 +1277,6 @@ static int collect_expired_timers(struct timer_base *base,
1277
1277
return levels ;
1278
1278
}
1279
1279
1280
- /**
1281
- * __run_timers - run all expired timers (if any) on this CPU.
1282
- * @base: the timer vector to be processed.
1283
- */
1284
- static inline void __run_timers (struct timer_base * base )
1285
- {
1286
- struct hlist_head heads [LVL_DEPTH ];
1287
- int levels ;
1288
-
1289
- if (!time_after_eq (jiffies , base -> clk ))
1290
- return ;
1291
-
1292
- spin_lock_irq (& base -> lock );
1293
-
1294
- while (time_after_eq (jiffies , base -> clk )) {
1295
-
1296
- levels = collect_expired_timers (base , heads );
1297
- base -> clk ++ ;
1298
-
1299
- while (levels -- )
1300
- expire_timers (base , heads + levels );
1301
- }
1302
- base -> running_timer = NULL ;
1303
- spin_unlock_irq (& base -> lock );
1304
- }
1305
-
1306
1280
#ifdef CONFIG_NO_HZ_COMMON
1307
1281
/*
1308
1282
* Find the next pending bucket of a level. Search from @offset + @clk upwards
@@ -1472,6 +1446,32 @@ void update_process_times(int user_tick)
1472
1446
run_posix_cpu_timers (p );
1473
1447
}
1474
1448
1449
+ /**
1450
+ * __run_timers - run all expired timers (if any) on this CPU.
1451
+ * @base: the timer vector to be processed.
1452
+ */
1453
+ static inline void __run_timers (struct timer_base * base )
1454
+ {
1455
+ struct hlist_head heads [LVL_DEPTH ];
1456
+ int levels ;
1457
+
1458
+ if (!time_after_eq (jiffies , base -> clk ))
1459
+ return ;
1460
+
1461
+ spin_lock_irq (& base -> lock );
1462
+
1463
+ while (time_after_eq (jiffies , base -> clk )) {
1464
+
1465
+ levels = collect_expired_timers (base , heads );
1466
+ base -> clk ++ ;
1467
+
1468
+ while (levels -- )
1469
+ expire_timers (base , heads + levels );
1470
+ }
1471
+ base -> running_timer = NULL ;
1472
+ spin_unlock_irq (& base -> lock );
1473
+ }
1474
+
1475
1475
/*
1476
1476
* This function runs timers and the timer-tq in bottom half context.
1477
1477
*/
0 commit comments