Re: [PATCH 4/9] firewire: don't use PREPARE_DELAYED_WORK

From: Stefan Richter
Date: Fri Feb 21 2014 - 15:51:25 EST


On Feb 20 Tejun Heo wrote:
> PREPARE_[DELAYED_]WORK() are being phased out. They have few users
> and a nasty surprise in terms of reentrancy guarantee as workqueue
> considers work items to be different if they don't have the same work
> function.
>
> firewire core-device and sbp2 have been been multiplexing work items
> with multiple work functions. Introduce fw_device_workfn() and
> sbp2_lu_workfn() which invoke fw_device->workfn and
> sbp2_logical_unit->workfn respectively and always use the two
> functions as the work functions and update the users to set the
> ->workfn fields instead of overriding work functions using
> PREPARE_DELAYED_WORK().
>
> It would probably be best to route this with other related updates
> through the workqueue tree.
>
> Compile tested.
>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>
> Cc: linux1394-devel@xxxxxxxxxxxxxxxxxxxxx

Acked-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx>

And lightly runtime-tested as well.

This doesn't actually touch sbp-target; the following Cc's could be
dropped:

> Cc: Chris Boot <bootc@xxxxxxxxx>
> Cc: linux-scsi@xxxxxxxxxxxxxxx
> Cc: target-devel@xxxxxxxxxxxxxxx
> ---
> drivers/firewire/core-device.c | 22 +++++++++++++++-------
> drivers/firewire/sbp2.c | 17 +++++++++++++----
> include/linux/firewire.h | 1 +
> 3 files changed, 29 insertions(+), 11 deletions(-)

--
Stefan Richter
-=====-====- --=- =-=-=
http://arcgraph.de/sr/
--
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/