On Tue, 30 Jan 2024 at 15:10, Steven Rostedt <rost...@goodmis.org> wrote: > > > > At which point a name pointer would *just* fit in 96 bytes. > > Does that mean I should keep the kstrdup_const()?
You should check that my math matches reality and relevant configurations, but yes, at 96 bytes that should fit exactly in one slab entry on both x86-64 and arm64 (now that arm finally does sane kmalloc sizes - for the longest time they were all 128-byte aligned due to historical horrible DMA coherency issues). But you might also add a comment to the eventfs_inode definition, because if that ever changes, the math changes again. For example, adding just one more attribute data would make it all fall apart. If you *really* want to optimize that data structure, I think you can make the child list be a 'hlist'. That makes the list head ('children' becomes a 'hlist_head') smaller, even if the list entry ('list' becomes a 'hlist_node') stays the same size. Linus