On Tue, 2013-07-09 at 19:02 +0200, Pavel Machek wrote: > Hi! > > > Nothing appears to be wrong. If the system is seeing ping packets > >at all means that device is generating interrupts and that they are > >being processed. If you are looking at performance then sharing > > No, that's not true. There is other interrupt load, and e1000e has big > enough buffers; that means that packets eventually get processed. I > strongly suspect e1000e generates little or no interrupts and packets > only get processed when other devices on shared interrupt line > generate interrupt.
If the interrupt is shared, e1000e checks if it's the hardware that generated it before processing packets. Consuming an interrupt that isn't meant for this device will throw major warnings in the kernel about bad interrupt routing, etc. Here's the code from the interrupt handler (note the last part of the pasted code): /** * e1000_intr - Interrupt Handler * @irq: interrupt number * @data: pointer to a network interface device structure **/ static irqreturn_t e1000_intr(int __always_unused irq, void *data) { struct net_device *netdev = data; struct e1000_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; u32 rctl, icr = er32(ICR); if (!icr || test_bit(__E1000_DOWN, &adapter->state)) return IRQ_NONE; /* Not our interrupt */ /* IMS will not auto-mask if INT_ASSERTED is not set, and if it is * not set, then the adapter didn't send an interrupt */ if (!(icr & E1000_ICR_INT_ASSERTED)) return IRQ_NONE; Cheers, -PJ ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired