Subject: Re: mmap, siginfo
To: None <tls@rek.tjls.com, towl0008@tc.umn.edu>
From: r.o.s.s <ross@netbsd.org>
List: tech-kern
Date: 02/17/2002 18:57:52
We don't apply the datasize limits very seriously to mmap(2) calls,
but we do check that any one call doesn't bust the limit. Effectively,
cmucl was intentionally activating a bug in mmap(2) instead of clearing
the soft setrlimit(2).
Sometimes I think those limits are more trouble than they are worth,
although mmap(2) would have returned a reasonable ENOMEM in the
limit-busting case. Or, you could argue that the goofy check in
mmap(2) is worse than no check at all, because it's confusing.
r.o.s.s
> From: Thor Lancelot Simon <tls@rek.tjls.com>
>
> On Sun, Feb 17, 2002 at 04:30:00PM -0600, John R Towler wrote:
> >
> > Difficulties apparently are manifest in the OS facilities desired in
> > the new, experimental port of cmucl to NetBSD/x86. Wrt the comments
> > below, the facilities desired are
> >
> > ((a) the ability to map memory in chunks >= 128M
>
> I don't understand what the problem is, here. I mmap more than 128MB
> at a time with some regularity; no problems to report.
>
> Perhaps the author of the comment you enclosed didn't check that his
> resource limits were set appropriately? I note that:
>
> 1) The default "datasize" limit is 128MB
>
> 2) Many other Unix variants incorrecly *don't count mmap allocations
> against *any* resource limit *at all**, allowing the use of mmap()
> to completely bollix up the system.