Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

NetBSD master CVS tree commits



thorpej
Sat Nov  9 21:58:38 PST 1996
Update of /cvsroot/src/sys/kern
In directory netbsd1:/var/slash-tmp/cvs-serv3073

Modified Files:
        uipc_socket2.c 
Log Message:
Optimization of soqinsque() and soqremque():

Keep queue of pending sockets in a double linked list.  Previously,
a singly linked list was used, giving O(N) insertion/deletion times,
and was a major time consumer for sockets with large pending queues.
The double linked list give O(C) insertion/deletion times with only
a small cost in complexity.

Since a socket can be on, at most, one queue at a time, both so_q and
so_q0 can safely be used as (forward and backward, respectively) queue
pointers.

Submitted my Matt Thomas <matt%3am-software.com@localhost>, a long time ago.
(Geez, I've been running with this patch for _months_, and had completely
forgotten about it!)




Home | Main Index | Thread Index | Old Index