From owner-freebsd-questions@FreeBSD.ORG Mon Oct 13 15:24:31 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84EB51065677 for ; Mon, 13 Oct 2008 15:24:31 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (casselton.net [63.165.140.2]) by mx1.freebsd.org (Postfix) with ESMTP id 453798FC21 for ; Mon, 13 Oct 2008 15:24:31 +0000 (UTC) (envelope-from tinguely@casselton.net) Received: from casselton.net (localhost [127.0.0.1]) by casselton.net (8.14.2/8.14.2) with ESMTP id m9DFOUu5069179; Mon, 13 Oct 2008 10:24:30 -0500 (CDT) (envelope-from tinguely@casselton.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=casselton.net; s=ccnMail; t=1223911470; bh=4iXECPGmf+bi5QlGZsXp3bh9As1Vzq16t/9xQ9D p4rQ=; h=Date:From:Message-Id:To:Subject:Cc:In-Reply-To; b=XwNLDnox fVuWz6MsgQS4PqmTksWqRv0vI3PkC9K6Zlr83rnEm583OFZ/GTpBIbj1J2q8tipkM9t +4Po51lVH1B3+tdukOO0AiijJYb34vfTZ4RkAu/jZxGtKJtxeg/T9+hZV6OSBbBP5AK ok1LzYHuf0MLAGu71CtEuOwoFIfg4= Received: (from tinguely@localhost) by casselton.net (8.14.2/8.14.2/Submit) id m9DFOU5i069178; Mon, 13 Oct 2008 10:24:30 -0500 (CDT) (envelope-from tinguely) Date: Mon, 13 Oct 2008 10:24:30 -0500 (CDT) From: Mark Tinguely Message-Id: <200810131524.m9DFOU5i069178@casselton.net> To: fbsdlists@gmail.com, tinguely@casselton.net In-Reply-To: <54db43990810130621s63ea1ec9nc085d79b0c230ad6@mail.gmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: kernel: Approaching the limit on PV entries... X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Oct 2008 15:24:31 -0000 > Thanks. I'll see what happens. > > In amd64/7.0 is there any chance running out of pv_entrys would show > up as failures in interprocess communication rather than a panic? The > original symptom was that certain web pages (or jailed servers, I'm > not sure) were unreachable, as if the firewall were misconfigured, > until the system was rebooted. I didn't get to look at the system > before it was rebooted, and I find very little in the logs to explain > what was going on. Sometimes pv_entry allocation can fail even below the pv_entry_high_water if there is no more free pages available to allocate for a pv_entry chunk. Operations (such temp mappings, copies) will not occur if the pv_entry_high_water (90% if pv_entry_max) has been reached OR a page is not immediately available for allocation. The first situation is quiet, you could put a sysctl counter. Maybe PV_STAT(pc_chunk_tryfail++) should be moved from get_pv_entry() to the "else" case of the routine pmap_try_insert_pv_entry(). On the other hand, some allocations (permanent mapping) are unconditional and can occur even when pv_entry_max has been exceeded (amd64). The code will also wait for page allocations. --Mark Tinguely.