version 1.164, 2008/05/01 09:21:56 |
version 1.164.2.1, 2008/06/23 04:31:52 |
Line 69 __KERNEL_RCSID(0, "$NetBSD$"); |
|
Line 69 __KERNEL_RCSID(0, "$NetBSD$"); |
|
#include "opt_sosend_loan.h" |
#include "opt_sosend_loan.h" |
#include "opt_mbuftrace.h" |
#include "opt_mbuftrace.h" |
#include "opt_somaxkva.h" |
#include "opt_somaxkva.h" |
|
#include "opt_multiprocessor.h" /* XXX */ |
|
|
#include <sys/param.h> |
#include <sys/param.h> |
#include <sys/systm.h> |
#include <sys/systm.h> |
Line 127 EVCNT_ATTACH_STATIC(sosend_kvalimit); |
|
Line 128 EVCNT_ATTACH_STATIC(sosend_kvalimit); |
|
|
|
static struct callback_entry sokva_reclaimerentry; |
static struct callback_entry sokva_reclaimerentry; |
|
|
#ifdef SOSEND_NO_LOAN |
#if defined(SOSEND_NO_LOAN) || defined(MULTIPROCESSOR) |
int sock_loan_thresh = -1; |
int sock_loan_thresh = -1; |
#else |
#else |
int sock_loan_thresh = 4096; |
int sock_loan_thresh = 4096; |
|
|
mutex_init(&so_pendfree_lock, MUTEX_DEFAULT, IPL_VM); |
mutex_init(&so_pendfree_lock, MUTEX_DEFAULT, IPL_VM); |
softnet_lock = mutex_obj_alloc(MUTEX_DEFAULT, IPL_NONE); |
softnet_lock = mutex_obj_alloc(MUTEX_DEFAULT, IPL_NONE); |
cv_init(&socurkva_cv, "sokva"); |
cv_init(&socurkva_cv, "sokva"); |
|
soinit2(); |
|
|
/* Set the initial adjusted socket buffer size. */ |
/* Set the initial adjusted socket buffer size. */ |
if (sb_max_set(sb_max)) |
if (sb_max_set(sb_max)) |
Line 498 socreate(int dom, struct socket **aso, i |
|
Line 500 socreate(int dom, struct socket **aso, i |
|
#endif |
#endif |
uid = kauth_cred_geteuid(l->l_cred); |
uid = kauth_cred_geteuid(l->l_cred); |
so->so_uidinfo = uid_find(uid); |
so->so_uidinfo = uid_find(uid); |
|
so->so_egid = kauth_cred_getegid(l->l_cred); |
|
so->so_cpid = l->l_proc->p_pid; |
if (lockso != NULL) { |
if (lockso != NULL) { |
/* Caller wants us to share a lock. */ |
/* Caller wants us to share a lock. */ |
lock = lockso->so_lock; |
lock = lockso->so_lock; |
Line 850 sosend(struct socket *so, struct mbuf *a |
|
Line 854 sosend(struct socket *so, struct mbuf *a |
|
dontroute = |
dontroute = |
(flags & MSG_DONTROUTE) && (so->so_options & SO_DONTROUTE) == 0 && |
(flags & MSG_DONTROUTE) && (so->so_options & SO_DONTROUTE) == 0 && |
(so->so_proto->pr_flags & PR_ATOMIC); |
(so->so_proto->pr_flags & PR_ATOMIC); |
if (l) |
l->l_ru.ru_msgsnd++; |
l->l_ru.ru_msgsnd++; |
|
if (control) |
if (control) |
clen = control->m_len; |
clen = control->m_len; |
restart: |
restart: |