Re: [PATCH] firmware_class: Move request_firmware_nowait() to workqueues

From: Christian Lamparter
Date: Thu Mar 15 2012 - 16:08:17 EST


On Thursday, March 15, 2012 08:50:15 PM Stephen Boyd wrote:
> Oddly enough a work_struct was already part of the firmware_work
> structure but nobody was using it. Instead of creating a new
> kthread for each request_firmware_nowait() just schedule the work
> on the system workqueue. This should avoid some overhead in
> forking new threads when they're not strictly necessary if
> workqueues are available.
>
> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Kay Sievers <kay.sievers@xxxxxxxx>
> Cc: Rafael J. Wysocki <rjw@xxxxxxx>
> ---
>
> I saw this while looking at this problem we're having.
Correct me if I'm wrong, but wouldn't that stall all other
global workqueue tasks for up to 60 seconds [in worst case]?

But I think we can get rid of the firmware_work work struct...

Regards,
Chr


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/