Lines Matching refs:cpu

42 struct tick_sched *tick_get_tick_sched(int cpu)  in tick_get_tick_sched()  argument
44 return &per_cpu(tick_cpu_sched, cpu); in tick_get_tick_sched()
208 int tick_cpu, cpu = smp_processor_id(); in tick_sched_do_timer() local
226 WRITE_ONCE(tick_do_timer_cpu, cpu); in tick_sched_do_timer()
227 tick_cpu = cpu; in tick_sched_do_timer()
231 if (tick_cpu == cpu) in tick_sched_do_timer()
358 static bool can_stop_full_tick(int cpu, struct tick_sched *ts) in can_stop_full_tick() argument
362 if (unlikely(!cpu_online(cpu))) in can_stop_full_tick()
406 void tick_nohz_full_kick_cpu(int cpu) in tick_nohz_full_kick_cpu() argument
408 if (!tick_nohz_full_cpu(cpu)) in tick_nohz_full_kick_cpu()
411 irq_work_queue_on(&per_cpu(nohz_full_kick_work, cpu), cpu); in tick_nohz_full_kick_cpu()
416 int cpu; in tick_nohz_kick_task() local
452 cpu = task_cpu(tsk); in tick_nohz_kick_task()
455 if (cpu_online(cpu)) in tick_nohz_kick_task()
456 tick_nohz_full_kick_cpu(cpu); in tick_nohz_kick_task()
466 int cpu; in tick_nohz_full_kick_all() local
472 for_each_cpu_and(cpu, tick_nohz_full_mask, cpu_online_mask) in tick_nohz_full_kick_all()
473 tick_nohz_full_kick_cpu(cpu); in tick_nohz_full_kick_all()
505 void tick_nohz_dep_set_cpu(int cpu, enum tick_dep_bits bit) in tick_nohz_dep_set_cpu() argument
510 ts = per_cpu_ptr(&tick_cpu_sched, cpu); in tick_nohz_dep_set_cpu()
516 if (cpu == smp_processor_id()) { in tick_nohz_dep_set_cpu()
521 tick_nohz_full_kick_cpu(cpu); in tick_nohz_dep_set_cpu()
528 void tick_nohz_dep_clear_cpu(int cpu, enum tick_dep_bits bit) in tick_nohz_dep_clear_cpu() argument
530 struct tick_sched *ts = per_cpu_ptr(&tick_cpu_sched, cpu); in tick_nohz_dep_clear_cpu()
607 bool tick_nohz_cpu_hotpluggable(unsigned int cpu) in tick_nohz_cpu_hotpluggable() argument
614 if (tick_nohz_full_running && READ_ONCE(tick_do_timer_cpu) == cpu) in tick_nohz_cpu_hotpluggable()
619 static int tick_nohz_cpu_down(unsigned int cpu) in tick_nohz_cpu_down() argument
621 return tick_nohz_cpu_hotpluggable(cpu) ? 0 : -EBUSY; in tick_nohz_cpu_down()
626 int cpu, ret; in tick_nohz_init() local
645 cpu = smp_processor_id(); in tick_nohz_init()
647 if (cpumask_test_cpu(cpu, tick_nohz_full_mask)) { in tick_nohz_init()
649 "for timekeeping\n", cpu); in tick_nohz_init()
650 cpumask_clear_cpu(cpu, tick_nohz_full_mask); in tick_nohz_init()
654 for_each_cpu(cpu, tick_nohz_full_mask) in tick_nohz_init()
655 ct_cpu_track_user(cpu); in tick_nohz_init()
692 bool tick_nohz_tick_stopped_cpu(int cpu) in tick_nohz_tick_stopped_cpu() argument
694 struct tick_sched *ts = per_cpu_ptr(&tick_cpu_sched, cpu); in tick_nohz_tick_stopped_cpu()
801 u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time) in get_cpu_idle_time_us() argument
803 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); in get_cpu_idle_time_us()
806 !nr_iowait_cpu(cpu), last_update_time); in get_cpu_idle_time_us()
827 u64 get_cpu_iowait_time_us(int cpu, u64 *last_update_time) in get_cpu_iowait_time_us() argument
829 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); in get_cpu_iowait_time_us()
832 nr_iowait_cpu(cpu), last_update_time); in get_cpu_iowait_time_us()
891 static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu) in tick_nohz_next_event() argument
953 if (tick_cpu != cpu && in tick_nohz_next_event()
969 static void tick_nohz_stop_tick(struct tick_sched *ts, int cpu) in tick_nohz_stop_tick() argument
1014 if (tick_cpu == cpu) { in tick_nohz_stop_tick()
1078 static void tick_nohz_full_stop_tick(struct tick_sched *ts, int cpu) in tick_nohz_full_stop_tick() argument
1080 if (tick_nohz_next_event(ts, cpu)) in tick_nohz_full_stop_tick()
1081 tick_nohz_stop_tick(ts, cpu); in tick_nohz_full_stop_tick()
1110 int cpu = smp_processor_id(); in __tick_nohz_full_update_tick() local
1112 if (can_stop_full_tick(cpu, ts)) in __tick_nohz_full_update_tick()
1113 tick_nohz_full_stop_tick(ts, cpu); in __tick_nohz_full_update_tick()
1169 static bool can_stop_idle_tick(int cpu, struct tick_sched *ts) in can_stop_idle_tick() argument
1171 WARN_ON_ONCE(cpu_is_offline(cpu)); in can_stop_idle_tick()
1189 if (tick_cpu == cpu) in can_stop_idle_tick()
1208 int cpu = smp_processor_id(); in tick_nohz_idle_stop_tick() local
1217 else if (can_stop_idle_tick(cpu, ts)) in tick_nohz_idle_stop_tick()
1218 expires = tick_nohz_next_event(ts, cpu); in tick_nohz_idle_stop_tick()
1227 tick_nohz_stop_tick(ts, cpu); in tick_nohz_idle_stop_tick()
1234 nohz_balance_enter_idle(cpu); in tick_nohz_idle_stop_tick()
1344 int cpu = smp_processor_id(); in tick_nohz_get_sleep_length() local
1356 if (!can_stop_idle_tick(cpu, ts)) in tick_nohz_get_sleep_length()
1359 next_event = tick_nohz_next_event(ts, cpu); in tick_nohz_get_sleep_length()
1382 unsigned long tick_nohz_get_idle_calls_cpu(int cpu) in tick_nohz_get_idle_calls_cpu() argument
1384 struct tick_sched *ts = tick_get_tick_sched(cpu); in tick_nohz_get_idle_calls_cpu()
1604 void tick_sched_timer_dying(int cpu) in tick_sched_timer_dying() argument
1606 struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu); in tick_sched_timer_dying()
1630 int cpu; in tick_clock_notify() local
1632 for_each_possible_cpu(cpu) in tick_clock_notify()
1633 set_bit(0, &per_cpu(tick_cpu_sched, cpu).check_clocks); in tick_clock_notify()