summaryrefslogtreecommitdiff
tag namebtree-cursor-zones-5.16_2021-09-23 (00b29ce098cea2cc8c4a210ab77513743c40bca7)
tag date2021-09-23 18:20:40 -0700
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit f6ac590202...
xfs: separate btree cursor slab zones
Following the review discussions about the dynamic btree cursor height patches, I've throw together another series to reduce the size of the btree cursor, compute the absolute maximum possible btree heights for each btree type, and now each btree cursor has its own slab zone: $ grep xfs.*cur /proc/slabinfo xfs_refc_btree_cur 0 0 192 21 1 : tunables 0 0 0 : slabdata 0 0 0 xfs_ialloc_btree_cur 0 0 208 19 1 : tunables 0 0 0 : slabdata 0 0 0 xfs_bmap_btree_cur 0 0 240 17 1 : tunables 0 0 0 : slabdata 0 0 0 xfs_rmap_btree_cur 0 0 240 17 1 : tunables 0 0 0 : slabdata 0 0 0 xfs_alloc_btree_cur 0 0 208 19 1 : tunables 0 0 0 : slabdata 0 0 0 I've also rigged up the debugger to make it easier to extract the actual height information: $ xfs_db /dev/sda -c 'btheight -w absmax all' bnobt: 7 cntbt: 7 inobt: 7 finobt: 7 bmapbt: 9 refcountbt: 6 rmapbt: 9 As you can see from the slabinfo output, this no longer means that we're allocating 224-byte cursors for all five btree types. Even with the extra overhead of supporting dynamic cursor sizes, we still come out ahead in terms of cursor size for three of the five btree types. This series also includes a couple of patches to reduce holes and unnecessary fields in the btree cursor. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmFNJ+gACgkQ+H93GTRK tOsaOg//UfOWJ/sbtRqNlhVTsq9Qg9nYWD0QB+bF1LAnFsJ4Vhyg7XZ1o7KbK7k8 8bNYiblc402Z/L2ubi2DVQ4OLx0TDz8WzF4rzsoPChpfsEzP+f43lZ5WCReanJ6O Oi6fglmB1x7KWSOhZeUPpnv1z1n5C79DrffAk1sWOP+wrJQFdJiec2dAD+sQGDIX 5NHwkycGsL9PRJBcJwmcSzMC5zahSlClUMrsGCRcxbNriYo2Uv+55oOkrQPK2dDx BZSoe/I26UIs0ZlE5evYA2rocp+W3ozaOFjGCtuMurB/S1uqRPcnLx+p+eIbkGnO oqgYjLNF05DsjDp1FfW+o4dxmFOHb2HsacLnwHHV7Z37DYqdoLFHDNiax3ZIbT/O 7mdwisrnLKDHnWRoBiLj/y76cdaiiCOMnjlVZdJIKhbJfzFePZi2VY7jER+gri3z BFPoKaMOp8QZXeyVPGC2BIMxNThDpCXUVwMHWAUWO4nXNz6I2ojote+JTsClOJm5 mxLKn3rYuvwYvW/4FHITF8Xc7ZrA/czQ/6mhaqPBf/McglrVw7sGBjjVL/u7h4KR Ykt0vigBy7sCemWgdaOulZsz7cwsVoPQsWFvKZk3w61LRc+awF0HYHP4qfLID1Yt saMrYbRz/47J211uyr0e1Dw7AsVMCECxCjhIrT8IN6LbIKf/uJY= =JcJf -----END PGP SIGNATURE-----