linux
文章平均质量分 69
凉亭_pavilion
目前对体系结构、操作系统、网络等感兴趣,欢迎联系
展开
-
论文阅读-Black-box Concurrent Data Structures for NUMA Architectures
全局数据时常需要在不同线程或者说numa节点中进行共享。比如操作系统中的内存管理的数据,多核应用的全局数据等。这些数据都需要较好的并行性支持(Concurrent data structure)。提出了一种能够适应NUMA结构的黑箱算法,能够比较方便地实现数据结构的并行,并获得很好的性能。原创 2021-11-05 16:15:12 · 247 阅读 · 1 评论 -
修改ib网卡端口
多种当时设置网卡端口类型转换,mst,connect_port_config...原创 2021-10-27 15:53:28 · 2874 阅读 · 0 评论 -
匿名内存生命周期
前文再接,现在来说说,linux操作系统的内存管理部分. 当然, 这里主要是描述匿名内存部分, 他是怎么和内核交互,获取和返还内存的原创 2021-10-20 17:25:00 · 250 阅读 · 0 评论 -
说一次访存
内存从一次访存动作说起一次访存cpu访问一个内存地址开始,导致都经历了什么样的过程?我将尝试阐述我的理解,欢迎讨论/aboutme;流程为:cpu发出访存指令查找tlb找不到发出tlb refill例外,无效,则发出tlb invalid例外,写但只读则tlb modified例外,让操作系统处理查找cache没有则读内存,内存也没有,则发出缺页中断例外略,在操作系统方面来处理缺页中断这个部分的逻辑处理主要在do_page_fault进入。原创 2021-08-13 23:33:06 · 858 阅读 · 0 评论 -
内核模块与用户空间通信-linux kernel4.4
如前文所述,是在4.11验证过的版本。那么之前的版本呢?这个时候会发现很多接口都发生了变化差别经过对比,主要在于mmap的接口需要改动。// 在4.4.125struct page* mmap_nopage(struct vm_area_struct* vma, struct vm_fault* vmf);// 在4.4.0int vm_fault(struct vm_fault *vmf);经过对比,主要原因在于两个版本间vm_fault的变化,在后续的内核改动中,vm_...原创 2021-04-16 14:48:43 · 93 阅读 · 0 评论 -
内核模块与用户空间通信
忽然发现网上很多实例都跑不了,实际上应该是因为他们都是类似参考文献那种,应该是3.x的系统接口。我这里测试是在4.11上。方法/proc这个算是比较简单大致上是在内核模块先申请一段内存,然后重写一些读写操作(在这里可以加入自己的逻辑,收到信息要怎么做之类的)进去,套用接口挂接上去就可以了。这个时候会建立出一个文件如/proc/testfile之类的用户空间只需要像读写正常文件一样操作这个文件就可以完成交互mmap共享内存应该是最快的通信方法。先建立一个设备文...原创 2021-03-29 11:30:22 · 321 阅读 · 4 评论