kernel_optimize_test/drivers
Oskar Schirmer 3843384a05 Input: ad7877 - keep dma rx buffers in seperate cache lines
With dma based spi transmission, data corruption is observed
occasionally. With dma buffers located right next to msg and
xfer fields, cache lines correctly flushed in preparation for
dma usage may be polluted again when writing to fields in the
same cache line.

Make sure cache fields used with dma do not share cache lines
with fields changed during dma handling. As both fields are part
of a struct that is allocated via kzalloc, thus cache aligned,
moving the fields to the 1st position and insert padding for
alignment does the job.

Signed-off-by: Oskar Schirmer <os@emlix.com>
Signed-off-by: Daniel Glöckner <dg@emlix.com>
Signed-off-by: Oliver Schneidewind <osw@emlix.com>
Signed-off-by: Johannes Weiner <jw@emlix.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
[dtor@mail.ru - changed to use ___cacheline_aligned as suggested
 by akpm]
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-05-13 00:43:32 -07:00
..
accessibility
acpi sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes 2010-03-07 17:04:51 -08:00
amba
ata
atm
auxdisplay auxdisplay: move cfag12864bfb's probe function to .devinit.text 2010-03-07 17:04:50 -08:00
base Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
block Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
bluetooth
cdrom
char [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA 2010-03-08 12:25:29 +01:00
clocksource MFGPT: move clocksource menu 2010-03-06 11:26:28 -08:00
connector
cpufreq Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
cpuidle Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
crypto
dca
dio
dma Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
edac Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
eisa eisa: fix coding style for eisa bus code 2010-03-06 11:26:32 -08:00
firewire Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
firmware Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
gpio driver-core: Add attribute argument to class_attribute show/store 2010-03-07 17:04:48 -08:00
gpu Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
hid Input: scancode in get/set_keycodes should be unsigned 2010-03-08 23:19:15 -08:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2010-03-06 11:33:09 -08:00
i2c i2c: move i2c_omap's probe function to .devinit.text 2010-03-07 17:04:50 -08:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 2010-03-04 08:24:06 -08:00
idle
ieee1394 Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
ieee802154
infiniband Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
input Input: ad7877 - keep dma rx buffers in seperate cache lines 2010-05-13 00:43:32 -07:00
isdn
leds led: Enable led in 88pm860x 2010-03-07 22:17:05 +01:00
lguest
macintosh sysfs: windfarm: init sysfs attributes 2010-03-07 17:04:51 -08:00
mca
md Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
media Input: scancode in get/set_keycodes should be unsigned 2010-03-08 23:19:15 -08:00
memstick
message
mfd mfd: Fix ucb1x00 build failure for collie_defconfig 2010-03-07 22:17:39 +01:00
misc driver core: Convert some drivers to CLASS_ATTR_STRING 2010-03-07 17:04:48 -08:00
mmc mfd/mmc: SDHI Kconfig update 2010-03-07 22:17:32 +01:00
mtd driver-core: Add attribute argument to class_attribute show/store 2010-03-07 17:04:48 -08:00
net Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
nubus
of
oprofile
parisc Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
parport
pci Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
pcmcia Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
platform Input: scancode in get/set_keycodes should be unsigned 2010-03-08 23:19:15 -08:00
pnp
power power_supply: Enable power supply of max8925 2010-03-07 22:17:17 +01:00
pps
ps3
rapidio
regulator regulator: Add max8925 support 2010-03-07 22:17:08 +01:00
rtc rtc: Enable rtc in max8925 2010-03-07 22:17:16 +01:00
s390 [S390] smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents 2010-03-08 12:26:28 +01:00
sbus
scsi platform-drivers: move probe to .devinit.text in drivers/scsi 2010-03-07 17:04:50 -08:00
serial Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-03-07 15:47:19 -08:00
sfi
sh
sn
spi
ssb
staging driver core: Convert some drivers to CLASS_ATTR_STRING 2010-03-07 17:04:48 -08:00
tc
telephony
thermal
uio UIO: Remove SMX Cryptengine driver 2010-03-07 17:04:51 -08:00
usb Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
uwb Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
vhost
video platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
virtio
vlynq
w1 w1: move omap_hdq's probe function to .devinit.text 2010-03-07 17:04:50 -08:00
watchdog [WATCHDOG] i6300esb.c: change platform_driver to pci_driver 2010-03-08 13:48:01 +00:00
xen Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
zorro
Kconfig MFGPT: move clocksource menu 2010-03-06 11:26:28 -08:00
Makefile