On Fri, 6 Jun 2003, David S. Miller wrote:
> unregister_netdevice() rips the device out and returns, and
> the problems we need to fix to make this work %100 are problems
> that exist regardless of whether things operate asynchronously
> or not.
>
> For example, crap like this was always busted:
>
> rmmod eth0 </proc/sys/net/ipv4/conf/eth0/whatever
>
> and now the asynchornous model forces us to fix this.
The basic problem is still that module_exit is a synchronous interface,
from where you can't call any asynchronous functions, unless you prevent
new callbacks via try_module_get() or you have to wait for all pending
events. This means you have to artificially turn an asynchronous interface
into a synchronous one, if you want to use it from module_exit.
The current problems can be of course fixed within the current module
model, but it certainly won't be simpler than the alternatives. An
asynchronous module model would greatly help to avoid lots of
try_module_get() in many code paths.
> It really showed how pointless linux-kernel discussion can
> be and how much such rediculious discussions can totally impede
> real progress because someone LOUD disagrees with someone's
> game plan.
Well, I certainly won't stand in the way, if people want to learn it the
hard way. I can try to explain the problems, but I can't force anyone to
listen. On the contrary I can only encourage everyone to fix the problems
within the current module framework, it's certainly possible. The high
level interfaces like file systems or network devices are rather simple,
but the more fine-grained the modules become, the more interesting it will
get. These problems need to be fixed anyway and once they are fixed, the
easier it will be for me to demonstrate alternative solutions (for 2.6
it's too late anyway and I don't have the time to fix all the problems
myself) and until then I have no problem to just shut up if nobody wants
to listen anyway.
The only thing I really regret are the complete new user utilities, this
was completely unnecessary and it will likely change again anyway (by
merging it with the hot plug interface).
bye, Roman
-
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/