Skip site navigation (1)Skip section navigation (2)
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>