[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbsd-bugs
Subject:    Re: kernel/5933: roughly weekly crash in _bus_dmamem_alloc_range
From:       Miod Vallat <miod () online ! fr>
Date:       2008-09-30 19:35:01
Message-ID: 200809301935.m8UJZ1Lv012534 () cvs ! openbsd ! org
[Download RAW message or body]

The following reply was made to PR kernel/5933; it has been noted by GNATS.

From: Miod Vallat <miod@online.fr>
To: dave@geekisp.com
Cc: gnats@openbsd.org
Subject: Re: kernel/5933: roughly weekly crash in _bus_dmamem_alloc_range
Date: Tue, 30 Sep 2008 19:19:05 +0000

 > After about 7 or 8 days of doing its normal duties, this machine of mine
 > crashes.  Its almost always at the same time of day (roughly 4:30am EST).
 > There is a somewhat IO intensive cron job that reads a large amount of data 
 > from a PostgreSQL database that starts at approximately 4am EST, I believe
 > this is the trigger.
 > 
 > Oddly the problem happens consistently on the 7th or 8th day of uptime.
 > Before then, the machine behaves fine.
 
 What happens is that so much of your physical memory is used, the kernel
 can't find a couple of contiguous pages.
 
 The following diff, against -CURRENT, should fix the panic you're seeing
 (it's really a blunder on my side, sorry). However your system is likely
 to die quickly elsewhere in the kernel, since it looks like your machine
 is exposing a memory leak in the kernel.
 
 Miod
 
 Index: uvm_pglist.c
 ===================================================================
 RCS file: /cvs/src/sys/uvm/uvm_pglist.c,v
 retrieving revision 1.23
 diff -u -p -r1.23 uvm_pglist.c
 --- uvm_pglist.c	27 Jun 2008 17:25:47 -0000	1.23
 +++ uvm_pglist.c	30 Sep 2008 19:16:10 -0000
 @@ -302,6 +302,12 @@ uvm_pglistalloc(size, low, high, alignme
  		}
  	}
  
 +	/*
 +	 * We could not allocate a contiguous range.  This is where
 +	 * we should try harder if nsegs > 1...
 +	 */
 +	goto out;
 +
  #if PGFL_NQUEUES != 2
  #error uvm_pglistalloc needs to be updated
  #endif

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic