X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/0a7de7458d150b5d4dffc935ba399be265ef0a1a..refs/heads/master:/bsd/dev/unix_startup.c?ds=sidebyside diff --git a/bsd/dev/unix_startup.c b/bsd/dev/unix_startup.c index 439eb25f9..474da06aa 100644 --- a/bsd/dev/unix_startup.c +++ b/bsd/dev/unix_startup.c @@ -34,6 +34,7 @@ #include +#include #include #include @@ -41,7 +42,6 @@ #include #include #include -#include #include #include #include @@ -57,7 +57,7 @@ extern uint32_t kern_maxvnodes; extern vm_map_t mb_map; -#if INET || INET6 +#if INET extern uint32_t tcp_sendspace; extern uint32_t tcp_recvspace; #endif @@ -88,9 +88,11 @@ SYSCTL_INT(_kern, OID_AUTO, nbuf, CTLFLAG_RD | CTLFLAG_LOCKED, &nbuf_headers, 0, SYSCTL_INT(_kern, OID_AUTO, maxnbuf, CTLFLAG_RW | CTLFLAG_LOCKED | CTLFLAG_KERN, &max_nbuf_headers, 0, ""); __private_extern__ int customnbuf = 0; -int serverperfmode = 0; /* Flag indicates a server boot when set */ int ncl = 0; +/* Indicates a server boot when set */ +TUNABLE(int, serverperfmode, "serverperfmode", 0); + #if SOCKETS static unsigned int mbuf_poolsz; #endif @@ -110,9 +112,9 @@ bsd_startupearly(void) /* clip the number of buf headers upto 16k */ if (max_nbuf_headers == 0) { - max_nbuf_headers = atop_kernel(sane_size / 50); /* Get 2% of ram, but no more than we can map */ + max_nbuf_headers = (int)atop_kernel(sane_size / 50); /* Get 2% of ram, but no more than we can map */ } - if ((customnbuf == 0) && (max_nbuf_headers > 16384)) { + if ((customnbuf == 0) && ((unsigned int)max_nbuf_headers > 16384)) { max_nbuf_headers = 16384; } if (max_nbuf_headers < CONFIG_MIN_NBUF) { @@ -121,8 +123,8 @@ bsd_startupearly(void) /* clip the number of hash elements to 200000 */ if ((customnbuf == 0) && nbuf_hashelements == 0) { - nbuf_hashelements = atop_kernel(sane_size / 50); - if (nbuf_hashelements > 200000) { + nbuf_hashelements = (int)atop_kernel(sane_size / 50); + if ((unsigned int)nbuf_hashelements > 200000) { nbuf_hashelements = 200000; } } else { @@ -177,7 +179,7 @@ bsd_startupearly(void) nmbclusters = bsd_mbuf_cluster_reserve(NULL) / MCLBYTES; -#if INET || INET6 +#if INET if ((scale = nmbclusters / NMBCLUSTERS) > 1) { tcp_sendspace *= scale; tcp_recvspace *= scale; @@ -189,7 +191,7 @@ bsd_startupearly(void) tcp_recvspace = maxspace; } } -#endif /* INET || INET6 */ +#endif /* INET */ } #endif /* SOCKETS */ @@ -204,7 +206,7 @@ bsd_startupearly(void) * CONFIG_VNODES is set to 263168 for "medium" configurations (the default) * but can be smaller or larger. */ - desiredvnodes = (sane_size / 65536) + 1024; + desiredvnodes = (int)(sane_size / 65536) + 1024; #ifdef CONFIG_VNODES if (desiredvnodes > CONFIG_VNODES) { desiredvnodes = CONFIG_VNODES; @@ -300,7 +302,7 @@ bsd_mbuf_cluster_reserve(boolean_t *overridden) if ((nmbclusters = ncl) == 0) { /* Auto-configure the mbuf pool size */ - nmbclusters = mbuf_default_ncl(serverperfmode, sane_size); + nmbclusters = mbuf_default_ncl(mem_actual); } else { /* Make sure it's not odd in case ncl is manually set */ if (nmbclusters & 0x1) { @@ -314,7 +316,7 @@ bsd_mbuf_cluster_reserve(boolean_t *overridden) } /* Round it down to nearest multiple of PAGE_SIZE */ - nmbclusters = P2ROUNDDOWN(nmbclusters, NCLPG); + nmbclusters = (unsigned int)P2ROUNDDOWN(nmbclusters, NCLPG); } mbuf_poolsz = nmbclusters << MCLSHIFT; done: