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
next prev parent 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).