From owner-freebsd-hackers Thu Oct 11 10:10:44 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from ra.udcast.com (ANice-101-2-1-104.abo.wanadoo.fr [193.251.10.104]) by hub.freebsd.org (Postfix) with ESMTP id 93F0737B401 for ; Thu, 11 Oct 2001 10:10:40 -0700 (PDT) Received: (from pplc@localhost) by ra.udcast.com (8.11.0/8.11.0) id f9BHAcW24404; Thu, 11 Oct 2001 19:10:38 +0200 Date: Thu, 11 Oct 2001 19:10:38 +0200 Message-Id: <200110111710.f9BHAcW24404@ra.udcast.com> From: Patrick Cipiere To: freebsd-hackers@freebsd.org Subject: contigfree, free what? Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG We are currently working with FreeBSD 4.3 and we found out that kldloading/kldunloading modules working with contigmalloc()/contigfree() like if_xl.ko produces a memory leak. This is due to the contigfree() function which seems to uncompletely release the memory ressource allocated in vm_page_array. When contigmalloc() steps in vm_page_array, it does not find back the pages previously released by contigfree() The loop vm/vm_page.c is this one: for (i = start; i < cnt.v_page_count; i++) { int pqtype; phys = VM_PAGE_TO_PHYS(&pga[i]); pqtype = pga[i].queue - pga[i].pc; if (pqtype == PQ_FREE It fails on the `pqtype == PQ_FREE' test and the previously allocated (and supposedly released by contigfree) pages can't be reallocated. Anyone has a patch? Thanx, Patrick. -- UDcast: Full IP over Broadcast Media Phone: (+33) (0)4 93 00 16 99 Mobile: (+33) (0)6 14 21 55 98 Fax: (+33) (0)4 93 00 16 61 http://www.UDcast.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message