- 主题:访问proc系统内容有啥高效方法吗
能把需求说细一点吗?
proc/sys/net/ipv4/conf
这个也不怎么改啊,快点慢点差不多。
除非某个地方每秒访问好几千次。
--
FROM 223.72.70.*
我说说想法哈,不一定合适,您根据实际情况考量。
比如有 100 个 vlan,并且不是太经常修改。
-- 比如每分钟不超过 1 次修改,就算不太经常。
这个量,我觉得就用普通的文件打开读的方式就行。
每次 16*100 = 1.6k 个文件打开、读、关闭操作。若干秒一次,对操作系统负担应该不算重。
如果 vlan 比这个量大很多,而且经常变化。
可能得进到这块的内核看看,里面数据结构是怎么构成的。
看看能不能一次把内核数据结构全部导出来,在应用层解析。理论上这样文件 I/O 的操作可以每次收集就一个打开,然后 IOCTL 就行了。但是这个对开发要求很高,而且内核数据结构的调整不会通知你,一旦内核升级的时候数据结构调整了,得跟着升级。
------------------
还有就是经常调整 vlan 这个需求不太常规。
如果您的业务需求是下位机需要临时连上 vlan 干点啥,然后马上拆。
我倒是建议把这个业务挪到应用层处理。
【 在 b0207191 的大作中提到: 】
: 比如访问
: /proc/sys/net/ipv4/neigh/vlan15下的若干节点
: anycast_delay
: ...................
--
FROM 221.216.116.*
不知道为啥 attach
这个 header 是啥玩意?
好像是给一棵树从某个节点一直到根的所有节点所在层都做一下 attach。
【 在 b0207191 的大作中提到: 】
: 请问下, 大家平时看linux源代码发现看不懂的,都有直接问代码作者吗?
: 最近看3.x kernel/sysctl.c这部分代码,感觉比较复杂,有些函数逻辑不太理解
: 比如struct ctl_table_header *__register_sysctl_paths(
: ...................
--
FROM 223.72.88.*