Print this page
segop_getpolicy already checks for a NULL op

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/vm/seg_map.c
          +++ new/usr/src/uts/common/vm/seg_map.c
↓ open down ↓ 80 lines elided ↑ open up ↑
  81   81  static int      segmap_getprot(struct seg *seg, caddr_t addr, size_t len,
  82   82                          uint_t *protv);
  83   83  static u_offset_t       segmap_getoffset(struct seg *seg, caddr_t addr);
  84   84  static int      segmap_gettype(struct seg *seg, caddr_t addr);
  85   85  static int      segmap_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
  86   86  static void     segmap_dump(struct seg *seg);
  87   87  static int      segmap_pagelock(struct seg *seg, caddr_t addr, size_t len,
  88   88                          struct page ***ppp, enum lock_type type,
  89   89                          enum seg_rw rw);
  90   90  static int      segmap_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp);
  91      -static lgrp_mem_policy_info_t   *segmap_getpolicy(struct seg *seg,
  92      -    caddr_t addr);
  93   91  static int      segmap_capable(struct seg *seg, segcapability_t capability);
  94   92  
  95   93  /* segkpm support */
  96   94  static caddr_t  segmap_pagecreate_kpm(struct seg *, vnode_t *, u_offset_t,
  97   95                          struct smap *, enum seg_rw);
  98   96  struct smap     *get_smap_kpm(caddr_t, page_t **);
  99   97  
 100   98  static struct seg_ops segmap_ops = {
 101   99          .free           = segmap_free,
 102  100          .fault          = segmap_fault,
 103  101          .faulta         = segmap_faulta,
 104  102          .checkprot      = segmap_checkprot,
 105  103          .kluster        = segmap_kluster,
 106  104          .getprot        = segmap_getprot,
 107  105          .getoffset      = segmap_getoffset,
 108  106          .gettype        = segmap_gettype,
 109  107          .getvp          = segmap_getvp,
 110  108          .dump           = segmap_dump,
 111  109          .pagelock       = segmap_pagelock,
 112  110          .getmemid       = segmap_getmemid,
 113      -        .getpolicy      = segmap_getpolicy,
 114  111          .capable        = segmap_capable,
 115  112  };
 116  113  
 117  114  /*
 118  115   * Private segmap routines.
 119  116   */
 120  117  static void     segmap_unlock(struct hat *hat, struct seg *seg, caddr_t addr,
 121  118                          size_t len, enum seg_rw rw, struct smap *smp);
 122  119  static void     segmap_smapadd(struct smap *smp);
 123  120  static struct smap *segmap_hashin(struct smap *smp, struct vnode *vp,
↓ open down ↓ 2038 lines elided ↑ open up ↑
2162 2159  }
2163 2160  
2164 2161  static int
2165 2162  segmap_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
2166 2163  {
2167 2164          struct segmap_data *smd = (struct segmap_data *)seg->s_data;
2168 2165  
2169 2166          memidp->val[0] = (uintptr_t)smd->smd_sm->sm_vp;
2170 2167          memidp->val[1] = smd->smd_sm->sm_off + (uintptr_t)(addr - seg->s_base);
2171 2168          return (0);
2172      -}
2173      -
2174      -/*ARGSUSED*/
2175      -static lgrp_mem_policy_info_t *
2176      -segmap_getpolicy(struct seg *seg, caddr_t addr)
2177      -{
2178      -        return (NULL);
2179 2169  }
2180 2170  
2181 2171  /*ARGSUSED*/
2182 2172  static int
2183 2173  segmap_capable(struct seg *seg, segcapability_t capability)
2184 2174  {
2185 2175          return (0);
2186 2176  }
2187 2177  
2188 2178  
↓ open down ↓ 147 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX