• Home
  • Raw
  • Download

Lines Matching refs:cpu

41 struct tick_sched *tick_get_tick_sched(int cpu)  in tick_get_tick_sched()  argument
43 return &per_cpu(tick_cpu_sched, cpu); in tick_get_tick_sched()
156 int cpu = smp_processor_id(); in tick_sched_do_timer() local
173 tick_do_timer_cpu = cpu; in tick_sched_do_timer()
178 if (tick_do_timer_cpu == cpu) { in tick_sched_do_timer()
273 static bool can_stop_full_tick(int cpu, struct tick_sched *ts) in can_stop_full_tick() argument
277 if (unlikely(!cpu_online(cpu))) in can_stop_full_tick()
323 void tick_nohz_full_kick_cpu(int cpu) in tick_nohz_full_kick_cpu() argument
325 if (!tick_nohz_full_cpu(cpu)) in tick_nohz_full_kick_cpu()
328 irq_work_queue_on(&per_cpu(nohz_full_kick_work, cpu), cpu); in tick_nohz_full_kick_cpu()
337 int cpu; in tick_nohz_full_kick_all() local
343 for_each_cpu_and(cpu, tick_nohz_full_mask, cpu_online_mask) in tick_nohz_full_kick_all()
344 tick_nohz_full_kick_cpu(cpu); in tick_nohz_full_kick_all()
376 void tick_nohz_dep_set_cpu(int cpu, enum tick_dep_bits bit) in tick_nohz_dep_set_cpu() argument
381 ts = per_cpu_ptr(&tick_cpu_sched, cpu); in tick_nohz_dep_set_cpu()
387 if (cpu == smp_processor_id()) { in tick_nohz_dep_set_cpu()
392 tick_nohz_full_kick_cpu(cpu); in tick_nohz_dep_set_cpu()
399 void tick_nohz_dep_clear_cpu(int cpu, enum tick_dep_bits bit) in tick_nohz_dep_clear_cpu() argument
401 struct tick_sched *ts = per_cpu_ptr(&tick_cpu_sched, cpu); in tick_nohz_dep_clear_cpu()
483 bool tick_nohz_cpu_hotpluggable(unsigned int cpu) in tick_nohz_cpu_hotpluggable() argument
490 if (tick_nohz_full_running && tick_do_timer_cpu == cpu) in tick_nohz_cpu_hotpluggable()
495 static int tick_nohz_cpu_down(unsigned int cpu) in tick_nohz_cpu_down() argument
497 return tick_nohz_cpu_hotpluggable(cpu) ? 0 : -EBUSY; in tick_nohz_cpu_down()
502 int cpu, ret; in tick_nohz_init() local
521 cpu = smp_processor_id(); in tick_nohz_init()
523 if (cpumask_test_cpu(cpu, tick_nohz_full_mask)) { in tick_nohz_init()
525 "for timekeeping\n", cpu); in tick_nohz_init()
526 cpumask_clear_cpu(cpu, tick_nohz_full_mask); in tick_nohz_init()
530 for_each_cpu(cpu, tick_nohz_full_mask) in tick_nohz_init()
531 context_tracking_cpu_set(cpu); in tick_nohz_init()
568 bool tick_nohz_tick_stopped_cpu(int cpu) in tick_nohz_tick_stopped_cpu() argument
570 struct tick_sched *ts = per_cpu_ptr(&tick_cpu_sched, cpu); in tick_nohz_tick_stopped_cpu()
602 update_ts_time_stats(int cpu, struct tick_sched *ts, ktime_t now, u64 *last_update_time) in update_ts_time_stats() argument
608 if (nr_iowait_cpu(cpu) > 0) in update_ts_time_stats()
649 u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time) in get_cpu_idle_time_us() argument
651 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); in get_cpu_idle_time_us()
659 update_ts_time_stats(cpu, ts, now, last_update_time); in get_cpu_idle_time_us()
662 if (ts->idle_active && !nr_iowait_cpu(cpu)) { in get_cpu_idle_time_us()
690 u64 get_cpu_iowait_time_us(int cpu, u64 *last_update_time) in get_cpu_iowait_time_us() argument
692 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); in get_cpu_iowait_time_us()
700 update_ts_time_stats(cpu, ts, now, last_update_time); in get_cpu_iowait_time_us()
703 if (ts->idle_active && nr_iowait_cpu(cpu) > 0) { in get_cpu_iowait_time_us()
743 static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu) in tick_nohz_next_event() argument
812 if (cpu != tick_do_timer_cpu && in tick_nohz_next_event()
828 static void tick_nohz_stop_tick(struct tick_sched *ts, int cpu) in tick_nohz_stop_tick() argument
846 if (cpu == tick_do_timer_cpu) { in tick_nohz_stop_tick()
910 static void tick_nohz_stop_sched_tick(struct tick_sched *ts, int cpu) in tick_nohz_stop_sched_tick() argument
912 if (tick_nohz_next_event(ts, cpu)) in tick_nohz_stop_sched_tick()
913 tick_nohz_stop_tick(ts, cpu); in tick_nohz_stop_sched_tick()
944 int cpu = smp_processor_id(); in tick_nohz_full_update_tick() local
946 if (!tick_nohz_full_cpu(cpu)) in tick_nohz_full_update_tick()
952 if (can_stop_full_tick(cpu, ts)) in tick_nohz_full_update_tick()
953 tick_nohz_stop_sched_tick(ts, cpu); in tick_nohz_full_update_tick()
959 static bool can_stop_idle_tick(int cpu, struct tick_sched *ts) in can_stop_idle_tick() argument
968 if (unlikely(!cpu_online(cpu))) { in can_stop_idle_tick()
969 if (cpu == tick_do_timer_cpu) in can_stop_idle_tick()
1002 if (tick_do_timer_cpu == cpu) in can_stop_idle_tick()
1016 int cpu = smp_processor_id(); in __tick_nohz_idle_stop_tick() local
1024 else if (can_stop_idle_tick(cpu, ts)) in __tick_nohz_idle_stop_tick()
1025 expires = tick_nohz_next_event(ts, cpu); in __tick_nohz_idle_stop_tick()
1034 tick_nohz_stop_tick(ts, cpu); in __tick_nohz_idle_stop_tick()
1041 nohz_balance_enter_idle(cpu); in __tick_nohz_idle_stop_tick()
1145 int cpu = smp_processor_id(); in tick_nohz_get_sleep_length() local
1157 if (!can_stop_idle_tick(cpu, ts)) in tick_nohz_get_sleep_length()
1160 next_event = tick_nohz_next_event(ts, cpu); in tick_nohz_get_sleep_length()
1181 unsigned long tick_nohz_get_idle_calls_cpu(int cpu) in tick_nohz_get_idle_calls_cpu() argument
1183 struct tick_sched *ts = tick_get_tick_sched(cpu); in tick_nohz_get_idle_calls_cpu()
1444 void tick_cancel_sched_timer(int cpu) in tick_cancel_sched_timer() argument
1446 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); in tick_cancel_sched_timer()
1472 int cpu; in tick_clock_notify() local
1474 for_each_possible_cpu(cpu) in tick_clock_notify()
1475 set_bit(0, &per_cpu(tick_cpu_sched, cpu).check_clocks); in tick_clock_notify()