Defined in 2 files as a function:

Referenced in 5 files:

Smatch caller information:

arch/x86/kernel/kvmclock.c kvm_clock_get_cycles_snapshot() -> pvclock_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 src 6983400599996956672
PARAM_VALUE 1 version 0,2-u32max
BUF_SIZE 0 src 32
CAPPED_DATA 1 version 1
DATA_SOURCE 0 src r this_cpu_pvti
DATA_SOURCE 1 version r pvclock_read_begin
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &adapter->tmreg_lock
HALF_LOCKED2 &bp->lock
HALF_LOCKED2 &bp->tsu_clk_lock
HALF_LOCKED2 &cpts->lock
HALF_LOCKED2 &cpts->ptp_clk_mutex
HALF_LOCKED2 &dt->tod_lock
HALF_LOCKED2 &fbd->time_lock
HALF_LOCKED2 &hellcreek->ptp_lock
HALF_LOCKED2 &igb->tmreg_lock
HALF_LOCKED2 &pdata->tstamp_lock
HALF_LOCKED2 &pf->adapter->ptp_gltsyn_time_lock
HALF_LOCKED2 &phc_info->lock
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 &priv->mutex
HALF_LOCKED2 &ptp->ptp_lock.lock
HALF_LOCKED2 &tai->lock
HALF_LOCKED2 &tp->lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags

drivers/ptp/ptp_vmclock.c vmclock_get_crosststamp_kvmclock() -> pvclock_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 src 6983400599996956672
PARAM_VALUE 1 version 0,2-u32max
BUF_SIZE 0 src 32
CAPPED_DATA 1 version 1
DATA_SOURCE 0 src r this_cpu_pvti
DATA_SOURCE 1 version r pvclock_read_begin
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &adapter->ptm_lock

arch/x86/entry/vdso/vdso32/vclock_gettime.c vread_pvclock() -> pvclock_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 src 392036352
PARAM_VALUE 1 version 0,2-u32max
BUF_SIZE 0 src 32
CAPPED_DATA 1 version 1
CAPPED_DATA 1 version 1
DATA_SOURCE 1 version r pvclock_read_begin
BIT_INFO 0 src->flags 0x1,0xffffffffffffffff

arch/x86/entry/vdso/vdso64/vclock_gettime.c vread_pvclock() -> pvclock_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 src 7858634612595884032
PARAM_VALUE 1 version 0,2-u32max
BUF_SIZE 0 src 32
CAPPED_DATA 1 version 1
DATA_SOURCE 1 version r pvclock_read_begin
BIT_INFO 0 src->flags 0x1,0xffffffffffffffff

arch/x86/kernel/pvclock.c __pvclock_clocksource_read() -> pvclock_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 src 4096-ptr_max
PARAM_VALUE 1 version 0,2-u32max
BUF_SIZE 0 src (-1),32
BUF_SIZE 0 src (-1),32
CAPPED_DATA 1 version 1
DATA_SOURCE 0 src $0
DATA_SOURCE 1 version r pvclock_read_begin
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/pvclock.c pvclock_read_flags() -> pvclock_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 src 6983400599996956672
PARAM_VALUE 1 version 0,2-u32max
CAPPED_DATA 1 version 1
DATA_SOURCE 0 src $0
DATA_SOURCE 1 version r pvclock_read_begin
HALF_LOCKED2 irq

drivers/ptp/ptp_kvm_x86.c kvm_arch_ptp_get_crosststamp() -> pvclock_read_retry()

Type Parameter Key Value
PARAM_VALUE 0 src 6983400599996956672
PARAM_VALUE 1 version 0,2-u32max
BUF_SIZE 0 src 32
CAPPED_DATA 1 version 1
DATA_SOURCE 0 src r this_cpu_pvti
DATA_SOURCE 1 version r pvclock_read_begin
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &kvm_ptp_lock
HALF_LOCKED2 &adapter->ptm_lock