Print this page
6149 use NULL capable segop as a shorthand for no-capabilities

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/vm/seg_spt.c
          +++ new/usr/src/uts/common/vm/seg_spt.c
↓ open down ↓ 134 lines elided ↑ open up ↑
 135  135  static int segspt_shmgettype(struct seg *seg, caddr_t addr);
 136  136  static int segspt_shmgetvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
 137  137  static int segspt_shmadvise(struct seg *seg, caddr_t addr, size_t len,
 138  138                          uint_t behav);
 139  139  static void segspt_shmdump(struct seg *seg);
 140  140  static int segspt_shmpagelock(struct seg *, caddr_t, size_t,
 141  141                          struct page ***, enum lock_type, enum seg_rw);
 142  142  static int segspt_shmsetpgsz(struct seg *, caddr_t, size_t, uint_t);
 143  143  static int segspt_shmgetmemid(struct seg *, caddr_t, memid_t *);
 144  144  static lgrp_mem_policy_info_t *segspt_shmgetpolicy(struct seg *, caddr_t);
 145      -static int segspt_shmcapable(struct seg *, segcapability_t);
 146  145  
 147  146  struct seg_ops segspt_shmops = {
 148  147          .dup            = segspt_shmdup,
 149  148          .unmap          = segspt_shmunmap,
 150  149          .free           = segspt_shmfree,
 151  150          .fault          = segspt_shmfault,
 152  151          .faulta         = segspt_shmfaulta,
 153  152          .setprot        = segspt_shmsetprot,
 154  153          .checkprot      = segspt_shmcheckprot,
 155  154          .kluster        = segspt_shmkluster,
↓ open down ↓ 4 lines elided ↑ open up ↑
 160  159          .getprot        = segspt_shmgetprot,
 161  160          .getoffset      = segspt_shmgetoffset,
 162  161          .gettype        = segspt_shmgettype,
 163  162          .getvp          = segspt_shmgetvp,
 164  163          .advise         = segspt_shmadvise,
 165  164          .dump           = segspt_shmdump,
 166  165          .pagelock       = segspt_shmpagelock,
 167  166          .setpagesize    = segspt_shmsetpgsz,
 168  167          .getmemid       = segspt_shmgetmemid,
 169  168          .getpolicy      = segspt_shmgetpolicy,
 170      -        .capable        = segspt_shmcapable,
 171  169  };
 172  170  
 173  171  static void segspt_purge(struct seg *seg);
 174  172  static int segspt_reclaim(void *, caddr_t, size_t, struct page **,
 175  173                  enum seg_rw, int);
 176  174  static int spt_anon_getpages(struct seg *seg, caddr_t addr, size_t len,
 177  175                  page_t **ppa);
 178  176  
 179  177  
 180  178  
↓ open down ↓ 2917 lines elided ↑ open up ↑
3098 3096  
3099 3097          /*
3100 3098           * Get policy info
3101 3099           *
3102 3100           * Assume starting anon index of 0
3103 3101           */
3104 3102          anon_index = seg_page(seg, addr);
3105 3103          policy_info = lgrp_shm_policy_get(amp, anon_index, NULL, 0);
3106 3104  
3107 3105          return (policy_info);
3108      -}
3109      -
3110      -/*ARGSUSED*/
3111      -static int
3112      -segspt_shmcapable(struct seg *seg, segcapability_t capability)
3113      -{
3114      -        return (0);
3115 3106  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX