[lkml]   [2000]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Q: sock output serialization


    >>>>> "kuznet" == kuznet <> writes:

    >> Anyway, it seems that I can already make use the lock_sock()
    >> infrastructure for fixing the output serialization, even
    >> without making the whole protocol stack SMP-aware at once.

    kuznet> Actually, the last task is not a rocket science as well.

    Yes. It seems the most critical part is changing timer events
    to honor sk->lock.users and doing sock_hold/put(). There might be
    timer events where the protocol specs require immediate reaction and
    which need to change socket state. For such events, it might not
    be obvious how to defer them when sk->lock.users != 0.

    While deferring socket input is explictly supported (by processing
    the sk->backlog queue in release_sock()), there is no special support for
    deferring non-input events. Maybe in addition to processing the sk->backlog
    queue, release_sock could also run a backlog task_queue? Such
    task_queue could be used by other events to defer actions
    when sk->lock.users!=0. Is there a particular reason why such task queue
    does not exist?


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:38    [W:0.020 / U:3.900 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site