首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种用户态协议栈中的内存分配方法和装置_阿里巴巴集团控股有限公司_201911397891.8 

申请/专利权人:阿里巴巴集团控股有限公司

申请日:2019-12-30

公开(公告)日:2024-06-14

公开(公告)号:CN113127183B

主分类号:G06F9/50

分类号:G06F9/50;G06F13/28

优先权:

专利状态码:有效-授权

法律状态:2024.06.14#授权;2021.08.03#实质审查的生效;2021.07.16#公开

摘要:本发明公开了一种用户态协议栈中的内存分配方法和装置,所述分配方法包括:收到报文时,根据所述报文的数据量从内存分配池中确定一个或者多个内存片段存储所述报文,并在所述内存片段中存储所述报文对应的上下文信息;在应用层分配零拷贝内存zbuf,通过应用层在所述zbuf内存上填充数据;将存储所述报文的内存片段的内存地址通过DMA模式传递至协议栈;所述协议栈利用计算机的中央处理单元Pbuf保存所述报文的内存地址和长度信息。实现用户态协议栈中的高性能零拷贝内存分配。

主权项:1.一种用户态协议栈中的内存分配方法,所述分配方法包括:收到报文时,根据所述报文的数据量从内存分配池中确定一个或者多个内存片段存储所述报文,并在所述内存片段中存储所述报文对应的上下文信息;其中,所述上下文信息包括:内存大小、引用计数、内存首地址;所述方法还包括:划分内存分配池,所述内存分配池为在内存空间预留的连续的内存,并将所述内存划分为多种长度的内存片段;为每种长度的内存片段提供空闲链表,所述空闲链表维护对应长度的可分配的内存片段;在应用层分配零拷贝内存zbuf,通过应用层在所述zbuf内存上填充数据,其中,所述在应用层分配零拷贝内存zbuf,包括:从数据量相同的内存片段中选取zbuf;若数据量相同的内存片段已经分配完,从大于所述数据量的内存片段中长度最小的内存片段中选取zbuf;将存储所述报文的内存片段的内存地址通过DMA模式传递至协议栈;所述协议栈利用计算机的中央处理单元Pbuf保存所述报文的内存地址和长度信息;其中,所述方法还包括:在协议栈使用所述报文结束时,发送应答包,应用层依据所述应答包释放对所述zbuf的使用权;同一个zbuf在协议栈队列上尚未发完时,通过维护引用计数多次写入到协议栈。

全文数据:

权利要求:

百度查询: 阿里巴巴集团控股有限公司 一种用户态协议栈中的内存分配方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。