1
linux/include
Eric Dumazet 1bf47346d7 kernel/sys.c: get rid of expensive divides in groups_sort()
groups_sort() can be quite long if user loads a large gid table.

This is because GROUP_AT(group_info, some_integer) uses an integer divide.
So having to do XXX thousand divides during one syscall can lead to very
high latencies.  (NGROUPS_MAX=65536)

In the past (25 Mar 2006), an analog problem was found in groups_search()
(commit d74beb9f33 ) and at that time I
changed some variables to unsigned int.

I believe that a more generic fix is to make sure NGROUPS_PER_BLOCK is
unsigned.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-06 10:41:09 -08:00
..
acpi
asm-alpha alpha: fix warning by fixing flush_tlb_kernel_range() 2008-02-05 09:44:22 -08:00
asm-arm add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
asm-avr32 Fix __const_udelay declaration and definition mismatches 2008-02-06 10:41:06 -08:00
asm-blackfin remove mm_{ptov,vtop}() 2008-02-06 10:41:01 -08:00
asm-cris cris: remove unused __dummy, CONST_ADDR and ADDR from bitops.h 2008-02-05 09:44:24 -08:00
asm-frv timerfd: fix remaining architectures 2008-02-05 14:37:15 -08:00
asm-generic remove support for un-needed _extratext section 2008-02-06 10:41:01 -08:00
asm-h8300 remove mm_{ptov,vtop}() 2008-02-06 10:41:01 -08:00
asm-ia64 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2008-02-05 10:24:52 -08:00
asm-m32r Fix __const_udelay declaration and definition mismatches 2008-02-06 10:41:06 -08:00
asm-m68k cleanup after APUS removal 2008-02-06 10:41:01 -08:00
asm-m68knommu remove mm_{ptov,vtop}() 2008-02-06 10:41:01 -08:00
asm-mips add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
asm-parisc add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
asm-powerpc scheduled OSS driver removal 2008-02-06 10:41:02 -08:00
asm-ppc add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
asm-s390 taskstats scaled time cleanup 2008-02-06 10:41:00 -08:00
asm-sh Fix __const_udelay declaration and definition mismatches 2008-02-06 10:41:06 -08:00
asm-sparc add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
asm-sparc64 read_current_timer() cleanups 2008-02-06 10:41:02 -08:00
asm-um uml: LDT mutex conversion 2008-02-05 09:44:31 -08:00
asm-v850 remove mm_{ptov,vtop}() 2008-02-06 10:41:01 -08:00
asm-x86 Fix __const_udelay declaration and definition mismatches 2008-02-06 10:41:06 -08:00
asm-xtensa add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
crypto
keys
linux kernel/sys.c: get rid of expensive divides in groups_sort() 2008-02-06 10:41:09 -08:00
math-emu
media
mtd
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-02-05 10:09:07 -08:00
pcmcia pcmcia: replace kio_addr_t with unsigned int everywhere 2008-02-05 09:44:08 -08:00
rdma
rxrpc
scsi include/scsi/: Spelling fixes 2008-02-03 17:47:00 +02:00
sound
video
xen
Kbuild