• Eric Paris's avatar
    Audit: reorganize struct audit_watch to save 8 bytes · e08b061e
    Eric Paris authored
    pahole showed that struct audit_watch had two holes:
    
    struct audit_watch {
            atomic_t                   count;                /*     0     4 */
    
            /* XXX 4 bytes hole, try to pack */
    
            char *                     path;                 /*     8     8 */
            dev_t                      dev;                  /*    16     4 */
    
            /* XXX 4 bytes hole, try to pack */
    
            long unsigned int          ino;                  /*    24     8 */
            struct audit_parent *      parent;               /*    32     8 */
            struct list_head           wlist;                /*    40    16 */
            struct list_head           rules;                /*    56    16 */
            /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */
    
            /* size: 72, cachelines: 2, members: 7 */
            /* sum members: 64, holes: 2, sum holes: 8 */
            /* last cacheline: 8 bytes */
    };      /* definitions: 1 */
    
    by moving dev after count we save 8 bytes,  actually improving cacheline
    usage.  There are typically very few of these in the kernel so it won't be
    a large savings, but it's a good thing no matter what.
    Signed-off-by: default avatarEric Paris <eparis@redhat.com>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    e08b061e
audit_watch.c 14.4 KB