linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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



      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).