Linux-WPAN Archive mirror
 help / color / mirror / Atom feed
From: Alexander Aring <aahringo@redhat.com>
To: linux-wpan - ML <linux-wpan@vger.kernel.org>
Cc: Miquel Raynal <miquel.raynal@bootlin.com>,
	Stefan Schmidt <stefan@datenfreihafen.org>
Subject: ieee802154_hot_tx() and return value TX_BUSY/TX_OK
Date: Wed, 12 Apr 2023 08:28:42 -0400	[thread overview]
Message-ID: <CAK-6q+j8T0WFX0XSFk+=7R4=LHOYLo87AN0bHFy=nZc8YkbQ+A@mail.gmail.com> (raw)

Hi,

I am asking myself if we do the right return value in
ieee802154_hot_tx(). Currently we transmit and stop the queue as we
know the transceiver (currently only has one tx buffer (sometimes
tx/rx is the same buffer)) is busy. As:

ieee802154_hot_tx() - we transmit
ieee802154_hold_queue()
return NETDEV_TX_OK

but I think or I have the feeling it should be run like this:

ieee802154_hot_tx() - we transmit
return NETDEV_TX_OK
ieee802154_hot_tx() - we are busy
ieee802154_hold_queue()
return NETDEV_TX_BUSY

The side effects are probably how the qdisc implementation handles the
different return values. Some qdisc implementations are evaluating
this and need to know that it hits hardware limitation... Some qdiscs
don't evaluate this value.

This is just a brainstorming here to find if what we do is currently
correct or not correct... we can move this discussion to netdev to
clarify this... or we figure it out by ourselves? Somehow it bothers
me that there is an additional extra callback to detect it is busy and
I can't believe this is not optimized yet.

However we should keep that in mind that I think there is some
clarification needed.

btw: I also have some other things in my mind that currently could
make problems in the qdisc handling related to 802.15.4 (and may with
6LoWPAN on top).

- Alex


             reply	other threads:[~2023-04-12 12:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-12 12:28 Alexander Aring [this message]
2023-05-12 15:00 ` ieee802154_hot_tx() and return value TX_BUSY/TX_OK Miquel Raynal
2023-05-14 19:55   ` Alexander Aring

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='CAK-6q+j8T0WFX0XSFk+=7R4=LHOYLo87AN0bHFy=nZc8YkbQ+A@mail.gmail.com' \
    --to=aahringo@redhat.com \
    --cc=linux-wpan@vger.kernel.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=stefan@datenfreihafen.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 read-only IMAP folder(s) and NNTP newsgroup(s).