| version 1.207, 2012/01/25 00:28:36 |
version 1.208, 2012/01/27 19:48:40 |
| Line 136 EVCNT_ATTACH_STATIC(sosend_kvalimit); |
|
| Line 136 EVCNT_ATTACH_STATIC(sosend_kvalimit); |
|
| |
|
| #endif /* SOSEND_COUNTERS */ |
#endif /* SOSEND_COUNTERS */ |
| |
|
| static struct callback_entry sokva_reclaimerentry; |
|
| |
|
| #if defined(SOSEND_NO_LOAN) || defined(MULTIPROCESSOR) |
#if defined(SOSEND_NO_LOAN) || defined(MULTIPROCESSOR) |
| int sock_loan_thresh = -1; |
int sock_loan_thresh = -1; |
| #else |
#else |
| Line 384 sosend_loan(struct socket *so, struct ui |
|
| Line 382 sosend_loan(struct socket *so, struct ui |
|
| return (space); |
return (space); |
| } |
} |
| |
|
| static int |
|
| sokva_reclaim_callback(struct callback_entry *ce, void *obj, void *arg) |
|
| { |
|
| |
|
| KASSERT(ce == &sokva_reclaimerentry); |
|
| KASSERT(obj == NULL); |
|
| |
|
| if (!vm_map_starved_p(kernel_map)) { |
|
| return CALLBACK_CHAIN_ABORT; |
|
| } |
|
| return CALLBACK_CHAIN_CONTINUE; |
|
| } |
|
| |
|
| struct mbuf * |
struct mbuf * |
| getsombuf(struct socket *so, int type) |
getsombuf(struct socket *so, int type) |
| { |
{ |
|
|
| if (sb_max_set(sb_max)) |
if (sb_max_set(sb_max)) |
| panic("bad initial sb_max value: %lu", sb_max); |
panic("bad initial sb_max value: %lu", sb_max); |
| |
|
| callback_register(&vm_map_to_kernel(kernel_map)->vmk_reclaim_callback, |
|
| &sokva_reclaimerentry, NULL, sokva_reclaim_callback); |
|
| |
|
| socket_listener = kauth_listen_scope(KAUTH_SCOPE_NETWORK, |
socket_listener = kauth_listen_scope(KAUTH_SCOPE_NETWORK, |
| socket_listener_cb, NULL); |
socket_listener_cb, NULL); |
| } |
} |