Print this page
5508 move segvn #defines into seg_vn.c
Reviewed by: Marcel Telka <marcel@telka.sk>


  74 int             pvn_getdirty(struct page *pp, int flags);
  75 void            pvn_vpzero(struct vnode *vp, u_offset_t vplen, size_t zbytes);
  76 int             pvn_getpages(
  77                         int (*getpage)(vnode_t *, u_offset_t, size_t, uint_t *,
  78                                 struct page *[], size_t, struct seg *,
  79                                 caddr_t, enum seg_rw, cred_t *),
  80                         struct vnode *vp, u_offset_t off, size_t len,
  81                         uint_t *protp, struct page **pl, size_t plsz,
  82                         struct seg *seg, caddr_t addr, enum seg_rw rw,
  83                         struct cred *cred);
  84 void            pvn_plist_init(struct page *pp, struct page **pl, size_t plsz,
  85                         u_offset_t off, size_t io_len, enum seg_rw rw);
  86 void            pvn_init(void);
  87 
  88 /*
  89  * The value is put in p_hash to identify marker pages. It is safe to
  90  * test p_hash ==(!=) PVN_VPLIST_HASH_TAG even without holding p_selock.
  91  */
  92 #define PVN_VPLIST_HASH_TAG     ((page_t *)-1)
  93 
  94 /*
  95  * When requesting pages from the getpage routines, pvn_getpages will
  96  * allocate space to return PVN_GETPAGE_NUM pages which map PVN_GETPAGE_SZ
  97  * worth of bytes.  These numbers are chosen to be the minimum of the max's
  98  * given in terms of bytes and pages.
  99  */
 100 #define PVN_MAX_GETPAGE_SZ      0x10000         /* getpage size limit */
 101 #define PVN_MAX_GETPAGE_NUM     0x8             /* getpage page limit */
 102 
 103 #if PVN_MAX_GETPAGE_SZ > PVN_MAX_GETPAGE_NUM * PAGESIZE
 104 
 105 #define PVN_GETPAGE_SZ  ptob(PVN_MAX_GETPAGE_NUM)
 106 #define PVN_GETPAGE_NUM PVN_MAX_GETPAGE_NUM
 107 
 108 #else
 109 
 110 #define PVN_GETPAGE_SZ  PVN_MAX_GETPAGE_SZ
 111 #define PVN_GETPAGE_NUM btop(PVN_MAX_GETPAGE_SZ)
 112 
 113 #endif
 114 
 115 #endif  /* _KERNEL */
 116 
 117 #ifdef  __cplusplus
 118 }
 119 #endif
 120 
 121 #endif  /* _VM_PVN_H */


  74 int             pvn_getdirty(struct page *pp, int flags);
  75 void            pvn_vpzero(struct vnode *vp, u_offset_t vplen, size_t zbytes);
  76 int             pvn_getpages(
  77                         int (*getpage)(vnode_t *, u_offset_t, size_t, uint_t *,
  78                                 struct page *[], size_t, struct seg *,
  79                                 caddr_t, enum seg_rw, cred_t *),
  80                         struct vnode *vp, u_offset_t off, size_t len,
  81                         uint_t *protp, struct page **pl, size_t plsz,
  82                         struct seg *seg, caddr_t addr, enum seg_rw rw,
  83                         struct cred *cred);
  84 void            pvn_plist_init(struct page *pp, struct page **pl, size_t plsz,
  85                         u_offset_t off, size_t io_len, enum seg_rw rw);
  86 void            pvn_init(void);
  87 
  88 /*
  89  * The value is put in p_hash to identify marker pages. It is safe to
  90  * test p_hash ==(!=) PVN_VPLIST_HASH_TAG even without holding p_selock.
  91  */
  92 #define PVN_VPLIST_HASH_TAG     ((page_t *)-1)
  93 





















  94 #endif  /* _KERNEL */
  95 
  96 #ifdef  __cplusplus
  97 }
  98 #endif
  99 
 100 #endif  /* _VM_PVN_H */