zfs/include/sys
Brian Behlendorf 21ade34764 Disable direct reclaim for z_wr_* threads
The direct reclaim path in the z_wr_* threads must be disabled
to ensure forward progress is always maintained for txg processing.
This ensures that a txg will never get stuck waiting on itself
because it entered the following memory reclaim callpath.

  ->prune_icache()->dispose_list()->zpl_clear_inode()->zfs_inactive()
  ->dmu_tx_assign()->dmu_tx_wait()->tgx_wait_open()

It would be preferable to target this exact code path but the
kernel offers no way to do this without custom patches.  To avoid
this we are forced to disable all reclaim for these threads.  It
should not be necessary to do this for other other z_* threads
because they will not hold a txg open.

Closes #232
2011-05-06 15:26:26 -07:00
..
fm Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
fs Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
Makefile.am Add xvattr support 2011-03-02 11:43:50 -08:00
Makefile.in Fix 'zfs set volsize=N pool/dataset' 2011-05-02 08:54:40 -07:00
arc.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
avl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
avl_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
bplist.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
bpobj.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dbuf.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
ddt.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu.h Linux 2.6.x compat, blkdev_compat.h 2011-02-23 12:29:38 -08:00
dmu_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu_objset.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu_traverse.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu_tx.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dmu_zfetch.h Add missing ZFS tunables 2011-05-04 10:02:37 -07:00
dnode.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_dataset.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_deadlist.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_deleg.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_dir.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_pool.h Prototype/structure update for Linux 2011-02-10 09:27:21 -08:00
dsl_prop.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_scan.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
dsl_synctask.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
efi_partition.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
metaslab.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
metaslab_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
nvpair.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
nvpair_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
refcount.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
rrwlock.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
sa.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
sa_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
spa.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
spa_boot.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
spa_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
space_map.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
txg.h Add API to wait for pending commit callbacks 2011-02-16 11:20:06 -08:00
txg_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
u8_textprep.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
u8_textprep_data.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
uberblock.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
uberblock_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
uio_impl.h Add basic uio support 2011-02-10 09:21:43 -08:00
unique.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
uuid.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
vdev.h Add missing ZFS tunables 2011-05-04 10:02:37 -07:00
vdev_disk.h Linux 2.6.x compat, blkdev_compat.h 2011-02-23 12:29:38 -08:00
vdev_file.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
vdev_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
xvattr.h Add xvattr support 2011-03-02 11:43:50 -08:00
zap.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zap_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zap_leaf.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_acl.h Add xvattr support 2011-03-02 11:43:50 -08:00
zfs_context.h Disable direct reclaim for z_wr_* threads 2011-05-06 15:26:26 -07:00
zfs_debug.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_dir.h Prototype/structure update for Linux 2011-02-10 09:27:21 -08:00
zfs_fuid.h Prototype/structure update for Linux 2011-02-10 09:27:21 -08:00
zfs_ioctl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_onexit.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_rlock.h Range lock performance improvements 2011-03-08 12:44:06 -08:00
zfs_sa.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_stat.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zfs_vfsops.h Register .remount_fs handler 2011-03-15 13:33:29 -07:00
zfs_vnops.h Add zfs_open()/zfs_close() 2011-03-08 11:04:51 -08:00
zfs_znode.h Fix evict() deadlock 2011-03-22 12:14:55 -07:00
zil.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zil_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zio.h Initial zio delay timing 2010-10-12 14:55:02 -07:00
zio_checksum.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zio_compress.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zio_impl.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zpl.h Implemented NFS export_operations. 2011-04-29 12:36:13 -07:00
zrlock.h Support custom build directories and move includes 2010-09-08 12:38:56 -07:00
zvol.h Linux 2.6.x compat, blkdev_compat.h 2011-02-23 12:29:38 -08:00