摘要:
内存管理 内核分别使用kmalloc和kfree函数分配和释放一个内存块。这两个函数的用法,类似于另外两个来自于libc用户空间库的姊妹函数malloc和free的调用。内核组建为同一种数据结构类型分配几个实例(instance)是很常见的事。当分配和回收经常发生时,相关联内核组件初始化函数(例如,路由表的fib_hash_init)通常会分配一块特殊的内存缓存,以作分配之用。当一个内存块被释放时,实际上是返回到当初被分配的同一个缓冲区中。内核维护的其专属内存缓存的一些网络数据结构的例子包括:套接字缓冲区描述符 这个缓存是由net/core/sk_buff.c的skb_init分配的,用于.. 阅读全文