Workqueue patches merged

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

 



Hi Everyone,

I would like to inform you that conversion from tasklets to workqueues are now
merged into bluetooth-next. Those patches move all Bluetooth processing to the
process context, thus it makes the manipulation of Bluetooth data much more
easier. We were able to make locking more sane, and some of them were even
changed to use RCU.
In the end only the rx/tx works were kept at the hdev->workqueue, all others
works were moved to the system workqueue. In the future, if the need arises we
can create a global workqueue for random works.

Some work is still missing, like:

 - make sure SCO, SMP, BNEP and HIDP are working.
 - work on mod_delayed_queue() to improve our timers usage
 - proper chan_put/chan_hold in l2cap_set_timer/clear_timer
 - use GFP_KERNEL where possible
 - Look for improvements in the locking system
 - some other places needs move to workqueue, like the security timer in l2cap

I also would like to ask you to rebase your code on top of this and re-submit
it to the mailing list. I know this a is a bit painful now, but it will help
development a lot from now on. If we move fast here we still can make 3.3 for
most of your patches. I'm waiting your patches!

And please, test this. We need to make sure we are not breaking anything here.

These are the workqueue patches btw:

Gustavo F. Padovan (22):
      Bluetooth: Replace spin_lock by mutex in hci_dev
      Bluetooth: Use delayed_work for connection timeout
      Bluetooth: Use delayed work for advertisiment cache timeout
      Bluetooth: hci_conn_auto_accept() doesn't need locking
      Bluetooth: Move L2CAP timers to workqueue
      Bluetooth: Don't use spin_lock socket lock anymore
      Bluetooth: Remove sk_backlog usage from L2CAP
      Bluetooth: move hci_task_lock to mutex
      Bluetooth: convert chan_lock to mutex
      Bluetooth: Use RCU to manipulate chan_list
      Bluetooth: convert conn hash to RCU
      Bluetooth: Don't disable tasklets to call hdev->notify()
      Bluetooth: Move command task to workqueue
      Bluetooth: convert tx_task to workqueue
      Bluetooth: convert info timer to delayed_work
      Bluetooth: invert locking order in connect path
      Bluetooth: Change l2cap chan_list to use RCU
      Bluetooth: move power_off to system workqueue
      Bluetooth: Use new alloc_workqueue()
      Bluetooth: Remove work_add and work_del from hci_sysfs
      Bluetooth: Use system workqueue to schedule power_on
      Bluetooth: Add ProFUSION's copyright

Marcel Holtmann (1):
      Bluetooth: Process recv path in a workqueue instead of a tasklet

	Gustavo
--
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