tag name | reflink-speedups_2021-08-25 (9e41c5dec0e957d7c4f4e9bd166b88204c6407d6) |
tag date | 2021-08-25 22:27:07 -0700 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit 771a9e332b... |
xfs: fix reflink inefficiencies
As Dave Chinner has complained about on IRC, there are a couple of
things about reflink that are very inefficient. First of all, we
limited the size of all bunmapi operations to avoid flooding the log
with defer ops in the worst case, but recent changes to the defer ops
code have solved that problem, so get rid of the bunmapi length clamp.
Second, the log reservations for reflink operations are far far larger
than they need to be. Shrink them to exactly what we need to handle
each deferred RUI and CUI log item, and no more. Also reduce logcount
because we don't need 8 rolls per operation. Introduce a transaction
reservation compatibility layer to avoid changing the minimum log size
calculations.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmEnJisACgkQ+H93GTRK
tOsifw//QO+EXxDh+T0ZinMG3PMYEK8Xi7ynV1YKNAgCfUwzlPSHVpyenybkGH5n
9Oxwcpz9c69fbeGjEu5zh7O8zTJdgjqWNzLJVrmWzUaOvRLjJH1RzkhiLRSWCX47
cVRoy5HKKrfoYMTJzBjmDEvFbbSKhzLgGEhEGqq2CmqW+X7Mmq+QnF1rvYgTRyOB
vwIY1QyERGcZ+IsoGLb7CSBTXmSqFjFaIUQ5oK+DztIUPZYi8DRR1VNhj1y4xqYV
0yXnLv+3Ts/RFDl8l7CUkxQQuy8usAiWoKnJKou7lriuPv85OHJAu/WjyaZuEAdp
YOeAbDBFrP7ogjoez2FaX/gsyUHOWssYG7T/D3ZJReSl3E9Rz3Bddev8fzevymlE
EzmkXUfEywCFuUlszrAshqgXrgSn+KSXWCtJV9UCWNNwxl9LT+WEND6kq9UbnM/I
emdAbXMLz2M5JbCtRvF9dvG7rJChu5SdWbER+y4GslSsUiUCk5KNMdV//Y45I4fg
V8KS5vs2jCXHT/Tc2Y5MJagq+KnmBa06nuKVD9MWpeVUokvWUT5uVLn2kdxg9LmL
aYuTTIzZVzdScsKVLYG2bAFRQHHr9iAOaV7h866HfUfr/aS8hBilDvvL4vUYHi3M
Ze9unD1sdpRfnquIauJl2aFshNa3x3lgIZWM7Nq9+C7jLjUEq7U=
=IvYd
-----END PGP SIGNATURE-----