Print this page
OS-3088 need a lighterweight page invalidation mechanism for zone memcap
        
*** 19,28 ****
--- 19,29 ----
   * CDDL HEADER END
   */
  /*
   * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
   * Use is subject to license terms.
+  * Copyright 2014 Joyent, Inc.  All rights reserved.
   */
  
  /*
   * Implement fast getrusage call
   */
*** 255,263 ****
--- 256,277 ----
          case _RUSAGESYS_GETRUSAGE_LWP:
                  return (getrusage_lwp(arg1));
          case _RUSAGESYS_GETVMUSAGE:
                  return (vm_getusage((uint_t)(uintptr_t)arg1, (time_t)arg2,
                      (vmusage_t *)arg3, (size_t *)arg4, 0));
+         case _RUSAGESYS_INVALMAP:
+                 /*
+                  * SPARC sfmmu hat does not support HAT_CURPROC_PGUNLOAD
+                  * handling so callers on SPARC should get simple sync
+                  * handling with invalidation to all processes.
+                  */
+ #if defined(__sparc)
+                 return (memcntl((caddr_t)arg2, (size_t)arg3, MC_SYNC,
+                     (caddr_t)(MS_ASYNC | MS_INVALIDATE), 0, 0));
+ #else
+                 return (vm_map_inval((pid_t)(uintptr_t)arg1, (caddr_t)arg2,
+                     (size_t)arg3));
+ #endif
          default:
                  return (set_errno(EINVAL));
          }
  }