加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux-kernel – 无需系统调用即可修改Linux进程页表以进行物理

发布时间:2020-12-14 00:05:11 所属栏目:Linux 来源:网络整理
导读:我正在为 Linux 3.5.7开发实时应用程序.该应用程序需要管理PCI-E设备. 为了访问PCI-E卡空间,我一直在使用mmap与/ dev / mem结合使用.但是(如果我错了,请纠正我)每次读取或写入映射内存时,/ dev / mem伪驱动程序都需要进行系统调用来处理内存访问. 为了避免这
我正在为 Linux 3.5.7开发实时应用程序.该应用程序需要管理PCI-E设备.

为了访问PCI-E卡空间,我一直在使用mmap与/ dev / mem结合使用.但是(如果我错了,请纠正我)每次读取或写入映射内存时,/ dev / mem伪驱动程序都需要进行系统调用来处理内存访问.

为了避免这个系统调用的开销,我认为应该可以编写一个内核模块,以便在例如一个ioctl调用我可以修改进程页面表,以便将物理设备页面映射到用户空间页面并避免系统调用.

你能给我一些指导吗?

感谢致敬

解决方法

However (please correct me if I am wrong) each time I read or write the mapped memory,a system call is required

你错了.

it should be possible to write a kernel module so that,within e.g. a ioctl call I can modify the process page table

这正是mmap()的作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读