Re: [RFC BlueZ] android/AVDTP: Make signalling channel high priority

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marcel,

On Mon, Jan 27, 2014 at 12:40 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
> Hi Luiz,
>
>> This makes signalling high priority (6) so it can push commands before
>> the stream channel, without this the stream channel may be schedule
>> first and cause the signalling commands to timeout while waiting a slot.
>> ---
>> android/avdtp.c | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/android/avdtp.c b/android/avdtp.c
>> index 4abcd75..4cfffc8 100644
>> --- a/android/avdtp.c
>> +++ b/android/avdtp.c
>> @@ -2057,6 +2057,7 @@ struct avdtp *avdtp_new(int fd, size_t imtu, size_t omtu, uint16_t version)
>>       struct avdtp *session;
>>       GIOCondition cond = G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL;
>>       int new_fd;
>> +     int priority;
>>
>>       new_fd = dup(fd);
>>       if (new_fd < 0) {
>> @@ -2064,6 +2065,14 @@ struct avdtp *avdtp_new(int fd, size_t imtu, size_t omtu, uint16_t version)
>>               return NULL;
>>       }
>>
>> +     priority = 6;
>> +     if (setsockopt(new_fd, SOL_SOCKET, SO_PRIORITY,
>> +                     (const void *) &priority, sizeof(priority)) < 0) {
>> +             error("setsockopt(SO_PRIORITY): %s (%d)", strerror(errno),
>> +                                                                     errno);
>> +             return NULL;
>> +     }
>> +
>
> I think we should make it one higher than the media channel. If we are currently using priority 6 on the media channel than this should be 7. If 7 is not possible, then we might degrade the media channel to 5.

Setting anything bigger than 6 requires CAP_NET_ADMIN so it would
requires unit tests to run with it, perhaps we can do some logic that
checks if we can over 6 or not depending on what capabilities we have.


-- 
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux