James Ketrenos wrote:
Jeff Garzik wrote:
James Ketrenos wrote:
That said -- if the driver can execute in parallel to the stack for
some operations, shouldn't they remain on their own workqueues so the
work can be divided up vs. having *everything* routed through one
singlethread workqueue?
Just because it -can-, does not mean it should.
Unless there is a -proven- need for the operations to be parallel, you
should avoid the burden of such complexity.
There is no additional complexity by having the driver create its own
workqueue; it just calls create_workqueue during probe and
destroy_workqueue during remove.
That is obviously false. Ignoring the additional code and memory usage,
you must additionally evaluate the potential for deadlocks and races.
And then there is the Linus mantra: do what you must, and no more. No
need for additional workqueues has been demonstrated. (which I noticed
your response completely skipped -- an implicit admission of lack of need)
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html