Return-path: Received: from mail-wg0-f45.google.com ([74.125.82.45]:46859 "EHLO mail-wg0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932181AbaEGM16 convert rfc822-to-8bit (ORCPT ); Wed, 7 May 2014 08:27:58 -0400 Received: by mail-wg0-f45.google.com with SMTP id m15so896141wgh.4 for ; Wed, 07 May 2014 05:27:57 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1399464789.10517.29.camel@jlt4.sipsolutions.net> References: <1397050174-26121-14-git-send-email-michal.kazior@tieto.com> <1398849681-3606-1-git-send-email-michal.kazior@tieto.com> <1399372915.4218.17.camel@jlt4.sipsolutions.net> <1399385141.4218.37.camel@jlt4.sipsolutions.net> <1399450061.5038.10.camel@jlt4.sipsolutions.net> <1399455657.6800.4.camel@dubbel> <1399457760.6800.7.camel@dubbel> <1399460964.10517.12.camel@jlt4.sipsolutions.net> <1399463646.10517.28.camel@jlt4.sipsolutions.net> <1399464536.6800.11.camel@dubbel> <1399464789.10517.29.camel@jlt4.sipsolutions.net> Date: Wed, 7 May 2014 14:27:56 +0200 Message-ID: (sfid-20140507_142801_888674_D24ABC3E) Subject: Re: [PATCH v5] mac80211: implement multi-vif in-place reservations From: Michal Kazior To: Johannes Berg Cc: Luca Coelho , linux-wireless , Simon Wunderlich Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: On 7 May 2014 14:13, Johannes Berg wrote: > On Wed, 2014-05-07 at 15:08 +0300, Luca Coelho wrote: > >> I was thinking about the case where you you need to involve 3 contexts. >> Let's say you have 2 vifs in the same context and after the switch you >> need to split them into 2 new ones (for instance, if there is some >> incompatibility in the new chandefs). >> >> With the generic transactions you could do: >> - new chanctx2 >> - new chanctx3 >> - switch vif1 chanctx1->chanctx2 >> - switch vif2 chanctx1->chanctx3 >> - del chanctx1 > > This isn't an interesting case, because it means you have a spare, so > you might as well do > > new chanctx3 > switch vif2 chanctx1->chanctx3 > switch_transaction(chanctx1, chanctx2, vif1) Don't you mean switch_chandef(chanctx1, chandef)? Or do you assume chanctx2 was prepared earlier? Don't you need to remove chanctx1 then? Oh, and the chanctx overcommit.. :-) I actually think Luca's example is a valid one as it shows the driver can freely handle things internally, no? Although I don't see when it would be required to make a transaction like that in real-world.. MichaƂ