On Tue, 25 Apr 2006 23:23:29 +0200 Francois Romieu <[EMAIL PROTECTED]> wrote:
> Stephen Hemminger <[EMAIL PROTECTED]> : > [...] > > --- sky2-2.6.17.orig/drivers/net/sky2.c 2006-04-25 10:48:47.000000000 > > -0700 > > +++ sky2-2.6.17/drivers/net/sky2.c 2006-04-25 10:53:32.000000000 -0700 > > @@ -2086,6 +2086,20 @@ > > } > > } > > > > +/* If idle then force a fake soft NAPI poll once a second > > + * to work around cases where sharing an edge triggered interrupt. > > + */ > > +static void sky2_idle(unsigned long arg) > > +{ > > + struct net_device *dev = (struct net_device *) arg; > > + > > + local_irq_disable(); > > + if (__netif_rx_schedule_prep(dev)) > > + __netif_rx_schedule(dev); > > + local_irq_enable(); > > +} > > + > > + > > static int sky2_poll(struct net_device *dev0, int *budget) > > { > > struct sky2_hw *hw = ((struct sky2_port *) netdev_priv(dev0))->hw; > > @@ -2134,6 +2148,8 @@ > > sky2_write32(hw, STAT_CTRL, SC_STAT_CLR_IRQ); > > } > > > > + mod_timer(&hw->idle_timer, jiffies + HZ); > > + > > local_irq_disable(); > > __netif_rx_complete(dev0); > > > Any objection against moving mod_timer() from sky2_poll() to sky2_idle() > so as to keep poll() path unmodified ? > If traffic is moving, then I want the timer to keep getting rescheduled farther out. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html