From: Stanislaw Gruszka <sgruszka@redhat.com>
To: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Cc: Lorenzo Bianconi <lorenzo@kernel.org>,
nbd@nbd.name, kvalo@codeaurora.org,
linux-wireless@vger.kernel.org
Subject: Re: [PATCH v2 2/2] mt76: usb: do not always copy the first part of received frames
Date: Wed, 12 Jun 2019 14:59:06 +0200 [thread overview]
Message-ID: <20190612125905.GB2600@redhat.com> (raw)
In-Reply-To: <20190612122845.GH8107@localhost.localdomain>
On Wed, Jun 12, 2019 at 02:28:48PM +0200, Lorenzo Bianconi wrote:
> [...]
> >
> > My sense of humor declined quite drastically lastly ;-/
> >
> > > > > but we can be more cautious since probably copying
> > > > > the first 128B will not make any difference
> > > >
> > > > Not sure if I understand what you mean.
> > >
> > > Please correct me if I am wrong but I think max amsdu rx size is 3839B for
> > > mt76. For the sg_en case this frame will span over multiple sg buffers since
> > > sg buffer size is 2048B (2 sg buffers). Moreover if we do not take into account
> > > skb_shared_info when configuring the sg buffer size we will need to always copy
> > > the first 128B of the first buffer since received len will be set to 2048 and
> > > the following if condition will always fail:
> > >
> > > if (SKB_WITH_OVERHEAD(buf_size) >= MT_DMA_HDR_LEN + len) {
> > > }
> >
> > Ok, that I understand.
> >
> > > > > > And skb_shered_info is needed only in first buffer IIUC.
> > > > > >
> > > > > > Also this patch seems to make first patch unnecessary except for
> > > > > > non sg_en case (in which I think rx AMSDU is broken anyway),
> > > > > > so I would prefer just to apply first patch.
> > > > >
> > > > > I do not think rx AMSDU is broken for non sg_en case since the max rx value
> > > > > allowed should be 3839 IIRC and we alloc one page in this case
> > > >
> > > > If that's the case we should be fine, but then I do not understand
> > > > why we allocate 8*2k buffers for sg_en case, isn't that AP can
> > > > sent AMSDU frame 16k big?
> > >
> > > Sorry I did not get what you mean here, could you please explain?
> >
> > If max RX AMSDU size is 3839B I do not see reason why we allocate
> > MT_SG_MAX_SIZE=8 of MT_RX_BUF_SIZE=2k buffers for sg_en case.
> > I thought the reason is that max AMSDU size is 16kB so it fit into
> > 8 sg buffers of 2k.
> >
> > In other words, for me, looks like either
> > - we can not handle AMSDU for non sg case because we do not
> > allocate big enough buffer
>
> I think AMSDU is mandatory and we currently support it even for non-sg case
> (since max rx AMSDU is 3839B)
>
> > or
> > - we can just use one PAGE_SIZE buffer for rx and remove sg
> > buffers for rx completely
>
> using sg buffers we can support bigger rx AMSDU size in the future without using
> huge buffers (e.g. we can try to use IEEE80211_MAX_MPDU_LEN_HT_7935 with
> mt76x2u)
I think it would be simpler just to allocate 2 pages for 7935B .
Stanislaw
next prev parent reply other threads:[~2019-06-12 12:59 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-31 9:38 [PATCH v2 0/2] mt76: usb: fix A-MSDU support Lorenzo Bianconi
2019-05-31 9:38 ` [PATCH v2 1/2] mt76: usb: fix rx " Lorenzo Bianconi
2019-06-12 8:58 ` Stanislaw Gruszka
2019-06-12 9:45 ` Lorenzo Bianconi
2019-06-12 10:00 ` Stanislaw Gruszka
2019-06-12 10:21 ` Lorenzo Bianconi
2019-06-12 10:58 ` Stanislaw Gruszka
2019-06-12 11:17 ` Lorenzo Bianconi
2019-05-31 9:38 ` [PATCH v2 2/2] mt76: usb: do not always copy the first part of received frames Lorenzo Bianconi
2019-06-12 9:10 ` Stanislaw Gruszka
2019-06-12 9:53 ` Lorenzo Bianconi
2019-06-12 10:25 ` Stanislaw Gruszka
2019-06-12 10:49 ` Lorenzo Bianconi
2019-06-12 11:51 ` Stanislaw Gruszka
2019-06-12 12:28 ` Lorenzo Bianconi
2019-06-12 12:59 ` Stanislaw Gruszka [this message]
2019-06-12 14:21 ` Stanislaw Gruszka
2019-06-12 14:44 ` Lorenzo Bianconi
2019-06-13 7:51 ` Stanislaw Gruszka
2019-06-13 8:26 ` Lorenzo Bianconi
2019-06-13 9:02 ` Stanislaw Gruszka
2019-06-13 9:06 ` Lorenzo Bianconi
2019-06-12 14:27 ` Lorenzo Bianconi
2019-06-13 7:55 ` Stanislaw Gruszka
2019-06-06 8:47 ` [PATCH v2 0/2] mt76: usb: fix A-MSDU support Felix Fietkau
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=20190612125905.GB2600@redhat.com \
--to=sgruszka@redhat.com \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
--cc=lorenzo.bianconi@redhat.com \
--cc=lorenzo@kernel.org \
--cc=nbd@nbd.name \
/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).