]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm/kmemleak: compact kmemleak_object further
authorWaiman Long <longman@redhat.com>
Thu, 7 Mar 2024 19:05:47 +0000 (14:05 -0500)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 26 Apr 2024 03:56:05 +0000 (20:56 -0700)
Patch series "mm/kmemleak: Minor cleanup & performance tuning".

This series contains 2 simple cleanup patches to slightly reduce memory
and performance overhead.

This patch (of 2):

With commit 56a61617dd22 ("mm: use stack_depot for recording kmemleak's
backtrace"), the size of kmemleak_object has been reduced by 128 bytes for
64-bit arches.  The replacement "depot_stack_handle_t trace_handle" is
actually just 4 bytes long leaving a hole of 4 bytes.  By moving up
trace_handle to another existing 4-byte hold, we can save 8 more bytes
from kmemleak_object reducing its overall size from 248 to 240 bytes.

Link: https://lkml.kernel.org/r/20240307190548.963626-1-longman@redhat.com
Link: https://lkml.kernel.org/r/20240307190548.963626-2-longman@redhat.com
Signed-off-by: Waiman Long <longman@redhat.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/kmemleak.c

index d2037073ed9197df09a17b05f7dbc8eefe0f103f..fdcf01f622028fedee7224c566c9c320dd956d16 100644 (file)
@@ -158,9 +158,9 @@ struct kmemleak_object {
        int count;
        /* checksum for detecting modified objects */
        u32 checksum;
+       depot_stack_handle_t trace_handle;
        /* memory ranges to be scanned inside an object (empty for all) */
        struct hlist_head area_list;
-       depot_stack_handle_t trace_handle;
        unsigned long jiffies;          /* creation timestamp */
        pid_t pid;                      /* pid of the current task */
        char comm[TASK_COMM_LEN];       /* executable name */