From owner-freebsd-arm@FreeBSD.ORG Wed Jan 28 10:37:06 2009 Return-Path: Delivered-To: arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21E571065672 for ; Wed, 28 Jan 2009 10:37:06 +0000 (UTC) (envelope-from gjb@semihalf.com) Received: from semihalf.com (semihalf.com [206.130.101.55]) by mx1.freebsd.org (Postfix) with ESMTP id D8C7A8FC1D for ; Wed, 28 Jan 2009 10:37:05 +0000 (UTC) (envelope-from gjb@semihalf.com) Received: from mail.semihalf.com (mail.semihalf.com [83.15.139.206]) by semihalf.com (8.13.1/8.13.1) with ESMTP id n0SAb0Ux029496; Wed, 28 Jan 2009 03:37:00 -0700 Message-ID: <4980356A.4090403@semihalf.com> Date: Wed, 28 Jan 2009 11:37:30 +0100 From: Grzegorz Bernacki MIME-Version: 1.0 To: Mark Tinguely , arm@freebsd.org References: <200901071955.n07Jthqu057051@casselton.net> In-Reply-To: <200901071955.n07Jthqu057051@casselton.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Subject: Re: svn commit: r186730 - in head... X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jan 2009 10:37:06 -0000 Mark Tinguely wrote: > Here is the "svn diff" from a week or so ago. The url is below in case > the inclusion adds some extra characters. > > http://www.casselton.net/~tinguely/arm_pmap_unmanage.diff > Mark, I downloaded your patch and applied it (after a few modification to get rid of compile errors). However, when I boot the board with new code it hangs. The problem is with uma allocator for pv_entries. When there is no more entries available it create new ones. It includes mapping memory into kernel using pmap_qenter. And then recurrence starts, pmap_qenter calls pmap_kenter which tries to allocate pv_entry and so on. I think that pv_entries for pmap_kenter should be allocated from some special pool to avoid this problem. Or some threshold could be set for uma allocator to force allocation of new pv_entries if number of free entries drops below the threshold, but I am not sure if it is possible without extending uma interface. Grzesiek