From: Marcel Holtmann <marcel@holtmann.org>
To: Mat Martineau <mathewm@codeaurora.org>
Cc: Ulisses Furquim <ulisses@profusion.mobi>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
Andrei Emeltchenko <andrei.emeltchenko.news@gmail.com>,
Peter Krystad <pkrystad@codeaurora.org>,
linux-bluetooth@vger.kernel.org
Subject: Re: Getting L2CAP ERTM support into better upstream state
Date: Thu, 09 Feb 2012 08:13:19 +0100 [thread overview]
Message-ID: <1328771599.28848.13.camel@aeonflux> (raw)
In-Reply-To: <alpine.DEB.2.02.1202081221280.25089@mathewm-linux>
Hi Mat,
> > On Wed, Feb 8, 2012 at 7:32 AM, Luiz Augusto von Dentz
> > <luiz.dentz@gmail.com> wrote:
> >> Hi Andrei,
> >>
> >> On Wed, Feb 8, 2012 at 11:09 AM, Andrei Emeltchenko
> >> <andrei.emeltchenko.news@gmail.com> wrote:
> >>>
> >>> I think this would be good to send as patch series so that people can
> >>> comment. What comes to my mind is that the patch might be reduced if it
> >>> does not change order of functions and defines like:
> >>>
>
> ... <snip> ...
>
> >>> those magic number does not look nice IMO and the code is not looking any
> >>> better.
> >>
> >> In this aspect perhaps, but we don't need to take the code as it is,
> >> but the point here is following the states defined by the spec and
> >> that is IMO much better.
>
> Right - the code as it stands now was ported quickly, and does not
> take in to account many of Andrei's upstream improvements. I don't
> want to move backwards in terms of magic numbers, and there is some
> extra noise in there due to symbol names. I need to address these
> issues before merging.
>
> I'm also looking for ideas on how to do this as a patch series. Since
> it takes a very different approach from the original code, it's hard
> to make meaningful, small patches that don't break functionality. At
> some point there has to be a major switchover but there is a lot of
> room to split this up.
>
> One approach is to add inactive code until everything is there, then
> have one commit that calls in to the new code instead of the old code.
> Then the old code can be removed. I talked to Gustavo about that a
> while ago, and he preferred finding a different way. Maybe an
> intermediate step is to put the state machine code in there, but call
> the existing frame handling functions in every state.
I am fine with this approach. We must make sure that we have a complete
series and be merging it at once. Otherwise dealing with compiler
warnings in -next trees is just creating too much noise.
And to make this crystal clear to everybody. I want _ONE_ upstream L2CAP
ERTM implementation and no future fragmentation. I am dealing with this
issue once and after that is has to be upstream first. No exceptions.
> > I've taken a quick look last week at their code and indeed it looks
> > better regarding following the states. In particular they track
> > rx_state and tx_state and then decide what to do based on that and
> > what happened. I like it because it's explicit about that instead of
> > demanding us to reason a lot on what state we are and what we should
> > do. I'm all for changing our ERTM to that so it'll be more
> > maintainable.
>
> That was the goal of the design. It has worked well during in-house
> testing, and has been through several UPFs.
>
>
> > Marcel mentioned the separation of L2CAP channel and socket. That is a
> > work in progress by Andrei and judging by what you said, Marcel, you
> > want that merged before we change ERTM, is that it?
>
> Andrei and Marcel, let's figure out this order now. It doesn't make
> sense for one of us to have a bunch of changes staged, only to have
> major merge/rebase conflicts when another far-reaching patch set gets
> merged.
This is between you and Andrei. I want to see the L2CAP channel vs
socket split happening. I do not care in which order. You guys agree on
a way forward and I will just go along with it.
Regards
Marcel
prev parent reply other threads:[~2012-02-09 7:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-08 5:27 Getting L2CAP ERTM support into better upstream state Marcel Holtmann
2012-02-08 9:09 ` Andrei Emeltchenko
2012-02-08 9:32 ` Luiz Augusto von Dentz
2012-02-08 11:16 ` Ulisses Furquim
2012-02-08 22:33 ` Mat Martineau
2012-02-09 1:01 ` Ulisses Furquim
2012-02-09 10:53 ` Andrei Emeltchenko
2012-02-10 12:54 ` Gustavo Padovan
2012-02-10 13:49 ` Ulisses Furquim
2012-02-10 16:54 ` Mat Martineau
2012-02-09 7:13 ` Marcel Holtmann [this message]
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=1328771599.28848.13.camel@aeonflux \
--to=marcel@holtmann.org \
--cc=andrei.emeltchenko.news@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=mathewm@codeaurora.org \
--cc=pkrystad@codeaurora.org \
--cc=ulisses@profusion.mobi \
/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 NNTP newsgroup(s).