Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Oct 2002 17:17:03 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Wilko Bulte <wkb@freebie.xs4all.nl>, Peter Wemm <peter@wemm.org>, Mikhail Teterin <mi+mx@aldan.algebra.com>, arch@FreeBSD.ORG
Subject:   Re: swapon some regular file
Message-ID:  <200210080017.g980H3Dl049578@apollo.backplane.com>
References:  <20021007212545.C363B2A88D@canning.wemm.org> <3DA204A7.50530BE5@mindspring.com> <20021008000656.A598@freebie.xs4all.nl> <3DA20F40.D3C3FD59@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
    The translation overhead isn't a major problem.  What is a
    major problem is the fact that having to do a translation
    may require additional I/O's... in fact, may require additional
    memory allocations.  Since pageouts usually occur when memory
    is low, the additional I/O can lead to a deadlock in the paging
    system.

    So the OS would definitely need to preallocate and record the
    physical block numbers / number ranges related to the new swap area.

    This is just as well since you can't safely use a sparse file to
    back the swap area anyway.  Since pageouts are essentially random,
    the underlying file blocks would be allocated non deterministically
    and the result would be a mess of seeks and no ability to cluster
    anything.

    This is easy to demonstrate with VN.  You can back a VN disk with
    a pre-allocated file, with a sparse file, with pre-reserved swap,
    or with sparse swap.  The performance of VN disks created with sparse
    files or swap tend to degrade rather quickly due to the severe 
    randomness in the seeking that winds up happening.

						-Matt

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210080017.g980H3Dl049578>