From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Jesper Dangaard Brouer <brouer@redhat.com>,
make-wifi-fast@lists.bufferbloat.net
Subject: Re: [Make-wifi-fast] a bit of profiling on the archer
Date: Fri, 18 Nov 2016 15:30:48 +0100 [thread overview]
Message-ID: <87vavkzwpz.fsf@toke.dk> (raw)
In-Reply-To: <1479478433.8455.284.camel@edumazet-glaptop3.roam.corp.google.com> (Eric Dumazet's message of "Fri, 18 Nov 2016 06:13:53 -0800")
Eric Dumazet <eric.dumazet@gmail.com> writes:
> On Fri, 2016-11-18 at 08:55 +0100, Jesper Dangaard Brouer wrote:
>
>> Be careful you don't fool yourself. In your output you have the
>> "children" mode on, so everything being called "under" net_rx_action is
>> summed up. It could be it goes all the way through to the wifi TX
>> parts and that is part of the sum. Even the memory allocations gets
>> summed into this 66% number.
>
> Yes, I really do not see how ag71xx would be to blame ;)
>
> Although.... looking at
>
> https://aachen.uni-dsl.de/svn/unidsl_firmware/backfire/trunk/backfire/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_main.c
>
> I do see a bug :
>
> if (rx_done < limit) {
> if (status & RX_STATUS_PR)
> goto more;
>
> status = ag71xx_rr(ag, AG71XX_REG_TX_STATUS);
> if (status & TX_STATUS_PS)
> goto more;
>
> DBG("%s: disable polling mode, rx=%d, tx=%d,limit=%d\n",
> dev->name, rx_done, tx_done, limit);
>
> napi_complete(napi);
> Hint:
> napi_complete_done(napi, rx_done);
>
> /* enable interrupts */
> spin_lock_irqsave(&ag->lock, flags);
> ag71xx_int_enable(ag, AG71XX_INT_POLL);
> spin_unlock_irqrestore(&ag->lock, flags);
> return rx_done;
> }
>
> more:
> DBG("%s: stay in polling mode, rx=%d, tx=%d, limit=%d\n",
> dev->name, rx_done, tx_done, limit);
> return rx_done;
>
> This last statement should be : "return limit;"
And it seems to be in current versions:
https://git.lede-project.org/?p=source.git;a=blob;f=target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c;h=566e9513d8b7c6ef101902ae7d281dcc1c233893;hb=HEAD#l1156
Wonder why these drivers are not upstreamed, though?
-Toke
next prev parent reply other threads:[~2016-11-18 14:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-18 4:14 Dave Taht
2016-11-18 7:55 ` Jesper Dangaard Brouer
2016-11-18 10:26 ` Toke Høiland-Jørgensen
2016-11-18 14:13 ` Eric Dumazet
2016-11-18 14:30 ` Toke Høiland-Jørgensen [this message]
2016-11-19 17:33 ` Dave Taht
2016-11-21 16:49 ` Jesper Dangaard Brouer
2016-11-19 18:30 ` Dave Taht
2016-11-21 16:24 ` Jesper Dangaard Brouer
2016-11-21 16:36 ` Jonathan Morton
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
List information: https://lists.bufferbloat.net/postorius/lists/make-wifi-fast.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87vavkzwpz.fsf@toke.dk \
--to=toke@toke.dk \
--cc=brouer@redhat.com \
--cc=eric.dumazet@gmail.com \
--cc=make-wifi-fast@lists.bufferbloat.net \
/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