aboutsummaryrefslogtreecommitdiff
path: root/sys/nlm
diff options
context:
space:
mode:
authorSteven Hartland <smh@FreeBSD.org>2014-04-30 17:46:29 +0000
committerSteven Hartland <smh@FreeBSD.org>2014-04-30 17:46:29 +0000
commit82ce0085382942aad3a782dedb1e8dc210b4ded5 (patch)
tree85e14bcb4f575216f44ab083c3402c7352507c9f /sys/nlm
parentb28e753c93100242b95c62ee255c207ed9532a13 (diff)
downloadsrc-82ce0085382942aad3a782dedb1e8dc210b4ded5.tar.gz
src-82ce0085382942aad3a782dedb1e8dc210b4ded5.zip
Reintroduce priority for the TRIM ZIOs instead of using the "NOW" priority
The changes how TRIM requests are generated to use ZIO_TYPE_FREE + a priority instead of ZIO_TYPE_IOCTL, until processed by vdev_geom; only then is it translated the required geom values. This reduces the amount of changes required for FREE requests to be supported by the new IO scheduler. This also eliminates the need for a specific DKIOCTRIM. Also fixed FREE vdev child IO's from running ZIO_STAGE_VDEV_IO_DONE as part of their schedule. As the new IO scheduler can result in a request to execute one type of IO to actually run a different type of IO it requires that zio_trim requests are processed without holding the trim map lock (tm->tm_lock), as the free request execute call may result in write request running hence triggering a trim_map_write_start call, which takes the trim map lock and hence would result in recused on no-recursive sx lock. This is based off avg's original work, so credit to him. MFC after: 1 month
Notes
Notes: svn path=/head/; revision=265152
Diffstat (limited to 'sys/nlm')
0 files changed, 0 insertions, 0 deletions