Chinaunix首页 | 论坛 | 博客
  • 博客访问: 434498
  • 博文数量: 99
  • 博客积分: 65
  • 博客等级: 民兵
  • 技术积分: 1012
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-20 16:30
个人简介

linux kernel 工程师

文章分类

全部博文(99)

文章存档

2018年(5)

2017年(12)

2016年(27)

2015年(10)

2014年(43)

2012年(2)

我的朋友

发布时间:2014-02-11 11:57:03

1. 网络接收注册软中断static int __init net_dev_init(void){....open_softirq(NET_RX_SOFTIRQ, net_rx_action);}2. net_rx_action流程static void net_rx_action(struct softirq_action *h){ struct softnet_data *sd = &__get_cpu_var(softnet_data); unsigned long time_limit = jiffi.........【阅读全文】

阅读(997) | 评论(0) | 转发(0)

发布时间:2014-02-10 16:42:34

e1000网卡NAPI的基本流程......【阅读全文】

阅读(1360) | 评论(0) | 转发(0)

发布时间:2014-02-10 15:51:12

网络接收软中断的注册static int __init net_dev_init(void){....open_softirq(NET_RX_SOFTIRQ, net_rx_action);}网络接收软中断的处理思路static void net_rx_action(struct softirq_action *h){ struct softnet_data *sd = &__get_cpu_var(softnet_data); unsigned long time_limit = ji.........【阅读全文】

阅读(912) | 评论(0) | 转发(0)

发布时间:2014-02-10 11:33:54

当需要对本设备进行poll的时候,调用__napi_schedule 将设备的napi 的poll_list 挂在每cpu变量 softnet_data的poll_list下面。在net_rx_action函数中, 会轮讯softnet_data的poll_list,即调用设备的napi->poll 函数。/* Called with irq disabled */static inline void ____napi_schedule(struct softnet_data *sd.........【阅读全文】

阅读(3710) | 评论(0) | 转发(0)

发布时间:2014-02-10 10:40:22

NAPI(New API) 将中断与轮讯结合在一起,避免频繁的中断造成的系统开销。基本思路是:中断到来--->关闭中断--->调度softirq--->在softirq里面多设备进行轮询,直到没有包为止--->开启中断/* * Structure for NAPI scheduling similar to tasklet but with weighting */struct napi_struct { /* T.........【阅读全文】

阅读(5928) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册