lkml.org 
[lkml]   [2010]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/2] scsi: don't use execute_in_process_context()
    Hello, James.

    On 12/12/2010 11:48 PM, James Bottomley wrote:
    > The analysis above isn't quite correct, I'm afraid. We use the
    > execute_in_process_context() not to avoid deadlocks, but to acquire
    > process context if we don't have it because the API allows calling from
    > sites at interrupt context. The point of using
    > execute_in_process_context() is that we actually want to make use of the
    > user context if we have one ... there's no point using a workqueue in
    > that case, because there's nothing to be gained (except to slow
    > everything down). We have no ordering constraints (the traditional
    > reason for using workqueues) so this is purely about context.

    Sure, what I tried to say was that the change couldn't introduce
    deadlock no matter how it was used. Sure execute_in_process_context()
    would be slightly more efficient, but it currently is used a few times
    only in quite cold paths where optimization isn't necessary at all and
    the API is somewhat incomplete in that it doesn't provide ordering or
    synchronization APIs.

    So, unless there's a compelling reason, let's remove it. It has been
    there for quite some time now and hasn't grown any other users. There
    wouldn't be any noticeable difference for the current users either.
    If you really like to keep it in the current users, let's move it into
    SCSI. I don't see much reason to keep it as a part of generic
    workqueue API in its current form.

    Thank you.

    --
    tejun


    \
     
     \ /
      Last update: 2010-12-14 10:55    [W:2.346 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site