Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Nov 2000 11:23:23 -0800 (PST)
From:      Matt Dillon <dillon@earth.backplane.com>
To:        Poul-Henning Kamp <phk@critter.freebsd.dk>
Cc:        Bruce Evans <bde@zeta.org.au>, Kirk McKusick <mckusick@mckusick.com>, arch@FreeBSD.ORG
Subject:   Re: softdep panic due to blocked malloc (with traceback) 
Message-ID:  <200011071923.eA7JNN881648@earth.backplane.com>
References:   <25669.973620773@critter>

next in thread | previous in thread | raw e-mail | index | archive | help
:Could we please have an eventhandler chain which gets called when
:we are short of KVM ?  There are code which can free KVM with no
:significant loss of anything but performance, if only we bother to
:tell it to do so.
:
:--
:Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
:phk@FreeBSD.ORG         | TCP/IP since RFC 956

    I don't think garbage collection is the answer, because there is always
    the possibility that there may not be sufficient garbage to collect.
    Resources have to be managed more actively and in such a way as to allow
    the system to recover from a severe memory shortage.  What this comes
    down to is that the I/O chain needs to be able to operate 'continuously'
    in a restricted memory environment.  Accomplishing this is extremely
    easy for the I/O chain -- one simply does not do any delayed-writes
    and one simply returns resources when one is through with them rather then
    trying to cache them.

    As long as the I/O chain continues to operate, the rest of the system
    can block, and recover, without creating a deadlock situation.

    It could be argued that garbage collection has already been tried and
    found to be wanting.  The pmap subsystem tries to garbage-collect
    page table pages already, and the results are not encouraging at all -
    it's a performance headache plus it cannot guarentee that anything will
    be returned to the system anyway.  In fact, in low-memory situations
    the pmap garbage collection doesn't help the pagedaemon at all.  It frees
    up some pages and the system then proceeds to eat those up and run out
    of memory again.  The system will still run out of memory.

					-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?200011071923.eA7JNN881648>