Print this page
NEX-18463 Parallel dump produces corrupted dump file
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/vm/hat.h
          +++ new/usr/src/uts/common/vm/hat.h
↓ open down ↓ 28 lines elided ↑ open up ↑
  29   29  /*
  30   30   * University Copyright- Copyright (c) 1982, 1986, 1988
  31   31   * The Regents of the University of California
  32   32   * All Rights Reserved
  33   33   *
  34   34   * University Acknowledgment- Portions of this document are derived from
  35   35   * software developed by the University of California, Berkeley, and its
  36   36   * contributors.
  37   37   */
  38   38  
       39 +/*
       40 + * Copyright 2018 Nexenta Systems, Inc.
       41 + */
       42 +
  39   43  #ifndef _VM_HAT_H
  40   44  #define _VM_HAT_H
  41   45  
  42   46  #include <sys/types.h>
  43   47  #include <sys/t_lock.h>
  44   48  #include <vm/faultcode.h>
  45   49  #include <sys/kstat.h>
  46   50  #include <sys/siginfo.h>
  47   51  
  48   52  #ifdef  __cplusplus
↓ open down ↓ 141 lines elided ↑ open up ↑
 190  194   * void hat_unshare(hat, addr, len, szc)
 191  195   *
 192  196   * void hat_chgprot(hat, addr, len, vprot)
 193  197   *      This is a deprecated call.  New segment drivers should store
 194  198   *      all attributes and use hat_*attr calls.
 195  199   *      Change the protections in the virtual address range
 196  200   *      given to the specified virtual protection.  If vprot is ~PROT_WRITE,
 197  201   *      then remove write permission, leaving the other permissions
 198  202   *      unchanged.  If vprot is ~PROT_USER, remove user permissions.
 199  203   *
 200      - * void hat_flush_range(hat, addr, size)
 201      - *      Invalidate a virtual address translation for the local CPU.
      204 + * void hat_flush(void)
      205 + *      Flush the TLB for the local CPU.
 202  206   */
 203  207  
 204  208  void    hat_memload(struct hat *, caddr_t, struct page *, uint_t, uint_t);
 205  209  void    hat_memload_array(struct hat *, caddr_t, size_t, struct page **,
 206  210                  uint_t, uint_t);
 207  211  void    hat_memload_region(struct hat *, caddr_t, struct page *, uint_t,
 208  212                  uint_t, hat_region_cookie_t);
 209  213  void    hat_memload_array_region(struct hat *, caddr_t, size_t, struct page **,
 210  214                  uint_t, uint_t, hat_region_cookie_t);
 211  215  
 212  216  void    hat_devload(struct hat *, caddr_t, size_t, pfn_t, uint_t, int);
 213  217  
 214  218  void    hat_unlock(struct hat *, caddr_t, size_t);
 215  219  void    hat_unlock_region(struct hat *, caddr_t, size_t, hat_region_cookie_t);
 216  220  
 217  221  void    hat_unload(struct hat *, caddr_t, size_t, uint_t);
 218  222  void    hat_unload_callback(struct hat *, caddr_t, size_t, uint_t,
 219  223                  hat_callback_t *);
 220      -void    hat_flush_range(struct hat *, caddr_t, size_t);
      224 +void    hat_flush(void);
 221  225  void    hat_sync(struct hat *, caddr_t, size_t, uint_t);
 222  226  void    hat_map(struct hat *, caddr_t, size_t, uint_t);
 223  227  void    hat_setattr(struct hat *, caddr_t, size_t, uint_t);
 224  228  void    hat_clrattr(struct hat *, caddr_t, size_t, uint_t);
 225  229  void    hat_chgattr(struct hat *, caddr_t, size_t, uint_t);
 226  230  uint_t  hat_getattr(struct hat *, caddr_t, uint_t *);
 227  231  ssize_t hat_getpagesize(struct hat *, caddr_t);
 228  232  pfn_t   hat_getpfnum(struct hat *, caddr_t);
 229  233  int     hat_probe(struct hat *, caddr_t);
 230  234  int     hat_share(struct hat *, caddr_t, struct hat *, caddr_t, size_t, uint_t);
↓ open down ↓ 397 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX