Audit: reorganize struct audit_watch to save 8 bytes
authorEric Paris <eparis@redhat.com>
Fri, 7 Aug 2009 20:54:23 +0000 (16:54 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 24 Sep 2009 07:50:25 +0000 (03:50 -0400)
commite08b061ec0fca1f63bb1006bf1edc0556f36d0ae
tree71a286a55b7707f7bfdc759a7b1ab03e3f2a3755
parent94a8d5caba74211ec76dac80fc6e2d5c391530df
Audit: reorganize struct audit_watch to save 8 bytes

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: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
kernel/audit_watch.c