tag name | reflink-speedups_2021-10-22 (3a1132d1b5edf553495a8749b4ebb57ab08e5efc) |
tag date | 2021-10-22 16:45:08 -0700 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit 40fe312d0c... |
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+H93GTRKtOsFAmFzTQQACgkQ+H93GTRK
tOu5jRAAhpaeXrFOTl6XrEoMjSMGn4z4KDKxhpggW27rVARoAfRKNO5Msi19LHtt
RsV+QjG1KTVKtbCwvKJh3vv7hWGaOuBI0UuG5RuR+dlR6NqRT0GOUc4TOU0L/PbJ
fVB5fQX+s6sgGp8zYTSFAkbPPerjb/NUH9JbxabaC5S0zN3Jp1JEMFhL40oAw3Po
UuESIvXzgTeBp9PFwNTGMIqSYN9iDMBJiFiIbuOdmZs7AgXxIfR/DaEVyJK6MUpF
XI+rETUw/Q3kYNaQW6lt4jdX65BQkcPv8Eg0T7RzCpbVVlvkDuZZAyu04xTpldy0
pbD/1Yzg1ninXI0hSoW9wYxvg0ULlxf2KZbYIs4fs4GiboKRZ8hyhMzRZOvHSb6L
BUZSSQRmZ1ChMBcgxMxE2vFO2yi2g4eGnSjsn3oP5aXoufbI2FRbYu1t6++zhK+p
SHBq1nkSzMTytBpBBn6xkeYZhrQLwLOPj2pIHaKpV1EX70oVo9ZI98x2oO2rwvUG
uQQyYsu6XTJRO0ZcZ4YQXaJqVIdjWW+LuWAhSAZvl6O+yUZV+y11j386tdiaEG9x
XL1efcimKM05xJPKM3pc29LCujOLVYbwe5YOtyObAJtT+AI6qRIEwTkifqrfo6vT
68kVeoaJ+HCzlT8qwvEhFnurtfx9kA5TLAN2NvpzN7dRhcCM9j8=
=Xva1
-----END PGP SIGNATURE-----