Re: Boot flags
Re: Boot flags
- Subject: Re: Boot flags
- From: Paul Nelson <email@hidden>
- Date: Thu, 07 Apr 2011 13:37:51 -0500
Don't think the srv flag is documented there though. Unfortunately, this flag sets the global "srv" which is an unfortunate name for searching on...
places to look at:
paul2:xnu-1504.9.37 nelson$ grep -wrI srv .
// affects the mbuf_poolsz
./bsd/dev/unix_startup.c:int srv = 0; /* Flag indicates a server boot when set */
./bsd/dev/unix_startup.c: //(void) PE_parse_boot_argn("srv", &srv, sizeof (srv));
./bsd/dev/unix_startup.c: if (ncl || srv)
./bsd/dev/unix_startup.c: nmbclusters = mbuf_default_ncl(srv, sane_size);
./bsd/kern/bsd_init.c:extern int srv;
// tunes the mbuf pool size for 64 bit kernels according to these tables:
#if defined(__LP64__)
typedef struct ncl_tbl {
uint64_t nt_maxmem; /* memory (sane) size */
uint32_t nt_mbpool; /* mbuf pool size */
} ncl_tbl_t;
/* Non-server */
static ncl_tbl_t ncl_table[] = {
{ (1ULL << GBSHIFT) /* 1 GB */, (64 << MBSHIFT) /* 64 MB */ },
{ (1ULL << (GBSHIFT + 3)) /* 8 GB */, (96 << MBSHIFT) /* 96 MB */ },
{ (1ULL << (GBSHIFT + 4)) /* 16 GB */, (128 << MBSHIFT) /* 128 MB */ },
{ 0, 0 }
};
/* Server */
static ncl_tbl_t ncl_table_srv[] = {
{ (1ULL << GBSHIFT) /* 1 GB */, (96 << MBSHIFT) /* 96 MB */ },
{ (1ULL << (GBSHIFT + 2)) /* 4 GB */, (128 << MBSHIFT) /* 128 MB */ },
{ (1ULL << (GBSHIFT + 3)) /* 8 GB */, (160 << MBSHIFT) /* 160 MB */ },
{ (1ULL << (GBSHIFT + 4)) /* 16 GB */, (192 << MBSHIFT) /* 192 MB */ },
{ (1ULL << (GBSHIFT + 5)) /* 32 GB */, (256 << MBSHIFT) /* 256 MB */ },
{ (1ULL << (GBSHIFT + 6)) /* 64 GB */, (384 << MBSHIFT) /* 384 MB */ },
{ 0, 0 }
};
#endif /* __LP64__ */
./bsd/kern/uipc_mbuf.c:mbuf_default_ncl(int srv, uint64_t mem)
./bsd/kern/uipc_mbuf.c:#pragma unused(srv)
./bsd/kern/uipc_mbuf.c: ncl_tbl_t *tbl = (srv ? ncl_table_srv : ncl_table);
// tunes task_max, task_threadmax, thread_max for 64 bit machines with more than 16G ram
./osfmk/kern/startup.c:extern int srv;
./osfmk/kern/startup.c: if (PE_parse_boot_argn("srv", &srv, sizeof (srv))) {
./osfmk/kern/startup.c: srv = 1;
./osfmk/kern/startup.c: if ((srv != 0) && ((uint64_t)sane_size >= (uint64_t)(16 * 1024 * 1024 *1024ULL))) {
On Apr 7, 2011, at 1:15 PM, Justin C. Walker wrote:
>
> On Apr 7, 2011, at 10:58 , Shantonu Sen wrote:
>
>> There's a com.apple.Boot.plist(5) man page.
>
> A man page?? Whoda thunk?
>
>> You'd have to read the source code. grep for PE_parse and then srv.
>
> Cool. I can do that.
>
> Thanks!!
>
> Justin
>
> --
> Justin C. Walker, Curmudgeon at Large
> Director
> Institute for the Enhancement of the Director's Income
> -----------
> Nobody knows the trouble I've been
> -----------
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Darwin-kernel mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden