Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 9 files as a function:

Referenced in 45 files:

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