这两天看DM9000的网卡驱动,被mBlk(memory Block)结构缓存池,clBlk(cluster Block)结构体缓存池和cluster缓存池这几个之间的关系给弄晕了,上网上也没搜着多有用的资料,希望各位大侠给解释一下,或者提供相关资料也行。
感谢!
------解决方案--------------------------------------------------------
netBufLib提供了mBlks与clBlks结构,其中mBlks指向clBlks,而clBlks指向实际存贮数据的cluster.不同层次之间交互数据可以直接通过传递mBlks链来进行,而不用进行多余的数据拷贝。其中clBlks的作用是,记录有多少个mBlks对其进行了引用,当引用为零时才可以释放。不同的mBlks可以指向相同的clBlks,以共享数据。