发 帖  
  • 现代 CPU 大多具有性能监控单元(Performance Monitoring Unit, PMU),用于统计系统中发生的特定硬件事件,例如缓存未命中(Cache Miss)或者分支预测错误(Branch Mispre...
    0
    9481次阅读
    0条评论
  • mmap()系统调用是在用户进程与内核之间共享内存区域的常用方法。我们最近有个程序,需要应用进程能够读取内核驱动获取的数据,经过简单的调研,决定采用mmap方式。...
    0
    4298次阅读
    0条评论
  • Linux内核的slab来自一种很简单的思想,即事先准备好一些会频繁分配,释放的数据结构。...
    0
    2660次阅读
    0条评论
  • 而其中的step1()、step2()、step3()、step4()具体如何实现则是因人而异,所以我们从baseClass类里面,继承出来的类里面,实现step1()、step2()、step3()这样的代码,over...
    0
    3352次阅读
    0条评论
  • 给设备加入barrier指令支持后,上位机就不再需要通过显式地刷cache来保证请求顺序了。当设备收到barrier指令时,它会确保排在barrier前的所有指令—可能是写也可能是读—都执行完毕、完成数据传输后,才开始执...
    0
    3421次阅读
    0条评论
  • 随着工艺的提升最近几十年CPU的频率不断提升,而受制于制造工艺和成本限制,目前计算机的内存主要是DRAM并且在访问速度上没有质的突破。...
    0
    2920次阅读
    0条评论
  • 我今天写了一个小小的python程序,可以在完全不看源代码的情况下,分析a如果调用b.so的时候,会引用b.so的哪些函数。...
    0
    3134次阅读
    0条评论
  • 新的内核总是会定期发布出来,但是其实大家并不是十分了解内核是如何被深入测试的。那么这里可以提前告诉大家,内核主干有可能并没有做过充分的测试,而稳定内核可能会更少。。。 So what is going on there?...
    0
    3176次阅读
    0条评论
  • 在停顿周期内,不能执行指令,这意味着你的程序不往前走。值得注意的是,图中 “Stalled” 状态所占的比例是作者依据生产环境中的典型场景计算而来,具有普遍现实意义。...
    0
    5807次阅读
    0条评论
  • 本文用off-cpu火焰图分析一个程序的延迟(主要在拿锁上),找出来瓶颈,并消除该瓶颈的故事。本文非常值得一读,但是"Linux阅码场"没有足够的时间将其翻译为中文,希望童鞋们直接读英文。...
    0
    7027次阅读
    0条评论
  • 本小节讲述为什么使用 CPI 分析程序性能的意义。如果已经非常了解 CPI 对分析程序性能的意义,可以跳过本小节的阅读。...
    0
    9945次阅读
    0条评论
  • 从上面的定义来看,atomic_t实际上就是一个int类型的counter,不过定义这样特殊的类型atomic_t是有其思考的:内核定义了若干atomic_xxx的接口API函数,这些函数只会接收atomic_t类型的参...
    0
    2824次阅读
    0条评论
  • 此外,上图中,我们的一个指令buffer不再是一个stub函数,而真的就是一块分配的内存,所以我们需要给它加上EXEC权限,不然会segment fault。这个在内核模块中是不能直接做的,因为分配带有EXEC权限的mo...
    0
    4416次阅读
    0条评论
  • 替换一个已经在内存中的函数,使得执行流流入我们自己的逻辑,然后再调用原始的函数,这是一个很古老的话题了。...
    0
    2834次阅读
    0条评论
  • 这就是究极形态了,我们添加了第四行的代码,来看&_min1,它的意思是取_min1的地址,而&_min2的意思是取_min2的地址,我们也知道,这两个地址肯定不可能是一样的,那为什么还要这样写呢?这里就很巧妙了,当两个变...
    0
    2351次阅读
    0条评论
ta 的专栏

成就与认可

  • 获得 24 次赞同

    获得 0 次收藏

谁来看过他

关闭

站长推荐 上一条 /6 下一条

返回顶部