Re: [patch] block: make struct block_device cacheline_aligned

From: Richard Kennedy
Date: Wed Sep 19 2012 - 11:48:37 EST


On 19/09/12 15:59, Jeff Moyer wrote:
> Jeff Moyer <jmoyer@xxxxxxxxxx> writes:
>
>> Hi,
>>
>> When testing against a pcie ssd or a ramdisk, making the block device
>> structure cacheline_aligned provided a significant increase in
>> performance:
>
> Self-NACK on this one. This results in a ton of warnings:
>
> include/linux/fs.h:727: warning: ???__section__??? attribute does not
> apply to types
> In file included from include/linux/debugfs.h:18,
> from kernel/trace/trace_probe.h:28,
> from kernel/trace/trace_kprobe.c:23:
> include/linux/fs.h:727: warning: ???__section__??? attribute does not
> apply to types
>
> And that leaves me with the task of figuring out if/why this actually
> helps.
>
> Cheers,
> Jeff
>>
Hi,
block_device sits in bdev_inode which is already cache line aligned as
they're allocated in a kmem_cache with HWALIGN set.
So I wonder if swapping the order of bdev & inode in bdev_inode will help?

So it becomes this :-
struct bdev_inode {
struct inode vfs_inode;
struct block_device bdev;
};


regards
Richard

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/