public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: Mat Martineau <mathewm@codeaurora.org>
To: Ulisses Furquim <ulisses@profusion.mobi>
Cc: linux-bluetooth@vger.kernel.org, gustavo@padovan.org,
	marcel@holtmann.org, pkrystad@codeaurora.org,
	andrei.emeltchenko.news@gmail.com
Subject: Re: [PATCH 3/4] Bluetooth: Lock the L2CAP channel when sending
Date: Fri, 4 May 2012 14:54:17 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.02.1205041444580.22429@mathewm-linux> (raw)
In-Reply-To: <CAA37ikaut-vNWLS1d9vGUWV=rLMH6Ud72j8Mwn3+u18-a_Bf-w@mail.gmail.com>


Hi Ulisses -

On Fri, 4 May 2012, Ulisses Furquim wrote:

> Hi Mat,
>
> On Wed, May 2, 2012 at 1:42 PM, Mat Martineau <mathewm@codeaurora.org> wrote:
>> The ERTM and streaming mode transmit queue must only be accessed while
>> the L2CAP channel lock is held.  Locking the channel before calling
>> l2cap_chan_send ensures that multiple threads cannot simultaneously
>> manipulate the queue when sending and receiving concurrently.
>>
>> L2CAP channel locking had previously moved to the l2cap_chan struct
>> instead of the associated socket, so some of the old socket locking
>> can also be removed in this patch.
>>
>> Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
>> ---
>>  include/net/bluetooth/bluetooth.h |    2 --
>>  net/bluetooth/l2cap_sock.c        |   15 ++++++++-------
>>  2 files changed, 8 insertions(+), 9 deletions(-)
>
> Looks good. I'm just wondering if we still have issues with chan lock
> versus sock lock elsewhere. Maybe you've done some auditing of this?

I did an extensive review of the locking code with respect to ERTM 
last week, and I'm satisfied with the use of chan_lock there.

The work to decouple l2cap_chan from sockets is not yet complete, so 
there are still socket locking calls at connect and disconnect time. 
The data path looks like it is clear of socket locks now.


--
Mat Martineau
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum

  reply	other threads:[~2012-05-04 21:54 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-02 16:41 [PATCH 0/4] ERTM state machine changes, part 2 Mat Martineau
2012-05-02 16:41 ` [PATCH 1/4] Bluetooth: Fix a redundant and problematic incoming MTU check Mat Martineau
2012-05-04 18:55   ` Ulisses Furquim
2012-05-04 20:39     ` Gustavo Padovan
2012-05-04 20:37   ` Gustavo Padovan
2012-05-02 16:42 ` [PATCH 2/4] Bluetooth: Restore locking semantics when looking up L2CAP channels Mat Martineau
2012-05-04 18:58   ` Ulisses Furquim
2012-05-02 16:42 ` [PATCH 3/4] Bluetooth: Lock the L2CAP channel when sending Mat Martineau
2012-05-04 19:06   ` Ulisses Furquim
2012-05-04 21:54     ` Mat Martineau [this message]
2012-05-05  1:11       ` Ulisses Furquim
2012-05-02 16:42 ` [PATCH 4/4] Bluetooth: Refactor L2CAP ERTM and streaming transmit segmentation Mat Martineau
2012-05-04 19:12   ` Ulisses Furquim
2012-05-04 20:57   ` Gustavo Padovan
2012-05-14  9:52   ` Andrei Emeltchenko
2012-05-14 15:47     ` Mat Martineau
2012-05-02 21:40 ` [PATCH 0/4] ERTM state machine changes, part 2 Mat Martineau
2012-05-04 19:10   ` Ulisses Furquim

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=alpine.DEB.2.02.1205041444580.22429@mathewm-linux \
    --to=mathewm@codeaurora.org \
    --cc=andrei.emeltchenko.news@gmail.com \
    --cc=gustavo@padovan.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=marcel@holtmann.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