当前位置: 技术问答>linux和unix
RTL8139网卡驱动程序软中断
来源: 互联网 发布时间:2016-11-30
本文导语: 请问在rtl8139too.c中,__netif_rx_schedule函数中: void __netif_rx_schedule(struct net_device *dev) { unsigned long flags; local_irq_save(flags); dev_hold(dev); list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list); if (dev->quota quota += dev-...
请问在rtl8139too.c中,__netif_rx_schedule函数中:
void __netif_rx_schedule(struct net_device *dev)
{
unsigned long flags;
local_irq_save(flags);
dev_hold(dev);
list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list);
if (dev->quota quota += dev->weight;
else
dev->quota = dev->weight;
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
local_irq_restore(flags);
}
的&dev->poll_list是什么时候赋值的?实际挂载的是net_device结构还是其他的呢?
小弟刚入手,还请各位大侠赐教!
void __netif_rx_schedule(struct net_device *dev)
{
unsigned long flags;
local_irq_save(flags);
dev_hold(dev);
list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list);
if (dev->quota quota += dev->weight;
else
dev->quota = dev->weight;
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
local_irq_restore(flags);
}
的&dev->poll_list是什么时候赋值的?实际挂载的是net_device结构还是其他的呢?
小弟刚入手,还请各位大侠赐教!
|
list_add_tail(&dev->poll_list, &__get_cpu_var(softnet_data).poll_list);
这不就是在赋值吗?
这不就是在赋值吗?