__read_mostly
__read_mostly int da_retry_count = DA_DEFAULT_RETRY;
__read_mostly int da_default_timeout = DA_DEFAULT_TIMEOUT;
__read_mostly static int da_balance_enable = 1;
__read_mostly static int da_balance_ratio = 100; /* read-to-write */
__read_mostly static int da_balance_debug = 0;
__read_mostly static int nvme_sync_delay = 0;
static int dp_aux_i2c_speed_khz __read_mostly = 10;
static int dp_aux_i2c_transfer_size __read_mostly = DP_AUX_MAX_PAYLOAD_BYTES;
static int edid_fixup __read_mostly = 6;
struct i915_params i915_modparams __read_mostly = {
extern struct i915_params i915_modparams __read_mostly;
static bool __print_once __read_mostly; \
#ifndef __read_mostly
const struct nvmm_impl *nvmm_impl __read_mostly = NULL;
static uint8_t *svm_asidmap __read_mostly;
static uint32_t svm_maxasid __read_mostly;
static bool svm_decode_assist __read_mostly;
static uint32_t svm_ctrl_tlb_flush __read_mostly;
static uint64_t svm_xcr0_mask __read_mostly;
static uint32_t svm_cpuid_max_basic __read_mostly;
static uint32_t svm_cpuid_max_extended __read_mostly;
static uint32_t vmx_cpuid_max_basic __read_mostly;
static uint32_t vmx_cpuid_max_extended __read_mostly;
static size_t vmx_msrlist_entry_nmsr __read_mostly = VMX_MSRLIST_EXIT_NMSR;
static uint64_t vmx_tlb_flush_op __read_mostly;
static uint64_t vmx_ept_flush_op __read_mostly;
static uint64_t vmx_eptp_type __read_mostly;
static bool vmx_ept_has_ad __read_mostly;
static bool vmx_cpu_has_arch_cap __read_mostly;
static uint64_t vmx_pinbased_ctls __read_mostly;
static uint64_t vmx_procbased_ctls __read_mostly;
static uint64_t vmx_procbased_ctls2 __read_mostly;
static uint64_t vmx_entry_ctls __read_mostly;
static uint64_t vmx_exit_ctls __read_mostly;
static uint64_t vmx_cr0_fixed0 __read_mostly;
static uint64_t vmx_cr0_fixed1 __read_mostly;
static uint64_t vmx_cr4_fixed0 __read_mostly;
static uint64_t vmx_cr4_fixed1 __read_mostly;
static uint8_t *vmx_asidmap __read_mostly;
static uint32_t vmx_maxasid __read_mostly;
static uint64_t vmx_xcr0_mask __read_mostly;
__read_mostly static int caps_available = 1;
__read_mostly static int sniff_enable = 1;
__read_mostly static int sniff_target = -1;
__read_mostly static int clock_debug2 = 0;
__read_mostly long pseudo_ticks = 1; /* existential timed locks */
__read_mostly struct timespec boottime; /* boot time (realtime) for ref only */
__read_mostly struct timespec ticktime0;/* updated every tick */
__read_mostly struct timespec ticktime2;/* updated every tick */
__read_mostly int ticktime_update;
__read_mostly time_t time_second; /* read-only 'passive' rt in seconds */
__read_mostly time_t time_uptime; /* read-only 'passive' ut in seconds */
__read_mostly sbintime_t sbticks; /* system master ticks at hz (64bit) */
__read_mostly int ticks; /* system master ticks at hz */
__read_mostly int sched_ticks; /* global schedule clock ticks */
__read_mostly int clocks_running; /* tsleep/timeout clocks operational */
__read_mostly int ps_argsopen = 1;
__read_mostly static int ktrace_suid = 0;
__read_mostly static int debug_execve_args = 0;
__read_mostly static struct objcache *exec_objcache;
__read_mostly static int stackgap_random = 1024;
__read_mostly static const struct execsw **execsw;
__read_mostly static u_long ps_strings = PS_STRINGS;
__read_mostly static u_long usrstack = USRSTACK;
__read_mostly u_long ps_arg_cache_limit = PAGE_SIZE / 16;
__read_mostly static struct in6_addr sin6_localhost = IN6ADDR_LOOPBACK_INIT;
__read_mostly static prison_cap_t prison_default_caps;
__read_mostly static int prison_debug;
__read_mostly int dumping; /* system is dumping */
__read_mostly int bootverbose = 0; /* note: assignment to force non-bss */
__read_mostly sigset_t sigcantmask_mask;
__read_mostly
__read_mostly static int pctcpu_decay = 10;
__read_mostly int fscale __unused = FSCALE; /* exported to systat */
__read_mostly static uint32_t slpque_tablesize;
__read_mostly static cpumask_t *slpque_cpumasks;
__read_mostly int tsleep_crypto_dump = 0;
__read_mostly int ncpus;
__read_mostly int ncpus_fit, ncpus_fit_mask; /* note: mask not cpumask_t */
__read_mostly int safepri;
__read_mostly int tsleep_now_works;
__read_mostly static struct objcache *thread_cache;
__read_mostly static u_int lwkt_spin_loops = 10;
__read_mostly static int preempt_enable = 1;
__read_mostly static struct filterops pipe_rfiltops =
__read_mostly static struct filterops pipe_wfiltops =
__read_mostly static int pipe_maxcache = PIPEQ_MAX_CACHE;
__read_mostly static struct pipegdlock *pipe_gdlocks;
__read_mostly static int pipe_size = 32768;
__read_mostly static int pipe_delay = 4000; /* 4uS default */
__read_mostly static struct fileops pipeops = {
__read_mostly static int usched_dfly_smt = 0;
__read_mostly static int usched_dfly_cache_coherent = 0;
__read_mostly static int usched_dfly_weight1 = 30; /* keep thread on cpu */
__read_mostly static int usched_dfly_weight2 = 180; /* IPC locality */
__read_mostly static int usched_dfly_weight3 = 10; /* threads on queue */
__read_mostly static int usched_dfly_weight4 = 120; /* availability of cores */
__read_mostly static int usched_dfly_weight5 = 50; /* node attached memory */
__read_mostly static int usched_dfly_weight6 = 0; /* 0x04 transfer weight */
__read_mostly static int usched_dfly_weight7 = -100;/* 0x01 transfer weight */
__read_mostly static int usched_dfly_features = 0x2f; /* allow pulls */
__read_mostly static int usched_dfly_fast_resched = PPQ / 2; /* delta pri */
__read_mostly static int usched_dfly_swmask = ~PPQMASK; /* allow pulls */
__read_mostly static int usched_dfly_rrinterval = (ESTCPUFREQ + 9) / 10;
__read_mostly static int usched_dfly_decay = 8;
__read_mostly static int usched_dfly_ipc_smt = -1; /* IPC auto smt pair */
__read_mostly static int usched_dfly_ipc_same = -1; /* IPC auto same log cpu */
__read_mostly static int usched_dfly_poll_ticks = 1; /* helper polling ticks */
__read_mostly static long usched_dfly_node_mem;
__read_mostly static struct nchash_head *nchashtbl;
__read_mostly static struct pcpu_ncache *pcpu_ncache;
__read_mostly int ncvp_debug;
__read_mostly static u_long nchash; /* size of hash table */
__read_mostly static int ncnegflush = 10; /* burst for negative flush */
__read_mostly static int ncposflush = 10; /* burst for positive flush */
__read_mostly static int ncnegfactor = 16; /* ratio of negative entries */
__read_mostly static int ncposfactor = 16; /* ratio of unres+leaf entries */
__read_mostly static int nclockwarn; /* warn on locked entries in ticks */
__read_mostly static int ncposlimit; /* number of cache entries allocated */
__read_mostly static int ncp_shared_lock_disable = 0;
__read_mostly static int ncmount_cache_enable = 1;
__read_mostly static int disablecwd;
__read_mostly static int disablefullpath;
__read_mostly static int nlookup_max_retries = 4;
__read_mostly static int nlookup_debug;
__read_mostly int vttoif_tab[9] = {
__read_mostly static int check_buf_overlap = 2; /* invasive check */
__read_mostly int maxvnodes;
__read_mostly int prtactive = 0; /* 1 => print out reclaim of active vnodes */
__read_mostly static int timestamp_precision = -1;
__read_mostly int numvnodes;
__read_mostly int verbose_reclaims;
__read_mostly enum vtype iftovt_tab[16] = {
__read_mostly int rsvp_on = 0;
__read_mostly static int ip_rsvp_on;
__read_mostly int ipforwarding = 0;
__read_mostly static int ipsendredirects = 1; /* XXX */
__read_mostly int ip_defttl = IPDEFTTL;
__read_mostly static int ip_dosourceroute = 0;
__read_mostly static int ip_acceptsourceroute = 0;
__read_mostly static int maxnipq;
__read_mostly static int maxfragsperpacket;
__read_mostly static int ip_sendsourcequench = 0;
__read_mostly int ip_do_randomid = 1;
__read_mostly static int ip_checkinterface = 0;
__read_mostly u_long in_ifaddrhmask; /* mask for hash table */
__read_mostly static int cpu_mwait_halt_global;
__read_mostly static int clock_debug1;
__read_mostly static int flame_poll_debug;
__read_mostly static uint32_t cpu_mwait_inhibit_deep_sleep = 0;
__read_mostly static cpumask_t smp_startup_mask = CPUMASK_INITIALIZER_ONLYONE;
__read_mostly static cpumask_t smp_lapic_mask = CPUMASK_INITIALIZER_ONLYONE;
__read_mostly cpumask_t smp_active_mask = CPUMASK_INITIALIZER_ONLYONE;
__read_mostly cpumask_t smp_finalize_mask = CPUMASK_INITIALIZER_ONLYONE;
__read_mostly static u_int report_invlpg_src;
__read_mostly static u_int report_invltlb_src;
__read_mostly static int optimized_invltlb;
__read_mostly static int all_but_self_ipi_enable = 1;
__read_mostly static int invlpg_timeout = INVLPG_TIMEOUT_DEFAULT;
__read_mostly uint32_t npx_mxcsr_mask = 0xFFBF; /* this is the default */
__read_mostly uint64_t npx_xcr0_mask = 0;
__read_mostly static vm_zone_t pvzone;
__read_mostly static int pmap_pagedaemon_waken = 0;
__read_mostly static int freeze_on_seg_fault = 0;
__read_mostly static int cpu_idle_hlt = 1;
__read_mostly static LIST_HEAD(nfsnodehashhead, nfsnode) *nfsnodehashtbl;
__read_mostly static u_long nfsnodehash;
__read_mostly static int tmpfs_cluster_rd_enable = 1;
__read_mostly static int tmpfs_cluster_wr_enable = 1;
__read_mostly int tmpfs_bufcache_mode = 0;
extern int tmpfs_bufcache_mode __read_mostly;
__read_mostly vm_zone_t swap_zone;
__read_mostly static int debug_fault = 0;
__read_mostly static int debug_cluster = 0;
__read_mostly int debug_vpagetable = 0;
__read_mostly int vm_shared_fault = 1;
__read_mostly static int vm_fault_bypass_count = 1;
__read_mostly static int vm_prefault_pages = 8;
__read_mostly static int vm_fast_fault = 1;
__read_mostly static vm_zone_t mapentzone;
__read_mostly static int randomize_mmap;
__read_mostly static int vm_map_relock_enable = 1;
__read_mostly static int vm_map_partition_enable = 1;
__read_mostly static int vm_map_backing_limit = 5;
__read_mostly static int vm_map_backing_shadow_test = 1;
__read_mostly static int set_assoc_mask = 16 - 1;
__read_mostly static int vm_page_hash_vnode_only;
__read_mostly static int vm_page_hash_size;
__read_mostly static struct vm_page_hash_elm *vm_page_hash;
__read_mostly int vm_pages_needed = 0; /* pageout daemon tsleep event */
__read_mostly int vm_pageout_deficit = 0;/* Estimated number of pages deficit */
__read_mostly int vm_pageout_pages_needed = 0;/* pageout daemon needs pages */
__read_mostly int vm_page_free_hysteresis = 16;
__read_mostly static time_t vm_pagedaemon_uptime;
__read_mostly static int vm_queue_idle_perc = 20;
__read_mostly static int vm_max_launder = 0;
__read_mostly static int vm_emerg_launder = 100;
__read_mostly static int vm_pageout_stats_actcmp = 0;
__read_mostly static int vm_pageout_stats_inamin = 16;
__read_mostly static int vm_pageout_stats_inalim = 4096;
__read_mostly static int vm_pageout_stats_scan = 0;
__read_mostly static int vm_pageout_stats_ticks = 0;
__read_mostly static int vm_pageout_algorithm = 0;
__read_mostly static int defer_swap_pageouts = 0;
__read_mostly static int disable_swap_pageouts = 0;
__read_mostly static u_int vm_anonmem_decline = ACT_DECLINE;
__read_mostly static u_int vm_filemem_decline = ACT_DECLINE * 2;
__read_mostly static int vm_pageout_debug;
__read_mostly static long vm_pageout_stats_rsecs = 300;
__read_mostly static int vm_swap_enabled=0;
__read_mostly static int vm_swap_enabled=1;
__read_mostly int vm_pageout_memuse_mode=2;
__read_mostly int vm_pageout_allow_active=1;