From: Timothy Hockin <th122948@scl2.sfbay.sun.com>
To: torvalds@transmeta.com, linux-kernel@vger.kernel.org
Subject: [BK SUMMARY] Remove NGROUPS hard limit (re-re-re-re-send)
Date: Thu, 12 Dec 2002 13:28:59 -0800 (PST) [thread overview]
Message-ID: <200212122128.gBCLSxi17247@scl2.sfbay.sun.com> (raw)
Linus,
This patch removes the hard NGROUPS limit. It has been in use in a similar
form on our systems for some time.
There is a small change needed for glibc, and I will send that patch to the
glibc people when this gets pulled.
Unlike some prior versions of this patch, I have changed qsort() to a simple
non-recursive sort. Several people indicated that this change would solve
their objections. I have also changed the behavior of sys_setgroups to use an
inline array of gid_t for small sets of groups. Larger sets of groups use
kmalloc, and very large sets use vmalloc. This has turned up a big speed
increase for the (admittedly stupid) test of setgroups() in a loop with random
data and sets of 1-32 items, repeated hundreds of thousands of times, as well
as the tests of setgroups with random set sizes between 1 and 10000.
Lastly, this does not fixup all the architectures. I have or will soon 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:
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 | 3
include/linux/limits.h | 3
include/linux/sched.h | 6 +
include/linux/sunrpc/svcauth.h | 3
kernel/exit.c | 7 +
kernel/fork.c | 7 +
kernel/sys.c | 144 ++++++++++++++++++++++++++++++++++-------
kernel/uid16.c | 64 +++++++++++++-----
lib/Makefile | 4 -
lib/bsearch.c | 49 +++++++++++++
net/sunrpc/svcauth_unix.c | 4 -
15 files changed, 256 insertions(+), 56 deletions(-)
through these ChangeSets (diffs in separate email):
<thockin@freakshow.cobalt.com> (02/12/04 1.906)
Remove the limit of 32 groups. We now have a per-task, dynamic array of
groups, which is kept sorted and refcounted. If the task has less than 32
groups, we behave like older kernels and use an inline array.
This ChangeSet incorporates all the core functionality. but does not fixup
all the incorrect architecture usages of groups.
next reply other threads:[~2002-12-12 21:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-12 21:28 Timothy Hockin [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-12-05 1:50 [BK SUMMARY] Remove NGROUPS hard limit (re-re-re-re-send) Timothy Hockin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200212122128.gBCLSxi17247@scl2.sfbay.sun.com \
--to=th122948@scl2.sfbay.sun.com \
--cc=linux-kernel@vger.kernel.org \
--cc=thockin@sun.com \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.