Messages in this thread | | | From | Jeff Moyer <> | Subject | Re: [patch] block: make struct block_device cacheline_aligned | Date | Wed, 19 Sep 2012 11:24:35 -0400 |
| |
Mikulas Patocka <mpatocka@redhat.com> writes:
> On Wed, 19 Sep 2012, Jeff Moyer wrote: > >> Jeff Moyer <jmoyer@redhat.com> 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 > > Use ____cacheline_aligned instead of __cacheline_aligned
struct block_device is allocated as part of the bdev_inode:
struct bdev_inode { struct block_device bdev; struct inode vfs_inode; };
The bdev_inode is allocated from the bdev_cachep, which uses SLAB_HWCACHE_ALIGN. So, in theory, this should already be aligned.
-Jeff
| |