免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 挖土机
打印 上一主题 下一主题

内核hash表问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-12-20 23:08 |只看该作者
是啊,用户态程序较为简单,多线程或者多进程访问共享资源的时候都需要进行同步,常用同步方法有互斥锁、信号灯等,不太明白内核编程什么时候需要同步,什么时候不需要同步,就好像上面hash表操作的例子,我如果写一个简单的netfilter内核模块,根据src ip地址生成一张hash表,那么对这张hash表的操作(添加、删除、修改等)需不需要进行同步呢?按照用户态思想,得看是否多进程或多线程来访问这个hash表,如果是则需要同步,如果就是单进程/线程那么就不需要同步,内核怎么理解这个多进程或者线程的访问呢?

论坛徽章:
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
12 [报告]
发表于 2010-12-21 09:54 |只看该作者
我如果写一个简单的netfilter内核模块,根据src ip地址生成一张hash表,那么对这张hash表的操作(添加、删除、修改等)需不需要进行同步呢?

那就需要看你有哪些操作,如果有添加/删除/查询的话,通常是需要的。
另外,如果是多核的情况下,也要考虑锁的使用。

论坛徽章:
0
13 [报告]
发表于 2010-12-21 10:06 |只看该作者
有2个疑问:
1、如果是单核的情况下hash表的这些操作需不需要同步呢?
2、为什么用户态程序不用考虑多核的同步,而内核程序在多核情况下要考虑同步呢?
呵呵。。。Godbach别见笑,内核开发没怎么接触过,忘指点一二。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP