netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Divy Le Ray <divy@chelsio.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: David Miller <davem@davemloft.net>,
	netdev@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [git patches] net driver updates
Date: Wed, 20 Feb 2008 17:16:15 -0800	[thread overview]
Message-ID: <47BCD0DF.1050205@chelsio.com> (raw)
In-Reply-To: <47BC8FBD.2070401@garzik.org>

Jeff Garzik wrote:
> Divy Le Ray wrote:
>> Jeff Garzik wrote:
>>> Mostly fixes, a few cleanups (generally assisting fixes), and an
>>> exception for PS3 wireless because it had been posted, reviewed and
>>> acked for a while, just not committed.
>>>
>>> Please pull from 'upstream-davem' branch of
>>> master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
>>> upstream-davem
>>>
>>> to receive the following updates:
>>>
>>>  
>>>  drivers/net/cxgb3/sge.c          |   35 +-
>>>    diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
>>> index 9ca8c66..979f3fc 100644
>>> --- a/drivers/net/cxgb3/sge.c
>>> +++ b/drivers/net/cxgb3/sge.c
>>> @@ -1059,6 +1059,14 @@ static void write_tx_pkt_wr(struct adapter 
>>> *adap, struct sk_buff *skb,
>>>               htonl(V_WR_TID(q->token)));
>>>  }
>>>  
>>> +static inline void t3_stop_queue(struct net_device *dev, struct 
>>> sge_qset *qs,
>>> +                 struct sge_txq *q)
>>> +{
>>> +    netif_stop_queue(dev);
>>> +    set_bit(TXQ_ETH, &qs->txq_stopped);
>>> +    q->stops++;
>>> +}
>>> +
>>>  /**
>>>   *    eth_xmit - add a packet to the Ethernet Tx queue
>>>   *    @skb: the packet
>>> @@ -1090,31 +1098,18 @@ int t3_eth_xmit(struct sk_buff *skb, struct 
>>> net_device *dev)
>>>      ndesc = calc_tx_descs(skb);
>>>  
>>>      if (unlikely(credits < ndesc)) {
>>> -        if (!netif_queue_stopped(dev)) {
>>> -            netif_stop_queue(dev);
>>> -            set_bit(TXQ_ETH, &qs->txq_stopped);
>>> -            q->stops++;
>>> -            dev_err(&adap->pdev->dev,
>>> -                "%s: Tx ring %u full while queue awake!\n",
>>> -                dev->name, q->cntxt_id & 7);
>>> -        }
>>> +        t3_stop_queue(dev, qs, q);
>>> +        dev_err(&adap->pdev->dev,
>>> +            "%s: Tx ring %u full while queue awake!\n",
>>> +            dev->name, q->cntxt_id & 7);
>>>          spin_unlock(&q->lock);
>>>          return NETDEV_TX_BUSY;
>>>      }
>>>  
>>>      q->in_use += ndesc;
>>> -    if (unlikely(credits - ndesc < q->stop_thres)) {
>>> -        q->stops++;
>>> -        netif_stop_queue(dev);
>>> -        set_bit(TXQ_ETH, &qs->txq_stopped);
>>> -#if !USE_GTS
>>> -        if (should_restart_tx(q) &&
>>> -            test_and_clear_bit(TXQ_ETH, &qs->txq_stopped)) {
>>> -            q->restarts++;
>>> -            netif_wake_queue(dev);
>>> -        }
>>> -#endif
>>> -    }
>>> +    if (unlikely(credits - ndesc < q->stop_thres))
>>> +        if (USE_GTS || !should_restart_tx(q))
>>> +            t3_stop_queue(dev, qs, q);
>>>  
>>>      gen = q->gen;
>>>      q->unacked += ndesc;
>>>   
>> Hi Jeff,
>>
>> I thought I had NAK'ed the patch modifying sge.c from Krishna Kumar.
>> Looking back at my answer at the time, I was obviously unclear.
>> Can you please revert the drivers/net/cxgb3sge.c change ?
>
> Explain why, so I can include it in the changelog please...

Hi Jeff,

The first part of the patch removes the !netif_queue_stopped(dev).
It opens the race discussed a while ago between Stephen hemminger and 
David Miller:
http://marc.info/?l=linux-netdev&m=113383224512427&w=2

The second part of the patch breaks the current usage of txq_stopped and 
the logic that stops and restarts the Tx queue.

Cheers,
Divy


  reply	other threads:[~2008-02-21  1:16 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-11 17:05 [git patches] net driver updates Jeff Garzik
2008-02-11 20:07 ` Divy Le Ray
2008-02-20 20:38   ` Jeff Garzik
2008-02-21  1:16     ` Divy Le Ray [this message]
2008-02-21  3:43       ` Krishna Kumar2
2008-02-21  5:46         ` David Miller
2008-02-21  5:57           ` Divy Le Ray
2008-02-21  6:02             ` Krishna Kumar2
2008-02-21  6:15             ` David Miller
2008-02-21  6:54               ` Divy Le Ray
2008-02-25 22:59                 ` Jeff Garzik
     [not found]                   ` <200802260134.02075.mitov@issp.bas.bg>
2008-02-25 23:36                     ` Jeff Garzik
2008-02-26  0:13                   ` Divy Le Ray
2008-02-26  0:17                     ` Jeff Garzik
2008-02-12  5:57 ` David Miller
2008-02-12 12:38 ` Ben Dooks
2008-02-12 16:01   ` Jeff Garzik
  -- strict thread matches above, loose matches on Subject: below --
2008-10-27 23:18 Jeff Garzik
2008-10-28 18:10 ` David Miller
2008-08-14  9:32 Jeff Garzik
2008-08-14 21:54 ` David Miller
2008-08-07  8:50 Jeff Garzik
2008-08-07  9:19 ` David Miller
2008-08-07 10:09 ` Martin Michlmayr
2008-07-30 21:41 Jeff Garzik
2008-07-30 22:49 ` David Miller
2008-05-06 16:42 Jeff Garzik
2008-05-08  9:49 ` David Miller
2008-04-25  7:26 Jeff Garzik
2008-04-25  7:32 ` David Miller
2008-04-26 22:07 ` Ben Hutchings
2008-04-27  0:43   ` David Miller
2008-04-27  2:53     ` Jeff Garzik
2008-04-27 11:34       ` Ben Hutchings
2008-03-29  2:24 Jeff Garzik
2008-03-29  3:02 ` David Miller
2008-02-06 11:49 Jeff Garzik
2008-02-06 11:52 ` David Miller
     [not found] <20080122110231.GA18441@havoc.gtf.org>
2008-01-22 14:20 ` David Miller
2007-10-25  7:49 Jeff Garzik
2007-10-24  1:30 Jeff Garzik
2007-10-15 20:19 Jeff Garzik
2007-10-10  1:03 Jeff Garzik
2007-10-10  1:12 ` David Miller
2007-10-05 18:20 Jeff Garzik
2007-10-08  6:06 ` David Miller
2007-10-03 18:39 Jeff Garzik
2007-10-03 22:33 ` David Miller
2007-10-02 17:41 Jeff Garzik
2007-10-02 23:38 ` David Miller
2007-09-29  6:08 Jeff Garzik
2007-09-20  7:26 Jeff Garzik
2007-09-20 18:42 ` David Miller
2007-07-24 20:55 Jeff Garzik
2007-07-18 23:53 Jeff Garzik
2007-07-16 22:57 Jeff Garzik
2007-07-17  8:02 ` maximilian attems
2007-07-10 18:39 Jeff Garzik
2007-07-11  9:34 ` Jiri Kosina
2007-07-11 16:28   ` Chris Stromsoe
2007-05-11 21:58 Jeff Garzik
2007-05-08  6:33 Jeff Garzik
2007-05-18 21:46 ` Mariusz Kozłowski
2007-05-18 21:54   ` Andrew Morton
2007-05-18 22:16     ` Mariusz Kozlowski
2007-05-18 22:19     ` Gene Heskett
2007-04-29 16:19 Jeff Garzik
2007-04-29 16:21 ` Christoph Hellwig
2007-02-21 11:46 Roger While
2007-02-21 12:01 ` Johannes Berg
     [not found] ` <6.1.1.1.2.20070221124144.04783fb8-Q0ErXNX1RuZq5LbY+mFP1w@public.gmane.org>
2007-02-21 13:27   ` John W. Linville
2007-02-22 15:48     ` Dan Williams
2007-02-20 18:16 Jeff Garzik
2007-02-17 22:17 Jeff Garzik
2007-02-08  0:29 Jeff Garzik
2006-12-11 15:45 Jeff Garzik
2006-12-07 12:14 Jeff Garzik
2006-09-24 16:24 Jeff Garzik
2006-07-05 18:18 Jeff Garzik
2006-06-27  3:57 Jeff Garzik
2006-05-20  4:28 Jeff Garzik
2006-05-20 16:20 ` Andrew Morton
2006-05-20 17:36   ` Linus Torvalds
2006-05-20 17:55     ` Andrew Morton
2006-05-20 22:15       ` Andi Kleen
2006-05-21  7:11         ` Manfred Spraul
2006-05-21 13:24           ` Andreas Kleen
2006-05-21 14:56             ` Manfred Spraul
2006-05-22 12:46               ` Andi Kleen
2006-03-29 23:00 Jeff Garzik
2006-03-24 17:19 Jeff Garzik
2006-03-23  1:34 Jeff Garzik
2006-03-21 21:55 Jeff Garzik
2006-03-20 11:17 Jeff Garzik
2005-09-05 22:47 Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47BCD0DF.1050205@chelsio.com \
    --to=divy@chelsio.com \
    --cc=davem@davemloft.net \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).