Lines Matching refs:cpu
80 static int smp_ctl_ssctl_stop(int cpu) in smp_ctl_ssctl_stop() argument
86 cb = &per_cpu(sampler_cpu_buffer, cpu); in smp_ctl_ssctl_stop()
92 smp_call_function_single(cpu, execute_ssctl, &ep, 1); in smp_ctl_ssctl_stop()
95 printk(KERN_ERR "hwsampler: CPU %d CPUMF SSCTL failed.\n", cpu); in smp_ctl_ssctl_stop()
100 smp_call_function_single(cpu, execute_qsi, &ep, 1); in smp_ctl_ssctl_stop()
110 static int smp_ctl_ssctl_deactivate(int cpu) in smp_ctl_ssctl_deactivate() argument
116 cb = &per_cpu(sampler_cpu_buffer, cpu); in smp_ctl_ssctl_deactivate()
122 smp_call_function_single(cpu, execute_ssctl, &ep, 1); in smp_ctl_ssctl_deactivate()
125 printk(KERN_ERR "hwsampler: CPU %d CPUMF SSCTL failed.\n", cpu); in smp_ctl_ssctl_deactivate()
128 smp_call_function_single(cpu, execute_qsi, &ep, 1); in smp_ctl_ssctl_deactivate()
136 static int smp_ctl_ssctl_enable_activate(int cpu, unsigned long interval) in smp_ctl_ssctl_enable_activate() argument
142 cb = &per_cpu(sampler_cpu_buffer, cpu); in smp_ctl_ssctl_enable_activate()
152 smp_call_function_single(cpu, execute_ssctl, &ep, 1); in smp_ctl_ssctl_enable_activate()
155 printk(KERN_ERR "hwsampler: CPU %d CPUMF SSCTL failed.\n", cpu); in smp_ctl_ssctl_enable_activate()
158 smp_call_function_single(cpu, execute_qsi, &ep, 1); in smp_ctl_ssctl_enable_activate()
160 printk(KERN_ERR "hwsampler: CPU %d CPUMF QSI failed.\n", cpu); in smp_ctl_ssctl_enable_activate()
165 static int smp_ctl_qsi(int cpu) in smp_ctl_qsi() argument
170 cb = &per_cpu(sampler_cpu_buffer, cpu); in smp_ctl_qsi()
173 smp_call_function_single(cpu, execute_qsi, &ep, 1); in smp_ctl_qsi()
198 static void add_samples_to_oprofile(unsigned cpu, unsigned long *,
203 int cpu; in init_all_cpu_buffers() local
206 for_each_online_cpu(cpu) { in init_all_cpu_buffers()
207 cb = &per_cpu(sampler_cpu_buffer, cpu); in init_all_cpu_buffers()
215 int cpu; in prepare_cpu_buffers() local
217 for_each_online_cpu(cpu) { in prepare_cpu_buffers()
218 cb = &per_cpu(sampler_cpu_buffer, cpu); in prepare_cpu_buffers()
242 static int allocate_sdbt(int cpu) in allocate_sdbt() argument
251 cb = &per_cpu(sampler_cpu_buffer, cpu); in allocate_sdbt()
327 int cpu; in deallocate_sdbt() local
332 for_each_online_cpu(cpu) { in deallocate_sdbt()
338 cb = &per_cpu(sampler_cpu_buffer, cpu); in deallocate_sdbt()
377 static int start_sampling(int cpu) in start_sampling() argument
382 cb = &per_cpu(sampler_cpu_buffer, cpu); in start_sampling()
383 rc = smp_ctl_ssctl_enable_activate(cpu, interval); in start_sampling()
385 printk(KERN_INFO "hwsampler: CPU %d ssctl failed.\n", cpu); in start_sampling()
391 printk(KERN_INFO "hwsampler: CPU %d ssctl not enabled.\n", cpu); in start_sampling()
396 printk(KERN_INFO "hwsampler: CPU %d ssctl not active.\n", cpu); in start_sampling()
402 cpu, interval); in start_sampling()
410 static int stop_sampling(int cpu) in stop_sampling() argument
416 rc = smp_ctl_qsi(cpu); in stop_sampling()
419 cb = &per_cpu(sampler_cpu_buffer, cpu); in stop_sampling()
421 printk(KERN_INFO "hwsampler: CPU %d, already stopped.\n", cpu); in stop_sampling()
423 rc = smp_ctl_ssctl_stop(cpu); in stop_sampling()
426 cpu, rc); in stop_sampling()
430 printk(KERN_INFO "hwsampler: CPU %d, CPUMF Sampling stopped.\n", cpu); in stop_sampling()
436 " count=%lu.\n", cpu, v); in stop_sampling()
441 " count=%lu.\n", cpu, v); in stop_sampling()
446 " count=%lu.\n", cpu, v); in stop_sampling()
452 " count=%lu.\n", cpu, v); in stop_sampling()
458 " count=%lu.\n", cpu, v); in stop_sampling()
482 int cpu; in hws_oom_callback() local
497 cpu = get_cpu(); in hws_oom_callback()
498 cb = &per_cpu(sampler_cpu_buffer, cpu); in hws_oom_callback()
509 cpu); in hws_oom_callback()
540 int hwsampler_deactivate(unsigned int cpu) in hwsampler_deactivate() argument
555 cb = &per_cpu(sampler_cpu_buffer, cpu); in hwsampler_deactivate()
557 rc = smp_ctl_qsi(cpu); in hwsampler_deactivate()
560 rc = smp_ctl_ssctl_deactivate(cpu); in hwsampler_deactivate()
563 "hwsampler: CPU %d, CPUMF Deactivation failed.\n", cpu); in hwsampler_deactivate()
569 queue_work_on(cpu, hws_wq, &cb->worker); in hwsampler_deactivate()
587 int hwsampler_activate(unsigned int cpu) in hwsampler_activate() argument
599 cb = &per_cpu(sampler_cpu_buffer, cpu); in hwsampler_activate()
601 rc = smp_ctl_qsi(cpu); in hwsampler_activate()
605 rc = smp_ctl_ssctl_enable_activate(cpu, interval); in hwsampler_activate()
609 cpu); in hwsampler_activate()
622 unsigned int cpu; in check_qsi_on_setup() local
625 for_each_online_cpu(cpu) { in check_qsi_on_setup()
626 cb = &per_cpu(sampler_cpu_buffer, cpu); in check_qsi_on_setup()
627 rc = smp_ctl_qsi(cpu); in check_qsi_on_setup()
639 rc = smp_ctl_ssctl_stop(cpu); in check_qsi_on_setup()
644 "CPU %d, CPUMF Sampling stopped now.\n", cpu); in check_qsi_on_setup()
652 unsigned int cpu; in check_qsi_on_start() local
656 for_each_online_cpu(cpu) { in check_qsi_on_start()
657 cb = &per_cpu(sampler_cpu_buffer, cpu); in check_qsi_on_start()
658 rc = smp_ctl_qsi(cpu); in check_qsi_on_start()
673 static void worker_on_start(unsigned int cpu) in worker_on_start() argument
677 cb = &per_cpu(sampler_cpu_buffer, cpu); in worker_on_start()
681 static int worker_check_error(unsigned int cpu, int ext_params) in worker_check_error() argument
688 cb = &per_cpu(sampler_cpu_buffer, cpu); in worker_check_error()
718 static void worker_on_finish(unsigned int cpu) in worker_on_finish() argument
723 cb = &per_cpu(sampler_cpu_buffer, cpu); in worker_on_finish()
726 rc = smp_ctl_qsi(cpu); in worker_on_finish()
731 cpu); in worker_on_finish()
732 rc = smp_ctl_ssctl_stop(cpu); in worker_on_finish()
736 cpu); in worker_on_finish()
739 if (i == cpu) in worker_on_finish()
751 static void worker_on_interrupt(unsigned int cpu) in worker_on_interrupt() argument
757 cb = &per_cpu(sampler_cpu_buffer, cpu); in worker_on_interrupt()
780 add_samples_to_oprofile(cpu, sdbt, dear); in worker_on_interrupt()
795 static void add_samples_to_oprofile(unsigned int cpu, unsigned long *sdbt, in add_samples_to_oprofile() argument
856 unsigned int cpu; in worker() local
861 cpu = smp_processor_id(); in worker()
865 worker_on_start(cpu); in worker()
867 if (worker_check_error(cpu, ext_params)) in worker()
871 worker_on_interrupt(cpu); in worker()
874 worker_on_finish(cpu); in worker()
886 int cpu, rc; in hwsampler_allocate() local
905 for_each_online_cpu(cpu) { in hwsampler_allocate()
906 if (allocate_sdbt(cpu)) { in hwsampler_allocate()
966 unsigned long hwsampler_get_sample_overflow_count(unsigned int cpu) in hwsampler_get_sample_overflow_count() argument
970 cb = &per_cpu(sampler_cpu_buffer, cpu); in hwsampler_get_sample_overflow_count()
978 int cpu; in hwsampler_setup() local
1006 for_each_online_cpu(cpu) { in hwsampler_setup()
1007 cb = &per_cpu(sampler_cpu_buffer, cpu); in hwsampler_setup()
1009 rc = smp_ctl_qsi(cpu); in hwsampler_setup()
1086 int rc, cpu; in hwsampler_start_all() local
1108 for_each_online_cpu(cpu) { in hwsampler_start_all()
1109 rc = start_sampling(cpu); in hwsampler_start_all()
1114 for_each_online_cpu(cpu) { in hwsampler_start_all()
1115 stop_sampling(cpu); in hwsampler_start_all()
1145 int tmp_rc, rc, cpu; in hwsampler_stop_all() local
1158 for_each_online_cpu(cpu) { in hwsampler_stop_all()
1159 cb = &per_cpu(sampler_cpu_buffer, cpu); in hwsampler_stop_all()
1161 tmp_rc = stop_sampling(cpu); in hwsampler_stop_all()