Snippet from my patch:
– asus->led_workqueue = create_singlethread_workqueue(“led_workqueue”);
+ asus->led_workqueue = alloc_workqueue(“led_workqueue”, 0, 0);
- led_workqueue is involved in updating LEDs queues &led->work per asus_led.
- The led_workqueue has multiple work items which can be run concurrently.
- The dedicated workqueue is kept so that the work items can be flushed as a group.
- Since it is not being used on a memory reclaim path, WQ_MEM_RECLAIM has not been set.
- Since there are only a fixed number of work items, explicit concurrency limit is unnecessary here.
Used when the queued work items can be run concurrently.
No special flags required