Advertisement

dpdk: rte_rdtsc() Notes

阅读量:

dpdk 不完全笔记: rte_rdtsc()

rte_rdtsc() 返回的是自开机始CPU的周期数。

  • rte_rdtsc() 主要负责获取tsc寄存器的值。
    • 每当一个时钟周期结束时, tsc寄存器会自动递增。
    • 在CPU MHz设置为1600的情况下, tsc寄存器中的每一个计数值代表的时间长度为\frac{1}{(16 \times 1e^2) \times 1e3 \times 1e3}秒。

rte_get_tsc_cycles() 与 rte_rdtsc() 功能相同。

  • rte_get_tsc_cycles() 内部就是调用 rte_rdtsc()。

rte_rdtsc_precise() 返回精确的CPU的周期数。

  • rte_rdtsc_precise() 在 rte_rdtsc() 之前添加了内存屏障。
复制代码
    static inline uint64_t
    rte_rdtsc_precise(void)
    {
    	rte_mb();
    	return rte_rdtsc();
    }

rte_get_tsc_hz() 返回一秒的tsc数目

  • CPU的时钟频率是可以变化的,在运行中是可以变动的。例如通过调整时钟频率。
    • rte_get_t

全部评论 (0)

还没有任何评论哟~