Date: Thu, 14 Sep 2000 16:58:07 -0500 From: "Alan L. Cox" <alc@imimic.com> To: net@freebsd.org Subject: Re: Clusters larger than PAGE_SIZE and contigmalloc() Message-ID: <39C149EF.A3DC0582@imimic.com>
next in thread | raw e-mail | index | archive | help
> <<On Wed, 13 Sep 2000 20:13:05 -0400 (EDT), Bosko Milekic <bmilekic@dsuper.net> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39C149EF.A3DC0582>