Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 9 files as a function:
- arch/x86/include/asm/tsc.h, line 22 (as a function)
- tools/perf/arch/arm64/util/tsc.c, line 7 (as a function)
- tools/perf/arch/x86/util/tsc.c, line 11 (as a function)
- tools/perf/util/tsc.c, line 111 (as a function)
- tools/power/x86/turbostat/turbostat.c, line 4503 (as a function)
- tools/testing/selftests/kvm/include/x86/processor.h, line 488 (as a function)
- tools/testing/selftests/prctl/disable-tsc-ctxt-sw-stress-test.c, line 31 (as a function)
- tools/testing/selftests/prctl/disable-tsc-on-off-stress-test.c, line 33 (as a function)
- tools/testing/selftests/prctl/disable-tsc-test.c, line 33 (as a function)
Referenced in 45 files:
- arch/x86/include/asm/timex.h, line 12
- arch/x86/include/asm/tsc.h, line 81
- arch/x86/kernel/apic/apic.c
- arch/x86/kernel/apic/io_apic.c
- arch/x86/kernel/cpu/amd.c
- arch/x86/kernel/cpu/mce/apei.c, line 60
- arch/x86/kernel/cpu/mce/core.c
- arch/x86/kernel/cpu/vmware.c
- arch/x86/kernel/hpet.c
- arch/x86/kernel/tsc.c
- arch/x86/kvm/emulate.c, line 4389
- arch/x86/kvm/hyperv.c, line 592
- arch/x86/kvm/lapic.c
- arch/x86/kvm/msrs.c, line 1977
- arch/x86/kvm/pmu.c, line 734
- arch/x86/kvm/vmx/nested.c, line 2303
- arch/x86/kvm/vmx/vmx.c
- arch/x86/kvm/x86.c
- arch/x86/kvm/xen.c, line 248
- arch/x86/lib/delay.c, line 195
- arch/x86/lib/kaslr.c, line 76
- drivers/accel/habanalabs/common/habanalabs_ioctl.c, line 326
- drivers/cpufreq/amd-pstate.c, line 601
- drivers/cpufreq/intel_pstate.c, line 2461
- drivers/gpu/drm/vmwgfx/vmwgfx_mksstat.h
- drivers/input/gameport/gameport.c
- drivers/thermal/intel/intel_powerclamp.c
- tools/perf/arch/arm64/util/hisi-ptt.c, line 150
- tools/perf/arch/x86/util/intel-bts.c, line 280
- tools/perf/arch/x86/util/intel-pt.c, line 1183
- tools/perf/tests/perf-time-to-tsc.c
- tools/power/cpupower/debug/kernel/cpufreq-test_tsc.c
- tools/power/x86/turbostat/turbostat.c, line 5256
- tools/testing/selftests/kvm/include/x86/processor.h
- tools/testing/selftests/kvm/system_counter_offset_test.c
- tools/testing/selftests/kvm/x86/apic_bus_clock_test.c
- tools/testing/selftests/kvm/x86/hyperv_clock.c
- tools/testing/selftests/kvm/x86/kvm_clock_test.c, line 40
- tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c
- tools/testing/selftests/kvm/x86/tsc_scaling_sync.c
- tools/testing/selftests/kvm/x86/vmx_preemption_timer_test.c
- tools/testing/selftests/kvm/x86/xapic_ipi_test.c
- tools/testing/selftests/prctl/disable-tsc-ctxt-sw-stress-test.c
- tools/testing/selftests/prctl/disable-tsc-on-off-stress-test.c
- tools/testing/selftests/prctl/disable-tsc-test.c
Smatch caller information:
lib/rbtree_test.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
drivers/input/gameport/gameport.c old_gameport_measure_speed() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | flags | ||
| LOCK2 | global &gameport_mutex | ||
| HALF_LOCKED2 | &pool->lock |
drivers/input/gameport/gameport.c old_gameport_measure_speed() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | flags | ||
| LOCK2 | global &gameport_mutex | ||
| HALF_LOCKED2 | &pool->lock |
arch/x86/kernel/apic/io_apic.c delay_with_tsc() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kernel/apic/io_apic.c delay_with_tsc() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
drivers/iommu/intel/iommu.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &iommu->register_lock | ||
| HALF_LOCKED2 | flag | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct intel_iommu)->register_lock |
mm/slub.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/iommu/intel/dmar.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &iommu->register_lock | ||
| HALF_LOCKED2 | flags |
arch/x86/kernel/apic/apic.c calibrate_APIC_clock() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | irq |
arch/x86/kernel/apic/apic.c calibrate_APIC_clock() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kernel/apic/apic.c lapic_cal_handler() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
arch/x86/kernel/apic/apic.c lapic_next_deadline() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &clockevents_lock | ||
| HALF_LOCKED2 | global &tick_broadcast_lock | ||
| HALF_LOCKED2 | irq |
arch/x86/lib/delay.c read_current_timer() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
drivers/net/wireless/ath/wil6210/txrx.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kernel/cpu/mce/apei.c apei_mce_report_mem_error() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &ghes_notify_lock_irq |
drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c vmw_cotable_resize() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dev_priv->cmdbuf_mutex |
drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c vmw_cotable_resize() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dev_priv->cmdbuf_mutex | ||
| HALF_LOCKED2 | bo->base.resv |
drivers/gpu/drm/vmwgfx/vmwgfx_cotable.c vmw_cotable_resize() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dev_priv->cmdbuf_mutex |
arch/x86/kernel/cpu/mce/core.c do_machine_check() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
arch/x86/kernel/cpu/mce/core.c machine_check_poll() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &cmci_poll_lock |
arch/x86/kvm/pmu.c kvm_pmu_rdpmc_vmware() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
drivers/net/wireless/ath/wil6210/debugfs.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &s->lock | ||
| TYPE_LOCK | (struct seq_file)->lock |
arch/x86/kvm/vmx/nested.c vmx_calc_preemption_timer_value() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
crypto/jitterentropy-kcapi.c random_get_entropy() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &rng->jent_lock |
drivers/net/wireless/ath/wil6210/txrx_edma.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kvm/xen.c kvm_xen_start_timer() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | &vcpu->kvm->arch.xen.xen_lock | ||
| HALF_LOCKED2 | &vcpu->kvm->srcu | ||
| HALF_LOCKED2 | &vcpu->mutex |
arch/x86/kernel/cpu/vmware.c vmware_cyc2ns_setup() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | irq |
arch/x86/kernel/cpu/vmware.c vmware_sched_clock() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
drivers/video/fbdev/udlfb.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &dlfb->render_mutex | ||
| HALF_LOCKED2 | &dlfb->urbs.limit_sem | ||
| HALF_LOCKED2 | &fbdefio_state->lock |
arch/x86/kvm/hyperv.c get_time_ref_counter() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| HALF_LOCKED2 | &hv->hv_lock | ||
| HALF_LOCKED2 | &kvm->srcu | ||
| HALF_LOCKED2 | &vcpu->kvm->srcu | ||
| HALF_LOCKED2 | &vcpu->mutex |
drivers/cpufreq/intel_pstate.c intel_pstate_sample() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags |
drivers/cpufreq/amd-pstate.c amd_pstate_sample() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags |
arch/x86/kvm/lapic.c __kvm_wait_lapic_expire() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kvm/lapic.c __kvm_wait_lapic_expire() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kvm/lapic.c advance_periodic_target_expiration() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kvm/lapic.c set_target_expiration() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | &vcpu->mutex |
arch/x86/kvm/lapic.c start_sw_tscdeadline() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &vcpu->kvm->srcu | ||
| HALF_LOCKED2 | &vcpu->mutex |
drivers/ptp/ptp_vmclock.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/ext4/mballoc.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | sb |
arch/x86/kvm/x86.c __get_kvmclock() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &kvm->arch.xen.xen_lock | ||
| HALF_LOCKED2 | &kvm->srcu |
arch/x86/kvm/x86.c kvm_arch_enable_virtualization_cpu() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
arch/x86/kvm/x86.c kvm_arch_tsc_set_attr() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &kvm->arch.tsc_write_lock | ||
| LOCK2 | &vcpu->mutex | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct kvm_arch)->tsc_write_lock | ||
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/x86.c kvm_arch_vcpu_load() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kvm/x86.c kvm_arch_vcpu_put() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | irq |
arch/x86/kvm/x86.c kvm_compute_l1_tsc_offset() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &kvm->arch.tsc_write_lock | ||
| HALF_LOCKED2 | flags |
arch/x86/kvm/x86.c kvm_guest_time_update() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | &v->kvm->srcu | ||
| LOCK2 | &v->mutex | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct kvm)->srcu | ||
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/x86.c vcpu_enter_guest() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &vcpu->mutex | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
lib/interval_tree_test.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
drivers/char/random.c random_get_entropy() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/net/arcnet/com20020.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &lp->lock |
crypto/tcrypt.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
lib/test_vmalloc.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
drivers/iommu/intel/irq_remapping.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &iommu->register_lock | ||
| HALF_LOCKED2 | flags | ||
| TYPE_LOCK | (struct intel_iommu)->register_lock |
drivers/thermal/intel/intel_powerclamp.c poll_pkg_cstate() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | &pool->lock |
drivers/thermal/intel/intel_powerclamp.c powerclamp_adjust_controls() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &powerclamp_lock | ||
| HALF_LOCKED2 | irq |
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c vmw_execbuf_ioctl() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c vmw_execbuf_ioctl() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kernel/hpet.c hpet_counting() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kernel/hpet.c hpet_counting() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kvm/msrs.c kvm_get_msr_common() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kernel/tsc.c cyc2ns_init_boot_cpu() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | irq |
arch/x86/kernel/tsc.c get_cycles() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | irq |
arch/x86/kernel/tsc.c native_sched_clock() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kernel/tsc.c time_cpufreq_notifier() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kvm/vmx/vmx.c vmx_set_hv_timer() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/kvm/vmx/vmx.c vmx_update_hv_timer() -> rdtsc()
| Type | Parameter | Key | Value |
|---|
arch/x86/lib/kaslr.c kaslr_get_random_long() -> rdtsc()
| Type | Parameter | Key | Value |
|---|---|---|---|
| HALF_LOCKED2 | irq |
drivers/accel/habanalabs/common/habanalabs_ioctl.c time_sync_info() -> rdtsc()
| Type | Parameter | Key | Value |
|---|