Re: Kernel deadlock using nbd over acenic driver

Peter T. Breuer (ptb@it.uc3m.es)
Wed, 29 May 2002 12:51:14 +0200 (MET DST)


"A month of sundays ago Pavel Machek wrote:"
> Hi!
>
> > Look in some of the block drivers, floppy.c or loop.c. These do call
> > the task queue, even though that's only as an aid to the rest of the
> > kernel, because they know they can help at that point, and it's not at
> > all clear what context they're in. Perhaps it's best to look in
> > floppy.c, which runs the task queue in its init routine! I mean to say
>
> Init routine is called from insmod context or at kernel bootup (from pid==1).

That's nitpicking! That the kernel init routine runs after a process is
started is an accident (and I'm not sure it's true, but what the heck
..). Where does it say that one can rely on this?

My point is that the disk task queue "just happens". Maybe some days in
the life of the kernel development it happens in a process context,
and maybe some days it doesn't. Conceptually, I don't see any necesity
that it should or ought to, and even if it does, I don't see why it
should be expected to run in the context of a particular process, let
alone the one you think it should run in, on, by, from ...

> Both look like process context to me.

And both of the oranges in front of me look orange. Neverthess, I have
eaten some red oranges.

Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/