• D
    lockdep: shrink held_lock structure · f82b217e
    Dave Jones 提交于
    struct held_lock {
            u64                        prev_chain_key;       /*     0     8 */
            struct lock_class *        class;                /*     8     8 */
            long unsigned int          acquire_ip;           /*    16     8 */
            struct lockdep_map *       instance;             /*    24     8 */
            int                        irq_context;          /*    32     4 */
            int                        trylock;              /*    36     4 */
            int                        read;                 /*    40     4 */
            int                        check;                /*    44     4 */
            int                        hardirqs_off;         /*    48     4 */
    
            /* size: 56, cachelines: 1 */
            /* padding: 4 */
            /* last cacheline: 56 bytes */
    };
    
    struct held_lock {
            u64                        prev_chain_key;       /*     0     8 */
            long unsigned int          acquire_ip;           /*     8     8 */
            struct lockdep_map *       instance;             /*    16     8 */
            unsigned int               class_idx:11;         /*    24:21  4 */
            unsigned int               irq_context:2;        /*    24:19  4 */
            unsigned int               trylock:1;            /*    24:18  4 */
            unsigned int               read:2;               /*    24:16  4 */
            unsigned int               check:2;              /*    24:14  4 */
            unsigned int               hardirqs_off:1;       /*    24:13  4 */
    
            /* size: 32, cachelines: 1 */
            /* padding: 4 */
            /* bit_padding: 13 bits */
            /* last cacheline: 32 bytes */
    };
    
    [mingo@elte.hu: shrunk hlock->class too]
    [peterz@infradead.org: fixup bit sizes]
    Signed-off-by: NDave Jones <davej@redhat.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
    f82b217e
lockdep.h 12.8 KB