]> www.infradead.org Git - users/dwmw2/linux.git/commit
dcache: keep dentry_hashtable or d_hash_shift even when not used
authorStephen Brennan <stephen.s.brennan@oracle.com>
Thu, 29 Aug 2024 18:20:49 +0000 (11:20 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 30 Aug 2024 00:25:50 +0000 (12:25 +1200)
commit04c8abae1b7b2abeb638a3d5d5950fa2a031c244
tree38a1f54ee8339f33be7ff4ac25edebd8942d1feb
parent3b9dfd9e59367eff5f65ef2a850f2df674f1f1c5
dcache: keep dentry_hashtable or d_hash_shift even when not used

The runtime constant feature removes all the users of these variables,
allowing the compiler to optimize them away.  It's quite difficult to
extract their values from the kernel text, and the memory saved by
removing them is tiny, and it was never the point of this optimization.

Since the dentry_hashtable is a core data structure, it's valuable for
debugging tools to be able to read it easily.  For instance, scripts
built on drgn, like the dentrycache script[1], rely on it to be able to
perform diagnostics on the contents of the dcache.  Annotate it as used,
so the compiler doesn't discard it.

Link: https://github.com/oracle-samples/drgn-tools/blob/3afc56146f54d09dfd1f6d3c1b7436eda7e638be/drgn_tools/dentry.py#L325-L355
Fixes: e3c92e81711d ("runtime constants: add x86 architecture support")
Signed-off-by: Stephen Brennan <stephen.s.brennan@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/dcache.c