2002-10-29 19:26:24

by Timothy Hockin

[permalink] [raw]
Subject: [BK SUMMARY] fix NGROUPS hard limit (resend)

Linus,

This patchset removes the hard NGROUPS limit. It has been in use in a similar
form (but with a sysctl-set limit) on our systems for some time.

I have a separate patch to convert XFS to the generic qsort(), which I will
bounce to SGI if/when this gets pulled.

There is a small change needed for glibc, and I will send that patch to the
glibc people if/when this gets pulled.

Lastly, this does not fixup all the architectures. I have other patchsets for
that, which need to be reviewed by arch maintainers.

Tim


Please do a

bk pull http://suncobalt.bkbits.net/ngroups-2.5

This will update the following files:

include/linux/nfsiod.h | 52 -----------
fs/nfsd/auth.c | 11 +-
fs/proc/array.c | 2
include/asm-i386/param.h | 4
include/linux/init_task.h | 1
include/linux/kernel.h | 5 +
include/linux/limits.h | 3
include/linux/sched.h | 3
include/linux/sunrpc/svcauth.h | 3
kernel/exit.c | 6 +
kernel/fork.c | 4
kernel/sys.c | 88 +++++++++++++++-----
kernel/uid16.c | 63 ++++++++++----
lib/Makefile | 5 -
lib/bsearch.c | 49 +++++++++++
lib/qsort.c | 180 +++++++++++++++++++++++++++++++++++++++++
net/sunrpc/svcauth_unix.c | 4
17 files changed, 380 insertions(+), 103 deletions(-)

through these ChangeSets (diffs in separate email):

<[email protected]> (02/10/21 1.812)
no one references nfsiod.h anymore - nix it.

<[email protected]> (02/10/21 1.811)
fix usage of NGROUPS in nfsd and svcauth

<[email protected]> (02/10/21 1.810)
Remove the limit of 32 groups. We now have a per-task, dynamic array of
groups, which is kept sorted and refcounted.

This ChangeSet incorporates all the core functionality. but does not fixup
all the incorrect usages of groups. That is in a seperate ChangeSet.

<[email protected]> (02/10/21 1.809)
Add generic qsort() and bsearch(): qsort() from BSD, bsearch() from glibc


2002-10-29 22:11:12

by Alan

[permalink] [raw]
Subject: Re: [BK SUMMARY] fix NGROUPS hard limit (resend)

On Tue, 2002-10-29 at 19:32, Timothy Hockin wrote:
> Linus,
>
> This patchset removes the hard NGROUPS limit. It has been in use in a similar
> form (but with a sysctl-set limit) on our systems for some time.
>
> I have a separate patch to convert XFS to the generic qsort(), which I will
> bounce to SGI if/when this gets pulled.

What is the worst case stack usage of your qsort ?

2002-10-29 23:13:54

by Tim Hockin

[permalink] [raw]
Subject: Re: [BK SUMMARY] fix NGROUPS hard limit (resend)

Alan Cox wrote:
> On Tue, 2002-10-29 at 19:32, Timothy Hockin wrote:
>
>>Linus,
>>
>>This patchset removes the hard NGROUPS limit. It has been in use in a similar
>>form (but with a sysctl-set limit) on our systems for some time.
>>
>>I have a separate patch to convert XFS to the generic qsort(), which I will
>>bounce to SGI if/when this gets pulled.
>
>
> What is the worst case stack usage of your qsort ?

Unfortunately, I haven't done an analysis of this algorithm, but quick
empirical tests for random, reversed, and sorted data show stack usage
to be about 50% less than glibc's qsort() for large data sets. We were
using the qsort() as exists in XFS, but when discussing with Cristoph,
he asked that we use this qsort() implementation instead. It seems to
perform markedly better for large sets, too.




--
Tim Hockin
Systems Software Engineer
Sun Microsystems, Linux Kernel Engineering
[email protected]