public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: "Olivier Le Pogam" <olepogam@free.fr>
To: "BlueZ development" <bluez-devel@lists.sourceforge.net>
Subject: [Bluez-devel] Socket concurrency / first tests
Date: Mon, 8 Oct 2007 21:14:14 +0200	[thread overview]
Message-ID: <001001c809df$6a76d9b0$0200a8c0@jester> (raw)
In-Reply-To: 1191862431.12212.10.camel@aeonflux.holtmann.net

Hello,

I have been working on socket concurrency tests in the last days, i.e. 
opening RFCOMM sockets to a maximum number of remote devices (mobile phones 
in this case). I have used a usual "connect" with blocking sockets - 
socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM). Each connection is 
performed to a different mobile phone, I have a row of phones on my desk :)

I'm using a 2.6.22.12 kernel with BlueZ 3.20 libs/utils, and from 1 to 4 
bluetooth dongles (Bt 2.0 EDR USB 2.0, an USB 2.0 hub connected to an USB 
2.0 port). "passkey-agent --default 0000 &" running.

1) With one bluetooth dongle only : I can successfully open up to 7 
concurrent connections to 7 mobile phones, then a sleep(60), then close the 
socket. I simply create one process for each connect() to each device and 
launch them all as fast as possible. It's working fine except :
- when one mobile host is down (I have intentionally switched one off) then 
all next "connect" are delayed, and usually lead to a "connection timeout" 
or "operation now in progress" when leaving the "connect".
- when a pairing is required it is about the same, all the rest seems 
delayed.

2) With more dongles, trying to perform (still at the same time) a connect() 
to one phone on hci0, another on hci1 etc ... up to hci3 (i.e. only 4 
connects to 4 devices), I always get connections errors, and the first 
connection try seems to get a lot of time.

I will certainly come back tomorrow with some hcidumps, but basically I have 
the feeling that some operations are blocking, and I also wonder about the 
blocking connect() timeout, which sometimes makes connect() exit with a 
E_INPROGRESS or a connection timeout -in my opinion- a bit too quickly.

If someone could help me in my investigations it would be really great !!

Best regards,
Oli 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

  reply	other threads:[~2007-10-08 19:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-07 18:54 [PATCH] Alsa plugin fix Fabien Chevalier
2007-10-08  0:22 ` [Bluez-devel] " Brad Midgley
2007-10-08  8:01   ` Fabien Chevalier
2007-10-08 13:40     ` Luiz Augusto von Dentz
2007-10-08 14:09       ` Fabien Chevalier
2007-10-08 16:53         ` Marcel Holtmann
2007-10-08 19:14           ` Olivier Le Pogam [this message]
2007-10-09  8:04           ` Fabien Chevalier

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='001001c809df$6a76d9b0$0200a8c0@jester' \
    --to=olepogam@free.fr \
    --cc=bluez-devel@lists.sourceforge.net \
    /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