免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: bripengandre

基于NETLINK的内核与用户空间共享内存的实现 [复制链接]

论坛徽章:
0
发表于 2009-05-27 22:28 |显示全部楼层
这么大空间,当空间满了,能不能让用户的写什么的返回失败了,当然你可在空间达到一定门限(如占满80%)时,通知你的用户部分处理吧~~
   内核里面不是有那么多缓冲吗(比如mmap之后调用msync就是这个原因)?是不是可以参考这些实现?
   内核的东西不懂,以上建议是随便想的~~Lz将这个问题解决后,发篇文章给我们分享下吧~期待中~
原帖由 weily0000 于 2009-5-27 21:36 发表


我做的和raid1有点像,会把写的数据都存起来做一个备份,如果用户写一个100M的文件,我就要写100M的数据。。这个量不是我所能预测的,实际情况下,如果系统写得太多太快,会丢失大量的数据,而且我在内核里 ...

论坛徽章:
0
发表于 2009-05-28 22:17 |显示全部楼层
原帖由 bripengandre 于 2009-5-27 22:28 发表
这么大空间,当空间满了,能不能让用户的写什么的返回失败了,当然你可在空间达到一定门限(如占满80%)时,通知你的用户部分处理吧~~
   内核里面不是有那么多缓冲吗(比如mmap之后调用msync就是这个原因)? ...

谢谢你的建议,假期没怎么看这个,才回复:)
恩,你说的“当然你可在空间达到一定门限(如占满80%)时,通知你的用户部分处理”,我是用了这个的,但是用户进程有的时候还是来不及处理
“当空间满了,能不能让用户的写什么的返回失败了”这是一个考虑的方法。
对于你说的“mmap之后调用msync就是这个原因”这个我就不大了解了,呵呵,有空去看看

论坛徽章:
0
发表于 2009-05-29 10:15 |显示全部楼层
要实现内核/用户态共享内存直接实现一个杂类字符设备,实现mmap方法不就可以了?引入NETLINK交互来交互去多此一举。

论坛徽章:
0
发表于 2009-05-29 17:17 |显示全部楼层
感觉楼主意在体现 netlink 来通知用户空间共享内存的起始地址而已,之后的事情与传统做法无异
主要区别,就是通过 netlink 通知,而非 proc、非 ioctl、非字符设备

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2009-05-29 20:39 |显示全部楼层
原帖由 platinum 于 2009-5-29 17:17 发表
感觉楼主意在体现 netlink 来通知用户空间共享内存的起始地址而已,之后的事情与传统做法无异
主要区别,就是通过 netlink 通知,而非 proc、非 ioctl、非字符设备


我之前曾经总结过一篇用proc文件物理地址和size传输来的帖子。

论坛徽章:
0
发表于 2009-05-30 13:01 |显示全部楼层
原帖由 Godbach 于 2009-5-29 20:39 发表


我之前曾经总结过一篇用proc文件物理地址和size传输来的帖子。


版大这个文章拜读过,也试验了,很好用的

论坛徽章:
0
发表于 2009-06-02 07:39 |显示全部楼层
有人测试过netlink传输message时的性能开销吗?
我初步测试了一下,发现从几微秒到几百微秒不等,取决于payload的大小和系统负载,不知道大家有测试的结果吗?

论坛徽章:
0
发表于 2009-06-02 07:55 |显示全部楼层
先mark一下

论坛徽章:
0
发表于 2009-06-02 10:12 |显示全部楼层
原帖由 ShadowStar 于 2009-5-27 10:01 发表


即使“真正地操作同一块物理内存”,也不能保证可以被另一个进程立刻看到。
别忘了CPU缓存。

除非变量设定为volatile。

乱说

论坛徽章:
0
发表于 2009-06-10 09:38 |显示全部楼层
不错,正是我需要的,多谢了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP