Re: [PATCH 2/2] scsi: don't use execute_in_process_context()

From: Tejun Heo
Date: Tue Dec 14 2010 - 09:34:07 EST


Hello,

On 12/14/2010 03:26 PM, James Bottomley wrote:
> Depends what you're doing about the flush problem. The synchronisation
> is inherent in the use (we're holding a reference to the module within
> the executed code). The flush is to try to speed things up so the user
> doesn't get annoyed during rmmod. We don't need a sync, just an
> accelerator.

Hmmm, I'm confused. How does it drop the reference then? Something
outside of the callback should wait for its completion and drop the
reference as otherwise nothing can guarantee that the modules doesn't
go away between the reference drop and the actual completion of the
callback.

>> Compelling reason for it to exist. Why not just use work when you
>> need execution context and the caller might or might not have one?
>
> Because it's completely lame to have user context and not use it.

It may be lame but I think it's better than having an optimization
interface which is incomplete and, more importantly, unnecessary.

>> But, really, let's just remove it. At this point, we either need to
>> fortify the interface or remove it and given the current usage, I
>> think we're better off with the latter.
>
> I really don't think the open coding is a good idea. It's complex and
> error prone; exactly the type of thing that should be in an API.

Yeah, just schedule work like everyone else.

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/