QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2767|回复: 4

请教:sk_protinfo怎么使用?

[复制链接]
发表于 2006-9-6 09:50:04 | 显示全部楼层 |阅读模式
只是知道在socket结构下面有个void *sk_protinfo;不知道怎么用,注释里面只是说“私有区域,不使用slab时的特定net簇”google搜索出来大多都是Don't use sk_protinfo + private sock slab cache和get rid of sk_protinfo的帖子,就算不让用了也好明白怎么个意思啊,否则没发明白程序的,还有就是能否介绍一下slab簇,先谢谢!
 楼主| 发表于 2006-9-6 17:57:20 | 显示全部楼层
等了一天也没人回复啊!
回复

使用道具 举报

发表于 2006-9-7 23:27:45 | 显示全部楼层
人气不旺我有错啊,对不起大家。
讲一下我对SLAB的理解吧,这是原来看书的时候写在笔记上的。也不知道对不对,有错大家一起讨论吧。

先讲一下空闲链表吧,空闲链表是用来存放一些常用的数据结构的,要用的时候拿出去,不用的时候收回来,这样就可以提高速度减少内存的分配次数。这个空闲链表像是高缓存。
用SLAB也就是说不要自己去实现空闲链表,而是让SLAB分配符去实现。
回复

使用道具 举报

 楼主| 发表于 2006-9-8 21:08:57 | 显示全部楼层
[quote:f35770f2f9="manioster"]人气不旺我有错啊,对不起大家。
讲一下我对SLAB的理解吧,这是原来看书的时候写在笔记上的。也不知道对不对,有错大家一起讨论吧。

先讲一下空闲链表吧,空闲链表是用来存放一些常用的数据结构的,要用的时候拿出去,不用的时候收回来,这样就可以提高速度减少内存的分配次数。这个空闲链表像是高缓存。
用SLAB也就是说不要自己去实现空闲链表,而是让SLAB分配符去实现。[/quote]
不大懂,还是谢谢版主了~
回复

使用道具 举报

 楼主| 发表于 2006-9-8 21:44:49 | 显示全部楼层
从编程上理解了一些,void *sk_protinfo是一个void类型的指针:
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
也就是说void *sk_protinfo是一个预留借口,可以接任何类型的指针(包括函数指针),也就是注释上说的“私有区域,当不用slab时的特定net簇”,估计sock结构在设计的时候打算把sk_protinfo接口用作和协议簇有关的定义,所以是“特定net簇”,至于slab什么机理,还是不明白,不过好多书上都有的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-25 05:05 , Processed in 0.047757 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表