Home
Cheng Luo
Cancel

libumem Introduce

一款你值得拥有的内存问题定位神器 一 背景介绍 ​ 使用C语言开发时,对于内存资源的申请和释放时非常常见的场景,但这也给广大程序带来了很多困扰,一旦出现如越界访问,重复释放,use after free,内存泄露等问题时,定位起来非常麻烦。 ​ 因为这个原因,现有的大部分内存管理框架或多或少的都会提供一些内存调测能力,协助定位问题。但是目前用起来不是太难使用,就是约束限制...

Kernel Samepage Merging (KSM)

一、KSM机制 https://zhuanlan.zhihu.com/p/102469328 详细的代码流程图 https://www.kernelnote.com/entry/linux-ksm-merge 详细的代码分析 ​ 内核采用虚拟内存管理技术为每个进程分配独立的虚拟内存地址空间。而物理内存的分配是由进程去访问虚拟地址时产生缺页异常 (Page Fault) 来 触发。一个进...

Peripherals Bus Delivery

一、HCCS Cache一致性总线HCCS,可以实现CPU和CPU之间的高速互联,通信速率高达每秒30GT,是业界主流CPU互联速率的2倍多。 通过多CPU互联,我们率先实现256个物理核的NUMA架构,从而推出业界首款兼容ARM架构的最强算力4路服务器。 异构计算的兴起,使得CPU与NPU之间的互联协议也很关键。华为创新性的将HCCS同样应用于CPU与NPU的高速互联 ,构建了xPU间...

user space slab memory allocator - libumem

对应github: https://github.com/luochenglcs/libumem reference: https://arrowpig1979.wordpress.com/2008/08/16/%e4%bd%bf%e7%94%a8libumem%e5%ae%9a%e4%bd%8dmemory-leak%e5%92%8cmemory-corruption%ef%bc%884...

Linux System Error Interrupt

一、SEI 1 what is SEI? SEI中断是什么?SEI exception #define *SEI*() __set_PRIMASK(0) //打开总中断 el1_sei 2 do_serror https://patchwork.kernel.org/project/linux-arm-kernel/patch/20171019145807.23251-11-j...

C++ try-catch

一try-catch 信息汇总: 1、windows上可以扩展捕获SEGV异常的实现; linux标准C++上没有 windows: https://www.codeproject.com/Articles/207464/Exception-Handling-in-Visual-Cplusplus 2、linux上实现捕捉信号的方式 (1)main-> setjump -> ...

Remote Direct Memory Access (RDMA)

RDMA References: https://zhuanlan.zhihu.com/p/55142557 RDMA技术详解(一):RDMA概述 https://community.mellanox.com/s/article/what-is-rdma-x What is RDMA? [https://zh.wikipedia.org/wiki/%E5%9F%BA%E4%BA%8E...

Kernel Address Space Layout Randomization (KASLR)

一、KASLR 内核地址随机化 二、kaslr-seed 地址随机化种子kaslr-seed kaslr-seed ----------- This property is used when booting with CONFIG_RANDOMIZE_BASE as the entropy used to randomize the kernel image base address...

Vim cscope使用

在ubuntu下的安装与配置如下—— 一、ctags 插件 a) 功能:对浏览代码非常的方便, 可以在函数, 变量之间跳来跳去等等等等 (更多说明请百度或谷歌一下) b) 安装配置: 终端下输入 sudo apt-get install ctags 如果没发现该软件包就用 sudo apt-get install exuberant-ctags 就行了…… 如果还不...

Modular Debugger (MDB)

适用于linux系统的mdb: https://github.com/luochenglcs/mdb If the code is useful to you - great !. Spread it around and get people to use, debug and enhance it. 一、libumem_ready赋值 umem_update_variables ...