Print this page
NEX-4083 Upstream changes from illumos 5917 and 5995
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
SMB-50 User-mode SMB server
Includes work by these authors:
Thomas Keiser <thomas.keiser@nexenta.com>
Albert Lee <trisk@nexenta.com>
re #13613 rb4516 Tunables needs volatile keyword
@@ -25,10 +25,13 @@
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
* Copyright 2016 Nexenta Systems, Inc.
*/
+/*
+ * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
+ */
#ifndef _SYS_SYSTM_H
#define _SYS_SYSTM_H
#include <sys/types.h>
@@ -69,11 +72,11 @@
extern char runout; /* scheduling flag */
extern char wake_sched; /* causes clock to wake swapper on next tick */
extern char wake_sched_sec; /* causes clock to wake swapper after a sec */
extern pgcnt_t maxmem; /* max available memory (pages) */
-extern pgcnt_t physmem; /* physical memory (pages) on this CPU */
+extern volatile pgcnt_t physmem; /* physical memory (pages) on this CPU */
extern pfn_t physmax; /* highest numbered physical page present */
extern pgcnt_t physinstalled; /* physical pages including PROM/boot use */
extern caddr_t s_text; /* start of kernel text segment */
extern caddr_t e_text; /* end of kernel text segment */
@@ -81,11 +84,12 @@
extern caddr_t e_data; /* end of kernel text segment */
extern pgcnt_t availrmem; /* Available resident (not swapable) */
/* memory in pages. */
extern pgcnt_t availrmem_initial; /* initial value of availrmem */
-extern pgcnt_t segspt_minfree; /* low water mark for availrmem in seg_spt */
+extern volatile pgcnt_t segspt_minfree; /* low water mark for availrmem */
+ /* in seg_spt */
extern pgcnt_t freemem; /* Current free memory. */
extern dev_t rootdev; /* device of the root */
extern struct vnode *rootvp; /* vnode of root device */
extern boolean_t root_is_ramdisk; /* root is boot_archive ramdisk */
@@ -92,11 +96,11 @@
extern uint32_t ramdisk_size; /* (KB) set only for sparc netboots */
extern char *volatile panicstr; /* panic string pointer */
extern va_list panicargs; /* panic arguments */
extern volatile int quiesce_active; /* quiesce(9E) is in progress */
-extern int rstchown; /* 1 ==> restrictive chown(2) semantics */
+extern volatile int rstchown; /* 1 ==> restrictive chown(2) semantics */
extern int klustsize;
extern int abort_enable; /* Platform input-device abort policy */
extern int audit_active; /* Solaris Auditing module state */
@@ -103,11 +107,11 @@
extern int avenrun[]; /* array of load averages */
extern char *isa_list; /* For sysinfo's isalist option */
-extern int noexec_user_stack; /* patchable via /etc/system */
+extern volatile int noexec_user_stack; /* patchable via /etc/system */
extern int noexec_user_stack_log; /* patchable via /etc/system */
/*
* Use NFS client operations in the global zone only. Under contract with
* admin/install; do not change without coordinating with that consolidation.
@@ -306,12 +310,12 @@
extern void uniqtime32(struct timeval32 *);
uint_t page_num_pagesizes(void);
size_t page_get_pagesize(uint_t n);
-extern int maxusers;
-extern int pidmax;
+extern volatile int maxusers;
+extern volatile int pidmax;
extern void param_preset(void);
extern void param_calc(int);
extern void param_init(void);
extern void param_check(void);