Well, OK.
> context, and it looks to me like unplug is *blocking* operation so it
> really needs proceess context.
unplug unsets the plugged flag and calls the request function. The
question is whether the request function is allowed to block. I argue
that it is not, on several grounds:
1) it's also - and principally - been called from various task
queues, which aren't really associated with a process context, and
certainly not with the process context that set the task
2) blocking is really bad news depending on how we got to the
request function, which is not a really predictable thing, since
i) it can change with every kernel version
ii) it depends on what somebody else does
3) if we block against memory for buffers, in particular, the
the system is now very likely to be dead, since VM just went
synchronous.
and probably you know lots better arguments!
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/