Sam wrote this message on Mon, Oct 25, 2004 at 12:22 -0500: > >Sam <sah_at_softcardsystems.com> writes: > >>There are three entry points into the driver. 1) The disk > >>layer 2) the netisr routine 3) the rexmit timer. > > > >AFAIK, if the code that calls malloc() can be reached from 2) or 3), > >you're not allowed to use M_WAITOK. > > Hm. If that's true then I've either got to petition you > fellas to change disk_alloc(), disk_create(), and disk_destroy() > to use M_NOWAIT or schedule a callback where these calls > can be handled properly. > > Thoughts about either approach? I'd go and do a callback.. You can do that using the generic taskqueue setup for this task... It's not an event that happens often, so the delay to schedule and execute won't be significant... Changing disk_alloc and friends to use M_NOWAIT would have significant implications to other code... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."Received on Mon Oct 25 2004 - 15:14:48 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:19 UTC