Search Linux Wireless

Re: [PATCH v5] mac80211: implement multi-vif in-place reservations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2014-05-07 at 10:51 +0200, Michal Kazior wrote:
> On 7 May 2014 10:07, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:
> > On Wed, 2014-05-07 at 08:05 +0200, Michal Kazior wrote:
> >
> >> Hmm... Now that I think about the atomic swap - it actually becomes a
> >> little bit of an issue in some cases.
> >>
> >> For one you might need to overcommit number of chanctx since swapping
> >> requires both chanctx (old and new) to exist but that's the least of
> >> the eproblem. If you have more than one interface you end up with
> >> temporarily breaking interface combinations from driver point of view
> >> while switching (first swap breaks it, last swap fixes it). Driver
> >> won't know whether given swap is first/last unless we somehow pass it
> >> through the switch_vif_chanctx(). IOW we actually need a "chanctx
> >> transaction" (sort of a start-stop) that can batch up a couple of
> >> chanctx switches for different vifs as an atomic op.
> >
> > Hmmm. Don't you already have that problem? Or you don't because you'd do
> >
> > for_each_affected_vif: unassign
> > del chanctx [optional depending on reservation]
> > add chanctx [ditto]
> > for_each_affected_vif: assign
> >
> > right now?
> 
> Correct - this is how my patch deals with this problem. This was also
> the reason why I split the new_chanctx() into alloc_chanctx() and
> add_chanctx().

Right, I had forgotten the overcommit thing...

--
Luca.

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux