From: Bob Copeland <me@bobcopeland.com>
To: Yaniv Machani <yanivma@ti.com>
Cc: linux-kernel@vger.kernel.org, Maital Hahn <maitalm@ti.com>,
Johannes Berg <johannes@sipsolutions.net>,
"David S. Miller" <davem@davemloft.net>,
linux-wireless@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH v2 2/3] mac80211: mesh: improve path resolving time
Date: Tue, 19 Jul 2016 08:36:48 -0400 [thread overview]
Message-ID: <20160719123648.GC11996@localhost> (raw)
In-Reply-To: <20160713114528.24835-1-yanivma@ti.com>
On Wed, Jul 13, 2016 at 02:45:25PM +0300, Yaniv Machani wrote:
> When a packet is received for transmission,
> a PREQ frame is sent to resolve the appropriate path to the desired destination.
> After path was established, any sequential PREQ will be sent only after
> dot11MeshHWMPpreqMinInterval, which usually set to few seconds.
>
> This implementation has an impact in cases where we would like to
> resolve the path quickly.
> A clear example is when a peer was disconnected from us,
> while he acted as a hop to our destination.
> Although the path table will be cleared, the next PREQ frame will be sent only after reaching the MinInterval.
> This will cause unwanted delay, possibly of few seconds until the traffic will resume.
>
> if (!(mpath->flags & MESH_PATH_RESOLVING))
> - mesh_queue_preq(mpath, PREQ_Q_F_START);
> + mesh_queue_preq(mpath, PREQ_Q_F_START, true);
What about something like this here instead:
if (!(mpath->flags & MESH_PATH_RESOLVING)) {
/* force next preq to be sent without delay */
ifmsh->last_preq = jiffies - min_preq_int_jiff(sdata) - 1;
mesh_queue_preq(mpath, PREQ_Q_F_START);
}
Maybe a little more magic, but it has a comment explaining it and doesn't
add a bool parameter everywhere. Or, maybe even just do it inside
mesh_queue_preq() based on having PREQ_Q_F_START && !PREQ_Q_F_REFRESH (if
those are the only cases where "true" is passed).
Generally I try to avoid bool parameters where possible because when you
look at a callsite, you don't know immediately what "true" and "false"
mean, and also each one you add doubles the code paths through a given
function.
--
Bob Copeland %% http://bobcopeland.com/
next prev parent reply other threads:[~2016-07-19 12:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-13 11:45 [PATCH v2 2/3] mac80211: mesh: improve path resolving time Yaniv Machani
2016-07-19 12:36 ` Bob Copeland [this message]
2016-08-11 13:22 ` Johannes Berg
-- strict thread matches above, loose matches on Subject: below --
2016-07-18 16:59 Yeoh Chun-Yeow
2016-07-19 12:44 ` Bob Copeland
2016-07-19 13:02 ` Machani, Yaniv
2016-07-19 13:43 ` Bob Copeland
2016-07-19 16:01 ` Yeoh Chun-Yeow
2016-07-19 20:01 ` Machani, Yaniv
2016-07-20 6:45 ` Yeoh Chun-Yeow
2016-07-20 12:15 ` Machani, Yaniv
2016-07-20 16:40 ` Yeoh Chun-Yeow
2016-07-20 18:17 ` Machani, Yaniv
2016-07-21 2:29 ` Yeoh Chun-Yeow
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=20160719123648.GC11996@localhost \
--to=me@bobcopeland.com \
--cc=davem@davemloft.net \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=maitalm@ti.com \
--cc=netdev@vger.kernel.org \
--cc=yanivma@ti.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.