Adjust the check for what segments should go on the low priority free list.

If a segment starts exactly at 16M don't try to split it because that causes
the code to try to call uvm_page_physload with a zero length segment.
(kern/17199)
This commit is contained in:
erh 2002-09-05 02:43:00 +00:00
parent 18a1b84074
commit 5a02e1abe2

View File

@ -1,4 +1,4 @@
/* $NetBSD: machdep.c,v 1.479 2002/08/25 20:21:37 thorpej Exp $ */
/* $NetBSD: machdep.c,v 1.480 2002/09/05 02:43:00 erh Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998, 2000 The NetBSD Foundation, Inc.
@ -76,7 +76,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.479 2002/08/25 20:21:37 thorpej Exp $");
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.480 2002/09/05 02:43:00 erh Exp $");
#include "opt_cputype.h"
#include "opt_ddb.h"
@ -2968,7 +2968,7 @@ init386(first_avail)
/* First hunk */
if (seg_start != seg_end) {
if (seg_start <= (16 * 1024 * 1024) &&
if (seg_start < (16 * 1024 * 1024) &&
first16q != VM_FREELIST_DEFAULT) {
u_int64_t tmp;
@ -3001,7 +3001,7 @@ init386(first_avail)
/* Second hunk */
if (seg_start1 != seg_end1) {
if (seg_start1 <= (16 * 1024 * 1024) &&
if (seg_start1 < (16 * 1024 * 1024) &&
first16q != VM_FREELIST_DEFAULT) {
u_int64_t tmp;