OpenCloudOS-Kernel/drivers
Mikulas Patocka f9a8e0cd26 dm thin: optimize power of two block size
dm-thin will be most likely used with a block size that is a power of
two. So it should be optimized for this case.

This patch changes division and modulo operations to shifts and bit
masks if block size is a power of two.

A test that bi_sector is divisible by a block size is removed from
io_overlaps_block. Device mapper never sends bios that span a block
boundary. Consequently, if we tested that bi_size is equivalent to block
size, bi_sector must already be on a block boundary.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2012-07-27 15:08:03 +01:00
..
accessibility
acpi PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
amba
ata [SCSI] libata, libsas: introduce sched_eh and end_eh port ops 2012-07-20 08:58:45 +01:00
atm
auxdisplay
base SCSI misc on 20120724 2012-07-24 18:11:22 -07:00
bcma bcma: add place for flash memory support 2012-07-17 15:11:40 -04:00
block Power management updates for 3.6 2012-07-22 13:36:52 -07:00
bluetooth Bluetooth: Introduce a flags variable to Three-wire UART state 2012-07-17 14:49:24 -03:00
cdrom
char Merge git://www.linux-watchdog.org/linux-watchdog 2012-07-24 13:26:08 -07:00
clk The common clk framework changes for 3.6 include a small number of core 2012-07-24 16:40:57 -07:00
clocksource arm-soc: new SoC support 2012-07-23 16:31:31 -07:00
connector drivers: connector: fixed coding style issues 2012-07-16 23:23:52 -07:00
cpufreq Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
cpuidle Merge branch 'pm-domains' 2012-07-19 00:03:17 +02:00
crypto arm-soc: clk changes 2012-07-23 17:51:03 -07:00
dca
devfreq
dio
dma Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-07-24 17:12:54 -07:00
edac
eisa
extcon
firewire
firmware
gpio arm-soc: sparse IRQ conversion 2012-07-23 17:36:02 -07:00
gpu gma500,cdv: Fix the brightness base 2012-07-16 09:20:33 -07:00
hid Merge branch 'uhid' into for-linus 2012-07-24 13:40:06 +02:00
hsi
hv
hwmon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
hwspinlock hwspinlock/core: use global ID to register hwspinlocks on multiple devices 2012-07-07 22:35:30 +03:00
i2c i2c-omap: Add support for I2C_M_STOP message flag 2012-07-24 14:13:59 +02:00
ide
idle ACPI: intel_idle : break dependency between modules 2012-07-05 22:37:47 +02:00
ieee802154 drivers/ieee802154/at86rf230: rework irq handler 2012-07-12 07:54:45 -07:00
iio
infiniband InfiniBand/RDMA changes for the 3.6 merge window: 2012-07-24 13:56:26 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
iommu IOMMU Updates for Linux v3.6-rc1 2012-07-24 16:24:11 -07:00
isdn ISDN: Add check for usb_alloc_urb() result 2012-07-18 09:40:54 -07:00
leds leds: heartbeat: fix bug on panic 2012-07-04 15:55:19 +08:00
lguest
macintosh
md dm thin: optimize power of two block size 2012-07-27 15:08:03 +01:00
media Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
memory
memstick
message
mfd Linux 3.5-rc7 2012-07-15 21:49:21 +01:00
misc PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
mmc Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-07-24 17:12:54 -07:00
mtd Change the default amount of eraseblocks which UBI reserves for bad block 2012-07-23 15:53:06 -07:00
net PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
nfc NFC: Add ISO 14443 type B protocol 2012-07-09 16:42:24 -04:00
nubus
of Devicetree updates for 3.6 2012-07-24 14:07:22 -07:00
oprofile oprofile, perf: Use per-cpu framework 2012-06-22 16:31:20 +02:00
parisc PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
parport
pci PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
pcmcia
pinctrl Pin control changes for v3.6: 2012-07-24 14:05:46 -07:00
platform Power management updates for 3.6 2012-07-22 13:36:52 -07:00
pnp ACPI/PM: specify lowest allowed state for device sleep state 2012-06-23 10:41:09 -06:00
power Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
pps
ps3
ptp
rapidio
regulator SCSI misc on 20120724 2012-07-24 18:11:22 -07:00
remoteproc remoteproc: fix missing CONFIG_FW_LOADER configurations 2012-07-04 11:01:12 +03:00
rpmsg rpmsg: fix dependency on initialization order 2012-07-17 13:10:38 +03:00
rtc arm-soc: device tree description updates 2012-07-23 16:17:43 -07:00
s390 KVM updates for the 3.6 merge window 2012-07-24 12:01:20 -07:00
sbus
scsi SCSI misc on 20120724 2012-07-24 18:11:22 -07:00
sfi
sh Merge branch 'common/pinctrl' into sh-latest 2012-07-20 16:42:59 +09:00
sn
spi Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2012-07-24 17:20:51 -07:00
ssb
staging Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2012-07-24 13:44:40 -07:00
target iscsi-target: Drop bogus struct file usage for iSCSI/SCTP 2012-07-21 02:44:13 -07:00
tc
thermal
tty Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-07-24 17:12:54 -07:00
uio
usb SCSI misc on 20120724 2012-07-24 18:11:22 -07:00
uwb
vhost vhost: make vhost work queue visible 2012-07-22 01:22:23 +03:00
video Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-07-24 13:34:56 -07:00
virt
virtio [SCSI] virtio-scsi: Add vdrv->scan for post VIRTIO_CONFIG_S_DRIVER_OK LUN scanning 2012-07-20 08:59:03 +01:00
vlynq
vme
w1 W1: OMAP HDQ1W: use runtime PM 2012-06-21 21:40:40 -06:00
watchdog Merge git://www.linux-watchdog.org/linux-watchdog 2012-07-24 13:26:08 -07:00
xen PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
zorro
Kconfig
Makefile