> On Mon, 18 Jan 1999, Mike Smith wrote: > > > > > So malloc() will generally not return NULL even in low memory > > > > situations > > > > unless the KVM map fills up, which isn't supposed to happen but can > > > > in > > > > certain severe circumstances. Callers should therefore check for > > > > NULL. > > > > > > why not just put it in a loop and block on lbolt? > > > (or call panic) > > > > Because you shouldn't panic unless there's no alternative. Panicking > > on resource starvation is just totally lame. > > And what's wrong with spinning inside malloc until the resources are free?
If you have to ask this, you have a lot of reading to do before you're going to be able to understand any of the deadlock issues. Just as a hint for this one though - if you're spinning inside malloc() waiting for the resources to be freed, who is going to free them? > There are places that architecturally require M_WAITOK to not return NULL. > Look at the void () functions that call malloc/MALLOC. These are (obviously) bogus code. So they need to be fixed... > Also, commit the > attached patch; it was OKed by Bruce to disallow this, but he seems to forget > to commit it. I'm not going to second-guess Bruce on this one. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ m...@smith.net.au \\ The race is long, and in the \\ msm...@freebsd.org \\ end it's only with yourself. \\ msm...@cdrom.com To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-current" in the body of the message