From: Mark Tinguely <[EMAIL PROTECTED]> To: [EMAIL PROTECTED], [EMAIL PROTECTED] Subject: Re: KVA space problems? Date: Wed, 26 May 2004 15:47:41 -0500 (CDT)
This has been seen before and there is at least one open problem report that the kernel malloc() unexpectantly returns NULL in WAITOK situations.
http://www.freebsd.org/cgi/query-pr.cgi?pr=i386/53382
--- I think malloc returns before your patch, namely around line 199:
va = (caddr_t) kmem_malloc(kmem_map, (vm_size_t)ctob(npg), flags ); if (va == NULL) { splx(s); return ((void *) NULL); }
Although, I agree that the kernel malloc() should not do this, if KVM is depleted or fragmented to this point, I suspect your changes of simply retrying again will cause an infinite loop in malloc().
If malloc() sleeps waiting for KVM to be freed, my guess this will lead to the processes to hang for a long time if not forever.
I think this because people are bumping the MBUFs numbers up and not
changing the KVM size, once the KVM is depleted/fragmented it shouldn't
come down for a long time.
---
The pre 5.x VM assumes KVM will not be depleted. contigmalloc() used to leak
physical pages if the KVM got depleted. I was told "the system will panic
soon anyway, why put them back".
--Mark Tinguely _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"
_________________________________________________________________
Get 200+ ad-free, high-fidelity stations and LIVE Major League Baseball Gameday Audio! http://radio.msn.click-url.com/go/onm00200491ave/direct/01/
_______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"

