Print this page
arc_get_data_buf should be more aggressive in eviction when memory is unavailable

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/zio.h
          +++ new/usr/src/uts/common/fs/zfs/sys/zio.h
↓ open down ↓ 503 lines elided ↑ open up ↑
 504  504  extern void zio_nowait(zio_t *zio);
 505  505  extern void zio_execute(zio_t *zio);
 506  506  extern void zio_interrupt(zio_t *zio);
 507  507  
 508  508  extern zio_t *zio_walk_parents(zio_t *cio);
 509  509  extern zio_t *zio_walk_children(zio_t *pio);
 510  510  extern zio_t *zio_unique_parent(zio_t *cio);
 511  511  extern void zio_add_child(zio_t *pio, zio_t *cio);
 512  512  
 513  513  extern void *zio_buf_alloc(size_t size);
      514 +extern void *zio_buf_alloc_canfail(size_t size);
 514  515  extern void zio_buf_free(void *buf, size_t size);
 515  516  extern void *zio_data_buf_alloc(size_t size);
      517 +extern void *zio_data_buf_alloc_canfail(size_t size);
 516  518  extern void zio_data_buf_free(void *buf, size_t size);
 517  519  
 518  520  extern void zio_resubmit_stage_async(void *);
 519  521  
 520  522  extern zio_t *zio_vdev_child_io(zio_t *zio, blkptr_t *bp, vdev_t *vd,
 521  523      uint64_t offset, void *data, uint64_t size, int type,
 522  524      zio_priority_t priority, enum zio_flag flags,
 523  525      zio_done_func_t *done, void *private);
 524  526  
 525  527  extern zio_t *zio_vdev_delegated_io(vdev_t *vd, uint64_t offset,
↓ open down ↓ 72 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX