]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
repair: per AG locks contend for cachelines
authorDave Chinner <dchinner@redhat.com>
Mon, 3 Mar 2014 01:16:54 +0000 (12:16 +1100)
committerDave Chinner <david@fromorbit.com>
Mon, 3 Mar 2014 01:16:54 +0000 (12:16 +1100)
commit586f8abf4fbbeedfe3b02eb64e377a2a9270560c
tree9257fef3d0af98f471528df4b70111c44beb89f6
parentbeed0dc8452e392311ccb8b2f0465fcf5be3f283
repair: per AG locks contend for cachelines

The per-ag locks used to protect per-ag block lists are located in a tightly
packed array. That means that they share cachelines, so separate them out inot
separate 64 byte regions in the array.

pahole confirms the padding is correctly applied:

struct aglock {
        pthread_mutex_t            lock;                 /*     0    40 */

        /* size: 64, cachelines: 1, members: 1 */
        /* padding: 24 */
};

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
repair/dino_chunks.c
repair/dinode.c
repair/globals.h
repair/incore.c
repair/scan.c