+ -
当前位置:首页 → 问答吧 → 讨论一下 nf_conntrack 表的锁

讨论一下 nf_conntrack 表的锁

时间:2010-11-17

来源:互联网

代码中整个 conntrack 表就是用一个全局的锁 nf_conntrack_lock, 内核版本是2.6.24。
如果在多核下,按理说会影响并发访问的性能啊

作者: Godbach   发布时间: 2010-11-17

这个锁用的地方很少,影响应该不大

作者: funix_zjx   发布时间: 2010-11-17



QUOTE:
这个锁用的地方很少,影响应该不大
funix_zjx 发表于 2010-11-17 11:08



整个 conntrack 模块在操作 conntrack 时都需要适用这个所,怎么理解你说的用的地方很少呢

作者: Godbach   发布时间: 2010-11-17

并不是每次操作conntrack的都需要这个锁,你搜索一下代码就知道了。

作者: funix_zjx   发布时间: 2010-11-17

多谢。

我看了一下代码,基本上 conntrack 的查找、添加和删除都是需要加锁的。

如果有两个并发的删除动作,按照已有的实现方式,肯定是需要先后顺序进行的,对吧。

作者: Godbach   发布时间: 2010-11-17

回复 Godbach
应该是。
每当cat /proc/net/ip_conntrack的时候,如果连接过多,那么系统的网络应用会明显变慢。

作者: 瀚海书香   发布时间: 2010-11-17