[Click] fix to polling patch (was: Re: polling patch for e1000-7.3.20)

Eddie Kohler kohler at cs.ucla.edu
Tue Jan 30 22:23:30 EST 2007


Thanks for this fix, Max -- it's included.
E


Massimiliano Poletto wrote:
> Nick, Roman, I'm sorry that you're having problems with the patch.
> Unfortunately I don't have an 82571 available for testing right now
> (just some 82546's), though maybe Matt can try to reproduce your
> problem.
> 
> BUT:
> 
> I was reviewing the patch today, and noticed a glaring bug.  In short,
> the code in e1000_watchdog_1() in the patch was actually based on
> e1000_82547_tx_fifo_stall(), not e1000_watchdog().  This means that
> e1000_rx_refill() was calling the wrong code, so that statistics were
> not being updated.  But at the same time I had removed a call to
> mod_timer() from the bottom of e1000_watchdog() (as if the previous
> problem didn't exist), so when other parts of the driver called
> adapter->watchdog_timer.function(), the watchdog timer's timeout
> wasn't being reset.
> 
> I don't know what other side-effects this might have, but it may be
> responsible for the problems you are seeing.  It is certainly why the
> ifconfig counters do not increase.
> 
> I don't know how this happened---very stupid of me.  I'm sorry to have
> wasted your time with a broken patch, and enclose a new one that fixes
> this problem.  Please let me know if you continue to see problems, and
> we'll try to reproduce them and hopefully fix them.
> 
> max
> 
> 
> On 1/19/07, Roman Chertov <rchertov at purdue.edu> wrote:
>> Nicholas Weaver wrote:
>> > On Fri, Jan 19, 2007 at 02:26:41PM -0500, Roman Chertov composed:
>> >> Nicholas Weaver wrote:
>> >>> Suggestions?
>> >> Try to comment out everything between e1000_irq_disable(adapter) and
>> >> dev->polling = 2; in e1000_poll_on.  I've noticed that on my 
>> machine the
>> >> driver doesn't transmit with these lines.  It appears that it fails to
>> >> reinitialize.  This is one the PCI-E 82571EB dual port card.
>> >
>> > Thanks, this worked.  (e1000_poll_on being a function in the driver).
>> >
>> > Except...
>> >
>> > Now it seems to freeze up after about ~60 (usually 62) packets on the
>> > input.  This seems to be an input freeze rather than a queue full
>> > freeze, as packets are going in/out of the queue.
>> >
>>
>> Take a look at "dmesg" there might be some watchdog messages regarding a
>> timeout.
>>
>>
>> > (reverse Roman's changs, reinstall and reboot and the input is no
>> > longer feezing up, but then the output doesn't work... ).
>> >
>> > Now for what I'm going to do TODAY I'm OK, as I'm using different
>> > ports for inputs and outputs (its load balancing for an IDS), but I'd
>> > like to figure out what/how to get this working in general.
>> >
>>
>>
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list