No, that doesn't quite make sense.  The mflags argument to
oskit_skbufio_mem_alloc uses OSENV_* flag bits, not GFP_* flag bits.
kmalloc needs GFP_* flag bits.  However, note the assert early in
oskit_skbufio_mem_alloc, so you know mflags is always just OSENV_NONBLOCKING.

So just calling it with GFP_ATOMIC seems more or less correct.
The assert ensures that no other flags (e.g. OSAENV_ISADA_MEM) are there,
so no other flags should be needed in the allocation.

Perhaps the problem is "#define GFP_ATOMIC 0" in <oskit/io/skbufio.h>?  I
don't know why that's there.  But if skbuff_mem.c is using 0 instead of the
actual GFP_ATOMIC bit value, that would explain your problem, right?
Try changing that kmalloc call to use __GFP_HIGH instead (that's what
GFP_ATOMIC is defined to in oskit/linux/src/include/linux/mm.h).

You should definitely post to oskit-users about what that #define is doing
there.  (But note that one of the key guys is out of town right now.)


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to