From owner-freebsd-net Thu Sep 14 14:58:16 2000 Delivered-To: freebsd-net@freebsd.org Received: from cleitus.hosting.swbell.net (cleitus.hosting.swbell.net [216.100.99.4]) by hub.freebsd.org (Postfix) with ESMTP id 43FE337B423 for ; Thu, 14 Sep 2000 14:58:14 -0700 (PDT) Received: from imimic.com (adsl-216-63-78-19.dsl.hstntx.swbell.net [216.63.78.19]) by cleitus.hosting.swbell.net id RAA09556; Thu, 14 Sep 2000 17:58:09 -0400 (EDT) [ConcentricHost SMTP Relay 1.7] Message-ID: <39C149EF.A3DC0582@imimic.com> Date: Thu, 14 Sep 2000 16:58:07 -0500 From: "Alan L. Cox" Organization: iMimic Networking, Inc. X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 4.1-STABLE i386) X-Accept-Language: en MIME-Version: 1.0 To: net@freebsd.org Subject: Re: Clusters larger than PAGE_SIZE and contigmalloc() Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > < said: > > [Pointless four-space indentation removed.] > > >contigmalloc() may have trouble finding the required > >contiguous physical pages after a certain period of uptime. > > When the code was written (and this may have since rotted), > contigmalloc() would forcibly swap out every process on the machine > until it found some contiguous physical memory. Doesn't solve the > issue of virtual fragmentation, but physical fragmentation was not a > problem. The problem with contigmalloc is wired pages. Yes, it can forcibly swap "pageable" pages and recover them, but as soon as it runs into a wired page that chunk of memory is ruled out. Over time, you wind up with wired pages scattered throughout the physical memory. Hence, the failure of contigmalloc to find large chunks on long-running systems. Alan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message