On Mon, Jun 13, 2011 at 12:51:16PM +0300, Péter Ujfalusi wrote: > On Sunday 12 June 2011 01:18:54 Dmitry Torokhov wrote: > > > > +static int twl6040_vibra_open(struct input_dev *input) > > > +{ > > > + struct vibra_info *info = input_get_drvdata(input); > > > + > > > + info->workqueue = create_singlethread_workqueue("vibra"); > > > + if (info->workqueue == NULL) { > > > + dev_err(&input->dev, "couldn't create workqueue\n"); > > > + return -ENOMEM; > > > + } > > > > Why do we need to create a separate workqueue? With arrival of CWQ > > it looks like we should be able to use one of the system-wide > > workqueues for this. > > The reason for this is to ensure that we have the lowest latency as possible > in most case. In the embedded devices we use the vibra for tactile type of > feedbacks as well, where few tens of ms delay can be felt. Even if you create a dedicated workqueue with CWQ it will still be using shared pool of threads so I do not think that latency will be affected by using system-wide workqueue. I might be mistaken though, Tejun will correct me if I am wrong... Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html