From: Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
To: David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Cc: herbert-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org,
mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org,
linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
ron.rindjunsky-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
tomasw-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
ivdoorn-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
peter.p.waskiewicz.jr-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
Subject: Re: [PATCH] mac80211: rewrite fragmentation code
Date: Thu, 08 May 2008 11:00:30 +0200 [thread overview]
Message-ID: <1210237230.3547.35.camel@johannes.berg> (raw)
In-Reply-To: <20080507.202606.242037993.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 1033 bytes --]
On Wed, 2008-05-07 at 20:26 -0700, David Miller wrote:
> > You're supposed to stop the queue before the ring overflows.
>
> Right, and this is why drivers choose a TX wakeup threshold such
> that they can accept an arbitrarily sized TSO frame.
>
> For example, from drivers/net/tg3.c's ->hard_start_xmit():
>
> if (unlikely(tg3_tx_avail(tp) <= (MAX_SKB_FRAGS + 1))) {
> netif_stop_queue(dev);
> if (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH(tp))
> netif_wake_queue(tp->dev);
> }
>
> The driver is responsible for stopping the queue _before_ it
> enters a state where there is not enough space in the queue
> to accept a packet.
Yes yes yes I know :) It's just quite awkward to handle when your
hard_start_xmit() actually increases the number of packets, you don't
really know how deep the queue is etc. I'll add an assertion like that
to mac80211 for the non-fragmented case and clean up the fragmented case
to retry by itself without upper layer involvement after the tx->cb
patch.
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next prev parent reply other threads:[~2008-05-08 9:00 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-30 12:40 [RFC/RFT 0/4] mac80211 QoS-related enhancements Johannes Berg
2008-04-30 12:40 ` [RFC/RFT 1/4] mac80211: use rate index in TX control Johannes Berg
2008-04-30 12:40 ` [RFC/RFT 2/4] GSO: generalize for mac80211 Johannes Berg
[not found] ` <20080430130049.359549000-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2008-05-06 16:12 ` Johannes Berg
2008-04-30 12:40 ` [RFC/RFT 3/4] mac80211: use GSO for fragmentation Johannes Berg
2008-05-07 7:10 ` Herbert Xu
2008-05-07 8:50 ` Johannes Berg
2008-05-07 9:00 ` Herbert Xu
[not found] ` <20080507090040.GA25186-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>
2008-05-07 11:22 ` [PATCH] mac80211: rewrite fragmentation code Johannes Berg
[not found] ` <1210159339.5642.13.camel-YfaajirXv214zXjbi5bjpg@public.gmane.org>
2008-05-07 11:41 ` Herbert Xu
2008-05-07 11:52 ` Johannes Berg
[not found] ` <1210161133.5642.19.camel-YfaajirXv214zXjbi5bjpg@public.gmane.org>
2008-05-07 13:05 ` Herbert Xu
[not found] ` <20080507130548.GA26977-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>
2008-05-07 13:48 ` Michael Buesch
2008-05-08 3:22 ` Herbert Xu
[not found] ` <20080508032208.GA401-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>
2008-05-08 3:26 ` David Miller
[not found] ` <20080507.202606.242037993.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-05-08 9:00 ` Johannes Berg [this message]
2008-05-16 2:01 ` Rusty Russell
2008-05-16 3:28 ` Herbert Xu
2008-05-16 4:58 ` David Miller
[not found] ` <20080515.215823.28841530.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-05-16 10:32 ` Rusty Russell
[not found] ` <200805162032.48469.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-05-16 10:38 ` Johannes Berg
2008-05-16 12:15 ` Herbert Xu
2008-05-16 19:40 ` David Miller
[not found] ` <20080516.124039.253626477.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-05-19 3:08 ` Rusty Russell
2008-05-19 7:03 ` David Miller
2008-05-08 13:00 ` Michael Buesch
[not found] ` <200805081500.00682.mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org>
2008-05-08 13:08 ` Herbert Xu
2008-05-08 13:13 ` Michael Buesch
2008-05-08 13:15 ` Michael Buesch
[not found] ` <200805081513.56521.mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org>
2008-05-08 13:32 ` Herbert Xu
2008-05-07 19:19 ` Johannes Berg
2008-04-30 12:40 ` [RFC/RFT 4/4] mac80211: use multi-queue master netdevice Johannes Berg
[not found] ` <20080430130051.397094000-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2008-04-30 14:37 ` Ivo van Doorn
[not found] ` <200804301637.35170.IvDoorn-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-04-30 14:45 ` Johannes Berg
[not found] ` <1209566743.18659.30.camel-YfaajirXv214zXjbi5bjpg@public.gmane.org>
2008-04-30 15:00 ` Johannes Berg
[not found] ` <1209567609.18659.33.camel-YfaajirXv214zXjbi5bjpg@public.gmane.org>
2008-04-30 15:34 ` Ivo van Doorn
2008-04-30 15:38 ` Johannes Berg
2008-05-01 8:21 ` Ivo van Doorn
[not found] ` <200805011021.04435.IvDoorn-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-05-01 8:54 ` Johannes Berg
2008-04-30 19:39 ` Waskiewicz Jr, Peter P
[not found] ` <D5C1322C3E673F459512FB59E0DDC32904FE144F-O6kdQIuPh0Q64kNsxIetb7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2008-04-30 20:07 ` Johannes Berg
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=1210237230.3547.35.camel@johannes.berg \
--to=johannes-cdvu00un1vgdhxzaddlk8q@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=herbert-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org \
--cc=ivdoorn-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=peter.p.waskiewicz.jr-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=ron.rindjunsky-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=tomasw-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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).