Print this page
code review from Josh and Robert

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man9f/vmem_create.9f.man.txt
          +++ new/usr/src/man/man9f/vmem_create.9f.man.txt
↓ open down ↓ 24 lines elided ↑ open up ↑
  25   25       vmem_destroy(vmem_t *vmp);
  26   26  
  27   27  INTERFACE LEVEL
  28   28       illumos DDI specific
  29   29  
  30   30  PARAMETERS
  31   31       name    A character string giving a name to the vmem arena to be created.
  32   32  
  33   33       base    An address indicating the lowest possible value in the arena.
  34   34  
  35      -     size    The size of the arena to create
       35 +     size    The size of the arena to create.
  36   36  
  37   37       quantum
  38   38               The arena's ``quantum''.  The granularity of the arena.  The
  39      -             amount allocated at minimum by each request.
       39 +             amount allocated at minimum by each request.  Must be a power of
       40 +             2.
  40   41  
  41      -     afunc   A function which is called to import new spans from source.
  42      -             Which may be NULL if this arena does not import from another.
       42 +     afunc   A function which is called to import new spans from source, which
       43 +             may be NULL if this arena does not import from another.  When
       44 +             calling vmem_create() afunc is an vmem_alloc_t a function taking
       45 +             three parameters and returning a pointer to void (the imported
       46 +             space):
  43   47  
  44      -     ffunc   A function which is called to return spans to source.  Which may
  45      -             be NULL if this arena does not import from another.
       48 +             vmem_t *
       49 +                     The source arena from which we'll import.  The source
       50 +                     argument to vmem_create().
  46   51  
  47      -     source  An arena from which this arena will import.  Which may be NULL if
       52 +             size_t  The size to import
       53 +
       54 +             int     The vmflag argument used for the import.
       55 +
       56 +             When calling vmem_xcreate() afunc is an vmem_ximport_t a function
       57 +             taking four parameters and returning a pointer to void (the
       58 +             imported space):
       59 +
       60 +             vmem_t *
       61 +                     The source arena from which we'll import.  The source
       62 +                     argument to vmem_xcreate().
       63 +
       64 +             size_t *
       65 +                     The size of the import, afunc may increase this size if
       66 +                     that is desirable, but must never decrease it.
       67 +
       68 +             size_t  The desired alignment of the imported space.
       69 +
       70 +             int     the vmflag argument used for the import.
       71 +
       72 +     ffunc   A function which is called to return spans to source, which may
       73 +             be NULL if this arena does not import from another.  This is a
       74 +             vmem_free_t a function taking three parametes and returning void:
       75 +
       76 +             vmem_t  The arena to which space is being returned.  The source
       77 +                     argument to vmem_create() or vmem_xcreate().
       78 +
       79 +             void *  The span being returned to the source arena.
       80 +
       81 +             size_t  The size of the span being returned to the source arena.
       82 +
       83 +     source  An arena from which this arena will import, which may be NULL if
  48   84               this arena does not import from another.
  49   85  
  50   86       qcache_max
  51   87               Each arena offers caching of integer multiples of quantum up to
  52      -             qcache_max.
       88 +             qcache_max, which may be 0.
  53   89  
  54   90       vmflag  A bitmask of flags indicating the characteristics of this arena.
  55   91  
  56   92               VMC_IDENTIFIER
  57   93                       The arena represents arbitrary integer identifiers,
  58   94                       rather than virtual memory.
  59   95  
  60   96       vmp     A pointer to the vmem arena to be destroyed.
  61   97  
  62   98  DESCRIPTION
  63   99       A vmem arena is a section of an arbitrary address space (a range of
  64  100       integer addresses).  This commonly represents virtual memory, but can in
  65  101       fact be an arbitrary set of integers. The VMC_IDENTIFIER flag set at
  66  102       arena creation time differentiates between these two cases.
  67  103  
  68  104       The afunc, ffunc, and source arguments combine to support a hierarchical
  69  105       structure of arenas, each importing from a single parent (the source).
  70  106       The vmem_create() and vmem_xcreate() functions differ in that the latter
  71  107       provides an interface for afunc to alter the size of the span imported
  72      -     from source.  It is only legal to increase thise size.
      108 +     from source.  It is only legal to increase this size.
  73  109  
  74  110  CONTEXT
  75  111       These functions can be called from user or kernel context.
  76  112  
  77  113  RETURN VALUES
  78      -     Upon successful completion the vmem_create(and) vmem_xcreate() functions
      114 +     Upon successful completion the vmem_create() and vmem_xcreate() functions
  79  115       return a pointer to a vmem arena.  Otherwise, NULL is returned to
  80  116       indicate the arena could not be created.
  81  117  
  82  118  SEE ALSO
  83  119       vmem(9), vmem_add(9F), vmem_alloc(9F)
  84  120  
  85  121  illumos                        January 18, 2017                        illumos
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX