| version 1.120, 2006/06/13 21:19:56 |
version 1.121, 2006/06/21 12:55:12 |
| Line 130 EVCNT_ATTACH_STATIC(sosend_kvalimit); |
|
| Line 130 EVCNT_ATTACH_STATIC(sosend_kvalimit); |
|
| static struct callback_entry sokva_reclaimerentry; |
static struct callback_entry sokva_reclaimerentry; |
| |
|
| #ifdef SOSEND_NO_LOAN |
#ifdef SOSEND_NO_LOAN |
| int use_sosend_loan = 0; |
int sock_loan_thresh = -1; |
| #else |
#else |
| int use_sosend_loan = 1; |
int sock_loan_thresh = 4096; |
| #endif |
#endif |
| |
|
| static struct simplelock so_pendfree_slock = SIMPLELOCK_INITIALIZER; |
static struct simplelock so_pendfree_slock = SIMPLELOCK_INITIALIZER; |
| Line 145 int somaxkva = SOMAXKVA; |
|
| Line 145 int somaxkva = SOMAXKVA; |
|
| static int socurkva; |
static int socurkva; |
| static int sokvawaiters; |
static int sokvawaiters; |
| |
|
| #define SOCK_LOAN_THRESH 4096 |
|
| #define SOCK_LOAN_CHUNK 65536 |
#define SOCK_LOAN_CHUNK 65536 |
| |
|
| static size_t sodopendfree(void); |
static size_t sodopendfree(void); |
| Line 853 sosend(struct socket *so, struct mbuf *a |
|
| Line 852 sosend(struct socket *so, struct mbuf *a |
|
| mlen = MLEN; |
mlen = MLEN; |
| } |
} |
| MCLAIM(m, so->so_snd.sb_mowner); |
MCLAIM(m, so->so_snd.sb_mowner); |
| if (use_sosend_loan && |
if (sock_loan_thresh >= 0 && |
| uio->uio_iov->iov_len >= SOCK_LOAN_THRESH && |
uio->uio_iov->iov_len >= sock_loan_thresh && |
| space >= SOCK_LOAN_THRESH && |
space >= sock_loan_thresh && |
| (len = sosend_loan(so, uio, m, |
(len = sosend_loan(so, uio, m, |
| space)) != 0) { |
space)) != 0) { |
| SOSEND_COUNTER_INCR(&sosend_loan_big); |
SOSEND_COUNTER_INCR(&sosend_loan_big); |