Shrinking data structures Consider the kref structure: struct kref { atomic_t refcount; void (*release)(struct kref *kref); }; It is only eight bytes That matters if you have thousands of them Shrink kref by Removing the release() method Pass release function to kref_put() instead