Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1240998
  • 博文数量: 122
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4004
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-20 08:27
文章分类
文章存档

2016年(1)

2015年(21)

2014年(100)

分类: LINUX

2014-03-04 12:52:49

在进程退出时,skb释放的大致流程为
用户态exit()->
  内核do_exit()->
    exit_files->
      put_files_struct->
        close_files->
          filp_close->
            __fput->
              file->f_op->release(inode, file)->
                sock_close->
                  sock_release->
                    inet_release->
                      sk->sk_prot->close(sk, timeout)->
                        tcp_close->
                          __kfree_skb->
                            kfree_skbmem
                              skb_release_data //释放data的page
                              kmem_cache_free  //从slab中释放skb数据结构
                          release_sock
                          sock_put
  另一途径:发送完成的(软)中断中释放。。。。       
阅读(2889) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~