cvs commit: src/sys/vm vm_map.c

John Hay jhay at icomtek.csir.co.za
Sun Oct 19 03:25:07 PDT 2003


Hi Alan,

On Sat, Oct 18, 2003 at 11:48:17AM -0700, Alan Cox wrote:
> alc         2003/10/18 11:48:17 PDT
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/vm               vm_map.c 
>   Log:
>   Corrections to revision 1.305
>    - Specifying VM_MAP_WIRE_HOLESOK should not assume that the start
>      address is the beginning of the map.  Instead, move to the first
>      entry after the start address.
>    - The implementation of VM_MAP_WIRE_HOLESOK was incomplete.  This
>      caused the failure of mlockall(2) in some circumstances.
>   
>   Revision  Changes    Path
>   1.312     +36 -22    src/sys/vm/vm_map.c

The new (4.2.0) ntpd does not panic the kernel anymore! I guess because of
this commit. Thanks.

I do see the following message in /var/log/mesaages though, so what should
one do to have it not fail?

Oct 19 12:06:28 angel ntpd[475]: ntpd 4.2.0 at 1.1161-r Sun Oct 19 12:03:50 SAST 2003 (18)
Oct 19 12:06:28 angel ntpd[475]: mlockall(): Resource temporarily unavailable

Hmmm, or is it the setrlimit(RLIMIT_STACK, &rl) just before mlockall()
that cause that? The code basically looks like this:

#################
if (getrlimit(RLIMIT_STACK, &rl) != -1
    && (rl.rlim_cur = 20 * 4096) < rl.rlim_max) {
	if (setrlimit(RLIMIT_STACK, &rl) == -1) {
		msyslog(LOG_ERR,
		    "Cannot adjust stack limit for mlockall: %m");
	}
}
if (mlockall(MCL_CURRENT|MCL_FUTURE) < 0)
	msyslog(LOG_ERR, "mlockall(): %m");
#################

John
-- 
John Hay -- John.Hay at icomtek.csir.co.za / jhay at FreeBSD.org


More information about the cvs-src mailing list