原创 網絡數據包收發流程(四):協議棧之packet_type
進入函數netif_receive_skb()後,skb正式開始協議棧之旅。 先上圖,協議棧大致過程如下所示: 跟OSI七層模型不同,linux根據包結構對網絡進行分層。 比如,arp頭和ip頭都是緊跟在以太網頭後面的,所以在linux協
原创 MySQL主從配置的一些總結
一、做了MySQL主從也有一段時間了,這兩天檢查磁盤空間情況,發現放數據庫的分區磁盤激增了40多G,一路查看下來,發現配置好主從複製以來到現在的binlog就有40多G,原來根源出在這裏,查看了一下my.cnf,看到binlog的 size
原创 網絡數據包收發流程(三):e1000網卡和DMA
一、硬件佈局 每個網卡(MAC)都有自己的專用DMA Engine,如上圖的 TSEC 和 e1000 網卡intel82546。 上圖中的紅色線就是以太網數據流,DMA與DDR打交道需要其他模塊的協助,如TSEC,PCI control
原创 網絡數據包收發流程(一):從驅動到協議棧
一、硬件環境 intel82546:PHY與MAC集成在一起的PCI網卡芯片,很強大 bcm5461: PHY芯片,與之對應的MAC是TSEC TSEC: Three Speed Ethernet Controller
原创 網絡數據包收發流程(二):不配置NAPI的情況
上一篇講的是內核配置成NAPI的情況,那也是絕大多數內核使用的配置 現在講講內核不配置成NAPI時的情況 一、no NAPI 數據結構 不配置NAPI的時候,網絡設備不使用自己的napi_struct結構, 所有網絡設備驅動都使用同一個
原创 netif_receive_skb 函數解析
int netif_receive_skb(struct sk_buff *skb) { //略去一些代碼 rcu_read_lock(); //第一步:先處理 ptype_all 上所有的 packet_type->
原创 我的友情鏈接
51CTO博客開發李雲李晨光原創技術博客Jack zhai雪源梅香技術成就夢想
原创 MySQL主從配置的一些總結
一、做了MySQL主從也有一段時間了,這兩天檢查磁盤空間情況,發現放數據庫的分區磁盤激增了40多G,一路查看下來,發現配置好主從複製以來到現在的binlog就有40多G,原來根源出在這裏,查看了一下my.cnf,看到binlog的 size
原创 網絡數據包收發流程(四):協議棧之packet_type
進入函數netif_receive_skb()後,skb正式開始協議棧之旅。 先上圖,協議棧大致過程如下所示: 跟OSI七層模型不同,linux根據包結構對網絡進行分層。 比如,arp頭和ip頭都是緊跟在以太網頭後面的,所以在linux協
原创 網絡數據包收發流程(一):從驅動到協議棧
一、硬件環境 intel82546:PHY與MAC集成在一起的PCI網卡芯片,很強大 bcm5461: PHY芯片,與之對應的MAC是TSEC TSEC: Three Speed Ethernet Controller
原创 我的友情鏈接
51CTO博客開發李雲李晨光原創技術博客Jack zhai雪源梅香技術成就夢想
原创 內存屏障(Memory Barriers)
參考wikipedia的定義: Memory barrier, also known as membar or memory fence or fence instruction, is a type of barrier a
原创 關於socket的一些函數
net/socket.c int sock_register(const struct net_proto_family *ops); net/ipv4/af_inet.c /* Upon startup we insert all th
原创 網絡數據包收發流程(三):e1000網卡和DMA
一、硬件佈局 每個網卡(MAC)都有自己的專用DMA Engine,如上圖的 TSEC 和 e1000 網卡intel82546。 上圖中的紅色線就是以太網數據流,DMA與DDR打交道需要其他模塊的協助,如TSEC,PCI control
原创 網絡數據包收發流程(二):不配置NAPI的情況
上一篇講的是內核配置成NAPI的情況,那也是絕大多數內核使用的配置 現在講講內核不配置成NAPI時的情況 一、no NAPI 數據結構 不配置NAPI的時候,網絡設備不使用自己的napi_struct結構, 所有網絡設備驅動都使用同一個