Re: [PATCH] firewire: sbp2: parallelize login/inquiry, reconnect,and shutdown

From: Tejun Heo
Date: Tue Oct 12 2010 - 09:55:33 EST


Hello,

On 10/11/2010 11:39 PM, Stefan Richter wrote:
> Stefan Richter wrote:
>> There are indeed situations where the last module reference was already
>> put down before the work is run for the last time. Thanks for the hint.
>>
>> What is preferable, an own workqueue instance whose destroy_workqueue()
>> lets sbp2_cleanup wait for unfinished work, or module ref-counting like
>> below?
>
> Anoher thing: Somebody might have swap space on a FireWire disk.

It doesn't have to be swap. Having a rw filesystem mounted is enough
to be in the memory reclaim path.

> Yet the system workqueues that firewire-core and (perhaps)
> firewire-sbp2 are using are created without WQ_RESCUER.
>
> Does this --- fringe use case as it might be --- call for private
> workqueues in firewire-core (for fw_device.work) and firewire-sbp2 (for
> sbp2_logical_unit.work)?
>
> Besides the less interesting cases of device discovery and shutdown,
> both of these works are also involved in SBP reconnect which needs to be
> performed at each FireWire bus reset (which can happen anytime for a
> variety of reasons).

Yes, it would definitely be better to put them in a workqueue with
WQ_RESCUER (or the new WQ_MEM_RECLAIM).

Thanks.

--
tejun
--
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/