首页 > TAG信息列表 > igb

图解Linux网络包接收过程

文章转载自公众号:开发内功修炼 因为要对百万、千万、甚至是过亿的用户提供各种网络服务,所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发,要理解性能开销,会进行性能优化。而很多时候,如果你对Linux底层的理解不深的话,遇到很多线上性能瓶颈你

Linux网络收包总览

因为要对百万、千万、甚至是过亿的用户提供各种网络服务,所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发,要理解性能开销,会进行性能优化。而很多时候,如果你对Linux底层的理解不深的话,遇到很多线上性能瓶颈你会觉得狗拿刺猬,无从下手。 我们

Kernel panic - not syncing: softlockup: hung tasks

目前遇到一个崩溃问题记录一下! 使用crash 分析结果如下: crash> sys KERNEL: vmlinux DUMPFILE: kernel_dump_file_debug [PARTIAL DUMP] CPUS: 32 DATE: Thu Jul 8 16:06:13 2021 UPTIME: 12 days, 01:19:36 LOAD AVERAGE: 4.57, 5.64, 5.97

Linux系统下DPDK源码编译,testpmd的使用以及编译过程中遇到的问题

1.首先,下载以及编译 官网下载DPDK源码, DPDK官网 : dpdk.org 以dpdk-20.08为例,下载完成后, cd 到源码所在路径 1. 指定DPDK安装路径, 设置所需的环境变量并转到源目录 export RTE_SDK=/dpdk-20.08 2. ls ./config 3. make config T=x86_64-native-linux-gcc 4. 设置编译目

Linux数据报文接收发送总结7

2.4 网卡驱动初始化每一个驱动程序(不仅仅只是网卡驱动)会使用 module_init 向内核注册一个初始化函数,当驱动被加载时,内核会调用这个函数。比如igb网卡驱动的代码位于drivers/net/ethernet/intel/igb/igb_main.c//file: drivers/net/ethernet/intel/igb/igb_main.c static struct 

Linux内核网络设备驱动

1. 接收数据包过程概述介绍数据包收包过程,有助于我们了解Linux内核网络设备在数据收包过程中的位置,下面从宏观的角度介绍数据包从被网卡接收到进入 socket 接收队列的整个过程:加载网卡驱动,初始化数据包从外部网络进入网卡网卡(通过DMA)将包拷贝到内核内存中的ring buffer产生硬件中断

igb_uio.ko 的 md5sum 为啥又变化了?

问题描述 最近在合代码到 kni 模块后,重新编译发布 dpdk,发现 igb_uio.ko md5sum 也变化了。 这个问题也遇到过好多次,但是一直没有深究过。今天再次遇到了这个问题,这次就不能放过它了! 没有变化的内容 针对 igb_uio.ko md5sum 变化的问题,可以确定如下条件保持不变: igb_uio.c 源

不为人知的网络编程(十):深入操作系统,从内核理解网络包的接收过程(Linux篇)

本文作者张彦飞,原题“图解Linux网络包接收过程”,内容有少许改动。 1、引言 因为要对百万、千万、甚至是过亿的用户提供各种网络服务,所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发,要理解性能开销,会进行性能优化。而很多时候,如果你对网络底

图解Linux网络包接收过程

前面和大家分享了我在CPU、内存、磁盘上的一点浅薄的思考。今天开始我们讨论Linux里最重要的一个模块-网络模块。还是按照惯例来,让我们从一段最简单的代码开始思考。为了简单起见,我们用upd来举例,如下: int main(){ int serverSocketFd = socket(AF_INET, SOCK_DGRAM, 0);