summaryrefslogtreecommitdiff
tag namebtree-cursor-zones_2021-10-22 (ca8173e8cd54649258136286ed85de8cb27fb1b2)
tag date2021-10-22 16:45:29 -0700
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 5bcdc3aee8...
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+H93GTRKtOsFAmFzTRkACgkQ+H93GTRK tOvedA/8CnEzvcyKP1SAd5KgjZ/5Lt3j7xwt7oiRwQMhEITtVvnA8FZMoBdgcty2 7WFRm6m2IyhsurpMOJfx4hnBIy0Mxiydlv+UJTlwTpJlsHaF5D9wMKrjvp6xe1Ss oxrh+H7NlOfuh5I8b96HmLE3HyJBNieBu8jBngxVEmx/3mjJOTdkf8csMKX2p9zj h+Y2KSb3HyxCfxNlC9Tboc6RHvkZsJV5MaB95qRKfcw0N0NHE0DgHM8QW9Sa2hQJ VEUsjrosbW/kkDlMSvYfhFNE2Rf2zfqOhzUGmhlCPruG9T8hXg//ToRRAPwb6MGL vD2n5vAkQnUwJU1ICiayrH6S6eBWeS1GfF68lfItKxOGKF9/qsr0rEZBquX9PUl2 fae25gAP/l2F8exI5vGb1kxE3IgkNWXfv8foFni4YGBrjKIDfrnjEKBDS+qq6yb5 dfgcfSmMwKRNmUF7hiWTjre52oljfhnJVf6PIY7qNXQFwvt3rnwoTeZLplmmure6 7A94Y/e9WtIKIMW8pp7pkZIw6sTwIWCAT5ri/eMRtyn2ykyPdmDnB5HSHePHLYpz ZXlLiEvH9SXzw5c5P0LRvtrtjdr3ya7xpG25zL7ZaJ9uxY7lfGNNttW5mIUz5WrN 2hw0cDEYbxLsRfmyzKD2YriSwcWT9gtM5jxaiYqGmGpsk6SreLU= =2DX/ -----END PGP SIGNATURE-----