Print this page
5513 KM_NORMALPRI should be documented in kmem_alloc(9f) and kmem_cache_create(9f) man pages
14465 Present KM_NOSLEEP_LAZY as documented interface
Change-Id: I002ec28ddf390650f1fcba1ca94f6abfdb241439
        
*** 97,109 ****
                                       available.
  
  
                        KM_NOSLEEP
                                       Return NULL immediately if memory is not
!                                      available.
  
  
                        KM_PUSHPAGE
                                       Allow the allocation to use reserved
                                       memory.
  
  
--- 97,123 ----
                                       available.
  
  
                        KM_NOSLEEP
                                       Return NULL immediately if memory is not
!                                      available, but after an aggressive
!                                      reclaiming attempt.  Any mention of
!                                      KM_NOSLEEP without mentioning
!                                      KM_NOSLEEP_LAZY (see below) applies to
!                                      both values.
  
  
+                       KM_NOSLEEP_LAZY
+                                      Return NULL immediately if memory is not
+                                      available, without the aggressive
+                                      reclaiming attempt.  This is actually two
+                                      flags combined: (KM_NOSLEEP |
+                                      KM_NORMALPRI), the latter flag indicating
+                                      not to attempt reclamation before giving
+                                      up and returning NULL.
+ 
+ 
                        KM_PUSHPAGE
                                       Allow the allocation to use reserved
                                       memory.
  
  
*** 515,527 ****
           object_cache = kmem_cache_create(...);
           kmem_cache_set_move(object_cache, object_move);
  
  
  RETURN VALUES
!        If successful, the constructor function must return 0. If KM_NOSLEEP is
!        set and memory cannot be allocated without sleeping, the constructor
!        must return -1.
  
  
         kmem_cache_create() returns a pointer to the allocated cache.
  
  
--- 529,543 ----
           object_cache = kmem_cache_create(...);
           kmem_cache_set_move(object_cache, object_move);
  
  
  RETURN VALUES
!        If successful, the constructor function must return 0. If KM_NOSLEEP or
!        KM_NOSLEEP_LAZY is set and memory cannot be allocated without sleeping,
!        the constructor must return -1.  If the constructor takes extraordinary
!        steps during a KM_NOSLEEP construction, it may not take those for a
!        KM_NOSLEEP_LAZY construction.
  
  
         kmem_cache_create() returns a pointer to the allocated cache.