Messages in this thread |  | | Date | Wed, 13 Sep 2000 19:53:18 +0200 | From | Henner Eisen <> | Subject | Re: Q: sock output serialization |
| |
Hi,
>>>>> "kuznet" == kuznet <kuznet@ms2.inr.ac.ru> 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?
Henner
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |