diff options
author | mav <mav@FreeBSD.org> | 2015-02-03 08:06:13 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-02-03 08:06:13 +0000 |
commit | 683ce518a8bf980a59801ed2b33474929b01cd19 (patch) | |
tree | c02e46c522a3f92959092fb2ea5d905291b9d57a /share/man/man9 | |
parent | d98d4221cea35503f6cfc838cc7741d8aa49b3a1 (diff) | |
download | FreeBSD-src-683ce518a8bf980a59801ed2b33474929b01cd19.zip FreeBSD-src-683ce518a8bf980a59801ed2b33474929b01cd19.tar.gz |
MFC r277419:
Allow skipping dmu_buf_will_dirty() call in dsl_dir_transfer_space().
dsl_dir_transfer_space() is mostly called after dsl_dir_diduse_space(),
which already calls dmu_buf_will_dirty() for the same dbuf and tx, so
its duplicate call in those cases will change nothing, only spend time.
Skipping this call by four times reduces time spent in dbuf_write_done()
and descendants, updating dataset statistics with several congested lock
acquisitions. When rewriting 8K zvol blocks at 1GB/s rate, this reduces
CPU time spent inside dbuf_write_done(), according to profiling, from 45%
of 683K samples to 18% of 422K.
Diffstat (limited to 'share/man/man9')
0 files changed, 0 insertions, 0 deletions