mirror of
https://github.com/opnsense/src.git
synced 2026-02-15 08:38:13 -05:00
Previously, sorele() always required the socket lock and dropped the lock if the released reference was not the last reference. Many callers locked the socket lock just before calling sorele() resulting in a wasted lock/unlock when not dropping the last reference. Move the previous implementation of sorele() into a new sorele_locked() function and use it instead of sorele() for various places in uipc_socket.c that called sorele() while already holding the socket lock. The sorele() macro now uses refcount_release_if_not_last() try to drop the socket reference without locking the socket. If that shortcut fails, it locks the socket and calls sorele_locked(). Reviewed by: kib, markj Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D32741 |
||
|---|---|---|
| .. | ||
| t4_connect.c | ||
| t4_cpl_io.c | ||
| t4_ddp.c | ||
| t4_listen.c | ||
| t4_tls.c | ||
| t4_tls.h | ||
| t4_tom.c | ||
| t4_tom.h | ||
| t4_tom_l2t.c | ||
| t4_tom_l2t.h | ||