dpdk 不完全笔记: rte_rdtsc()
rte_rdtsc() 返回的是自开机始CPU的周期数。
- rte_rdtsc() 只是获得tsc寄存器的值。
- 每经过一个时钟周期,tsc寄存器就自动加1。
- 如果 CPU MHz为1600,那么tsc的1就是1/1600/1000/1000的时间。
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();