summaryrefslogtreecommitdiff
tag namereflink-speedups_2021-08-25 (9e41c5dec0e957d7c4f4e9bd166b88204c6407d6)
tag date2021-08-25 22:27:07 -0700
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 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-----