
linux
文章平均质量分 89
杰特JET
这个作者很懒,什么都没留下…
展开
-
DPDK精准测量时间
DPDK精准测量时间DPDK实现方式实际操作参考链接DPDK实现方式简单来说就是通过rdtsc指令来获取CPU启动起来的tick值,进行减法,然后结合频率来得到时间差。对应到spdk里面的话就是spdk_get_ticks和spdk_get_ticks_hz. spdk_get_ticks最终会调用到rte_rdtsc,其实现如下://dpdk/lib/librte_eal/common/include/arch/x86/rte_cycles.hstatic inline uint64_trt原创 2021-04-17 12:35:34 · 2873 阅读 · 0 评论 -
linux多线程同步概览
linux多线程同步概览临界区互斥锁 mutex基本函数pthread_mutex_destroy 何时调用?互斥锁类型?互斥量和自旋锁的区别条件变量 condition variable基本函数流程读写锁 reader-writer lock单读多写的场景自旋锁 spin lock初始化自旋锁获得一个自旋锁尝试获取一个自旋锁释放(解锁)一个自旋锁销毁一个自旋锁信号量 semphoreunique_lock成员函数thread local__thread临界区当两个线程竞争同一资源时,如果对资源的访原创 2021-04-17 12:31:32 · 312 阅读 · 0 评论 -
linux性能优化--cpu篇
linux性能优化--cpu篇前言负载CPU使用率procperf一些链接`perf list`比较有用的event`perf stat``perf record`ProfilingStatic Tracing`perf report`perf probeMISCperf调用查看docker内部的程序`perf top`perf 优化perf生成火焰图Brendan Gregg博客上提及的生成火焰图的方法使用systemtap生成火焰图perf scriptperf使用笔记OFF-CPU分析测量off-cp原创 2021-04-17 12:29:03 · 1707 阅读 · 0 评论 -
linux信号以及core
linux信号以及core何为信号信号(signal)用于通知进程发生了某种情况。进程有以下3种处理信号的方式:忽略信号。有些信号表示硬件异常,例如,除以0或访问进程地址空间以外的存储单元等,因为这些异常产生的后果不确定,所以不推荐使用这种处理>方式。按系统默认方式处理。对除数为0,系统默认方式是终止进程。提供一个函数,信号发生时调用该函数,这被称为捕抓该信号。通过提供自编的函数,我们就能知道什么时候产生了信号,并按期望的方式处理它。以上摘自《APUE》中文版14页信号类型[r原创 2020-12-11 14:02:17 · 789 阅读 · 0 评论 -
linux的链接库
linux的链接库概述静态链接库共享函数库动态加载函数库如何指定链接的是动态库还是静态库?链接库的顺序静态库链接问题gcc链接参数库链接参数`--whole-archive``--no-whole-archive``--wrap``–start-group` `--end-group`ldcc动态链接库参考链接概述程序函数库可分为3种类型:静态函数库(static libraries)、共享函数库(shared libraries)、动态加载函数库(dynamically loaded librari原创 2021-03-24 16:37:23 · 871 阅读 · 1 评论