All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.