All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Eliad Peller <eliad@wizery.com>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	Ben Greear <greearb@candelatech.com>
Subject: Re: [PATCH 5/5] mac80211: optimise roaming time again
Date: Fri, 14 Dec 2012 00:41:10 +0100	[thread overview]
Message-ID: <1355442070.25160.2.camel@jlt4.sipsolutions.net> (raw)
In-Reply-To: <CAB3XZEcz-qywVdb5OFG38Kdk8Vue4bS8zxAfuKs_FxFGaisd9w@mail.gmail.com> (sfid-20121214_003229_008437_8C84FB76)

On Fri, 2012-12-14 at 01:32 +0200, Eliad Peller wrote:
> On Fri, Dec 14, 2012 at 12:59 AM, Johannes Berg
> <johannes@sipsolutions.net> wrote:
> > From: Johannes Berg <johannes.berg@intel.com>
> >
> > The last fixes re-added the RCU synchronize penalty
> > on roaming to fix the races. Split up sta_info_flush()
> > now to get rid of that again, and let managed mode
> > (and only it) delay the actual destruction.
> >
> > Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> > ---
> The patchset looks good. thanks for fixing it :)

:)

> > +static inline int sta_info_flush(struct ieee80211_sub_if_data *sdata)
> > +{
> > +       int ret = sta_info_flush_defer(sdata);
> > +
> > +       if (ret)
> > +               sta_info_flush_cleanup(sdata);
> > +
> > +       return ret;
> > +}
> > +
> 
> but i think this is wrong - there might already be stations in the cleanup list.
> you should always call sta_info_flush_cleanup.

I don't think so? I thought about this for a while, but I see only the
case where there are stations being added to the list in the
sta_info_flush_defer() call -- then the return value is bigger than zero
and when we return, nothing is on the cleanup list.

The other case is that there's something on the cleanup list for managed
mode, but that only needs to be guaranteed to be cleaned up when the
interface goes down (nothing in the destroy calls back to the driver) so
there the explicit call to sta_info_flush_cleanup() should be enough?


  reply	other threads:[~2012-12-13 23:40 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-13 22:59 [PATCH 0/5] mac80211: fix station cleanup/destruction Johannes Berg
2012-12-13 22:59 ` [PATCH 1/5] mac80211: fix station destruction in AP/mesh modes Johannes Berg
2012-12-13 22:59 ` [PATCH 2/5] mac80211: use del_timer_sync for final sta cleanup timer deletion Johannes Berg
2012-12-13 23:26   ` Johannes Berg
2012-12-13 22:59 ` [PATCH 3/5] mac80211: remove final sta_info_flush() Johannes Berg
2012-12-13 22:59 ` [PATCH 4/5] mac80211: warn if unexpectedly removing stations Johannes Berg
2012-12-13 22:59 ` [PATCH 5/5] mac80211: optimise roaming time again Johannes Berg
2012-12-13 23:32   ` Eliad Peller
2012-12-13 23:41     ` Johannes Berg [this message]
2012-12-13 23:57       ` Eliad Peller
2012-12-14  8:33         ` Johannes Berg
2012-12-14 13:57 ` [PATCH] mac80211: optimise AP stop RCU handling Johannes Berg
2012-12-20 11:16   ` Johannes Berg
2012-12-14 18:08 ` [PATCH 0/5] mac80211: fix station cleanup/destruction Ben Greear
2012-12-20 11:12 ` 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=1355442070.25160.2.camel@jlt4.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=eliad@wizery.com \
    --cc=greearb@candelatech.com \
    --cc=linux-wireless@vger.kernel.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 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.