On Thu, 4 Jan 2007 10:45:05 -0800 (PST) Matthew Dillon <[EMAIL PROTECTED]> wrote:
> Good catch, Thomas. Those allocation calls are seriously broken. > No code is supposed to use M_RNOWAIT ... it is supposed to be an internal > flag used only by the other #define M_* macros. Without M_NULLOK the > kmalloc() will panic. Without any M_USE_* flags any RNOWAIT will > cause the underlying VM system to be called without the correct VM > allocation flags, and crash precisely due to the reason you cited. > > I also agree that M_*NOWAIT should not be used at al lthere. This is > probably a left-over from FreeBSD, which used M_NOWAIT freely in > initialization code with the expectation that the malloc would only > ever fail due to a lack of resources. In DragonFly, M_NOWAIT really > does mean no-waiting... any blocking condition will cause it to fail. > > All of those calls should probably be M_WAITOK. Please go ahead and > make that commit now. > > -Matt Does this also explain why this problem occurs in SMP only? -- Gergo Szakal <[EMAIL PROTECTED]> University Of Szeged, HU Faculty Of General Medicine /* Please do not CC me with replies, thank you. */
