https://github.com/torvalds/linux
Revision 72d931046030beb2d13dad6d205be0e228618432 authored by Linus Torvalds on 13 September 2014, 18:14:53 UTC, committed by Linus Torvalds on 13 September 2014, 18:14:53 UTC
It used to be an ad-hoc hack defined by the x86 version of
<asm/bitops.h> that enabled a couple of library routines to know whether
an integer multiply is faster than repeated shifts and additions.

This just makes it use the real Kconfig system instead, and makes x86
(which was the only architecture that did this) select the option.

NOTE! Even for x86, this really is kind of wrong.  If we cared, we would
probably not enable this for builds optimized for netburst (P4), where
shifts-and-adds are generally faster than multiplies.  This patch does
*not* change that kind of logic, though, it is purely a syntactic change
with no code changes.

This was triggered by the fact that we have other places that really
want to know "do I want to expand multiples by constants by hand or
not", particularly the hash generation code.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 186cec3
History
Tip revision: 72d931046030beb2d13dad6d205be0e228618432 authored by Linus Torvalds on 13 September 2014, 18:14:53 UTC
Make ARCH_HAS_FAST_MULTIPLIER a real config variable
Tip revision: 72d9310
File Mode Size
9p
adfs
affs
afs
autofs4
befs
bfs
btrfs
cachefiles
ceph
cifs
coda
configfs
cramfs
debugfs
devpts
dlm
ecryptfs
efivarfs
efs
exofs
exportfs
ext2
ext3
ext4
f2fs
fat
freevxfs
fscache
fuse
gfs2
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd
jbd2
jffs2
jfs
kernfs
lockd
logfs
minix
ncpfs
nfs
nfs_common
nfsd
nilfs2
nls
notify
ntfs
ocfs2
omfs
openpromfs
proc
pstore
qnx4
qnx6
quota
ramfs
reiserfs
romfs
squashfs
sysfs
sysv
ubifs
udf
ufs
xfs
Kconfig -rw-r--r-- 6.0 KB
Kconfig.binfmt -rw-r--r-- 7.2 KB
Makefile -rw-r--r-- 4.1 KB
aio.c -rw-r--r-- 41.8 KB
anon_inodes.c -rw-r--r-- 4.9 KB
attr.c -rw-r--r-- 7.9 KB
bad_inode.c -rw-r--r-- 7.8 KB
binfmt_aout.c -rw-r--r-- 11.1 KB
binfmt_elf.c -rw-r--r-- 57.3 KB
binfmt_elf_fdpic.c -rw-r--r-- 47.1 KB
binfmt_em86.c -rw-r--r-- 2.6 KB
binfmt_flat.c -rw-r--r-- 26.4 KB
binfmt_misc.c -rw-r--r-- 14.8 KB
binfmt_script.c -rw-r--r-- 2.7 KB
binfmt_som.c -rw-r--r-- 7.1 KB
block_dev.c -rw-r--r-- 44.2 KB
buffer.c -rw-r--r-- 88.7 KB
char_dev.c -rw-r--r-- 14.1 KB
compat.c -rw-r--r-- 37.0 KB
compat_binfmt_elf.c -rw-r--r-- 3.7 KB
compat_ioctl.c -rw-r--r-- 45.4 KB
coredump.c -rw-r--r-- 17.9 KB
dcache.c -rw-r--r-- 88.2 KB
dcookies.c -rw-r--r-- 6.9 KB
direct-io.c -rw-r--r-- 37.6 KB
drop_caches.c -rw-r--r-- 1.8 KB
eventfd.c -rw-r--r-- 11.3 KB
eventpoll.c -rw-r--r-- 59.0 KB
exec.c -rw-r--r-- 37.3 KB
fcntl.c -rw-r--r-- 16.7 KB
fhandle.c -rw-r--r-- 6.5 KB
file.c -rw-r--r-- 21.5 KB
file_table.c -rw-r--r-- 8.8 KB
filesystems.c -rw-r--r-- 6.4 KB
fs-writeback.c -rw-r--r-- 39.6 KB
fs_pin.c -rw-r--r-- 1.5 KB
fs_struct.c -rw-r--r-- 3.3 KB
inode.c -rw-r--r-- 50.0 KB
internal.h -rw-r--r-- 3.6 KB
ioctl.c -rw-r--r-- 15.5 KB
libfs.c -rw-r--r-- 27.4 KB
locks.c -rw-r--r-- 69.4 KB
mbcache.c -rw-r--r-- 24.1 KB
mount.h -rw-r--r-- 2.9 KB
mpage.c -rw-r--r-- 19.9 KB
namei.c -rw-r--r-- 110.8 KB
namespace.c -rw-r--r-- 74.2 KB
no-block.c -rw-r--r-- 688 bytes
open.c -rw-r--r-- 25.9 KB
pipe.c -rw-r--r-- 25.0 KB
pnode.c -rw-r--r-- 10.1 KB
pnode.h -rw-r--r-- 1.7 KB
posix_acl.c -rw-r--r-- 19.9 KB
proc_namespace.c -rw-r--r-- 7.4 KB
read_write.c -rw-r--r-- 30.1 KB
readdir.c -rw-r--r-- 6.9 KB
select.c -rw-r--r-- 25.4 KB
seq_file.c -rw-r--r-- 21.9 KB
signalfd.c -rw-r--r-- 9.1 KB
splice.c -rw-r--r-- 46.1 KB
stack.c -rw-r--r-- 2.5 KB
stat.c -rw-r--r-- 12.0 KB
statfs.c -rw-r--r-- 5.3 KB
super.c -rw-r--r-- 34.8 KB
sync.c -rw-r--r-- 9.5 KB
timerfd.c -rw-r--r-- 13.0 KB
utimes.c -rw-r--r-- 5.9 KB
xattr.c -rw-r--r-- 23.5 KB

back to top