Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Jul 2009 09:37:31 -0500 (CDT)
From:      Mark Tinguely <tinguely@casselton.net>
To:        mih@semihalf.com, stas@FreeBSD.org, tinguely@casselton.net
Cc:        freebsd-arm@FreeBSD.org
Subject:   Re: pmap problem in FreeBSD current
Message-ID:  <200907071437.n67EbVnX012439@casselton.net>
In-Reply-To: <200907071402.n67E2WgH010354@casselton.net>

next in thread | previous in thread | raw e-mail | index | archive | help

sf_buf_alloc()/sf_buf_free() in vm_machdep.c also leaves dangling kernel
mappings.

/*
 * Detatch mapped page and release resources back to the system.
 */
void
sf_buf_free(struct sf_buf *sf)
{
#ifndef ARM_USE_SMALL_ALLOC
	mtx_lock(&sf_buf_lock);
	sf->ref_count--;
	if (sf->ref_count == 0) {
		TAILQ_INSERT_TAIL(&sf_buf_freelist, sf, free_entry);
		nsfbufsused--;
+		pmap_kremove(sf->kva);
		if (sf_buf_alloc_want > 0)
			wakeup_one(&sf_buf_freelist);
	}
	mtx_unlock(&sf_buf_lock);
#endif

--Mark Tinguely.



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