Custom system config file

Custom /etc/system file
*ident  "%Z%%M% %I%     %E% SMI" /* SVR4 1.5 */
*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License").  You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* SYSTEM SPECIFICATION FILE
*

* moddir:
*
*       Set the search path for modules.  This has a format similar to the
*       csh path variable. If the module isn't found in the first directory
*       it tries the second and so on. The default is /kernel /usr/kernel
*
*       Example:
*               moddir: /kernel /usr/kernel /other/modules



* root device and root filesystem configuration:
*
*       The following may be used to override the defaults provided by
*       the boot program:
*
*       rootfs:         Set the filesystem type of the root.
*
*       rootdev:        Set the root device.  This should be a fully
*                       expanded physical pathname.  The default is the
*                       physical pathname of the device where the boot
*                       program resides.  The physical pathname is
*                       highly platform and configuration dependent.
*
*       Example:
*               rootfs:ufs
*               rootdev:/sbus@1,f8000000/esp@0,800000/sd@3,0:a
*
*       (Swap device configuration should be specified in /etc/vfstab.)



* exclude:
*
*       Modules appearing in the moddir path which are NOT to be loaded,
*       even if referenced. Note that `exclude' accepts either a module name,
*       or a filename which includes the directory.
*
*       Examples:
*               exclude: win
*               exclude: sys/shmsys



* forceload:
*
*       Cause these modules to be loaded at boot time, (just before mounting
*       the root filesystem) rather than at first reference. Note that
*       forceload expects a filename which includes the directory. Also
*       note that loading a module does not necessarily imply that it will
*       be installed.
*
*       Example:
*               forceload: drv/foo



* set:
*
*       Set an integer variable in the kernel or a module to a new value.
*       This facility should be used with caution.  See system(4).
*
*       Examples:
*
*       To set variables in 'unix':
*
*               set nautopush=32
*               set maxusers=40
*
*       To set a variable named 'debug' in the module named 'test_module'
*
*               set test_module:debug = 0x13

set pcplusmp:apic_panic_on_nmi=1
set apix:apic_panic_on_nmi=1
set dump_plat_mincpu=0
set dump_bzip2_level=1

*
* See OS-1361 for dealing with the timer woes.
*
set pcplusmp:apic_timer_preferred_mode=0
set apix:apic_timer_preferred_mode=0

* for kmem debug uncomment line below
* set kmem_flags=0xf

set zfs:zfs_nocacheflush = 1
* Set zfs arc max ram to 8 GB
* set zfs:zfs_arc_max = 8589934592
* set zfs:zfs_arc_min = 8589934592

* Set zfs arc max ram to 64 GB
set zfs:zfs_arc_max = 68719476736
set zfs:zfs_arc_min = 68719476736

* Set zfs arc max ram to 128 GB
* set zfs:zfs_arc_max = 137438953472
* set zfs:zfs_arc_min = 137438953472

* smartos tune
* disable iSCSI boot
* set ibft_noprobe=1

set noexec_user_stack=1
set noexec_user_stack_log=1
set rlim_fd_cur=65536

* Ensure that c-states are disabled
set idle_cpu_no_deep_c=1

* 10 GbE Tuning
set ip:ip_squeue_fanout=1

*
* The traditional (and essentially entirely brain dead) cfgadm(1M)-centric
* model of hotpluggin' appears to be basically unnecessary.  This tunable
* enables the system to create device nodes for newly inserted devices
* automatically.  See: usr/src/uts/common/io/sata/impl/sata.c:97
*
set sata:sata_auto_online=1

*
* We want to limit the time spent in any one I/O to 10 seconds for targets
* that are not optical.  This is still a very long time; our queue depth is
* typically 10 or less, and disks will usually fail a command after 2-3s.
* So we'd have to have multiple reads of bad sectors queued up to have any
* chance of timing out.  In practice, timeouts occur because of problems with
* disk controllers or firmware, not media errors, and in those cases it will
* not help at all to wait longer.
*
set sd:sd_io_time=10

* Use hires tick to improve some scheduling latency issues
set hires_tick=1