There might be a noticeable performance impact to making it truly modular. Calling a function in a module is slower. In some tests, I see a 5 to 10% drop in performance when Ethernet driver is a module versus builtin.On Tue, 22 Feb 2005 10:14:47 -0800, David S. Miller <davem@xxxxxxxxxxxxx> wrote:
On Tue, 22 Feb 2005 13:03:11 -0500 (EST) John Heffner <jheffner@xxxxxxx> wrote:
> An idea I've been toying with for a while now is completely abstracting > congestion control. Then you could have congestion control loadable > modules, which would avoid this mess of experimental algorithms inside the > main-line kernel. If done right, they might be able to work seamlessly > with SCTP, too. The tricky part is making sure the interface is complete > enough.
You might want to look at how the I/O schedulers are configured as an example.
The symbols exported to allow this would need to be EXPORT_SYMBOL_GPL().
Why's that?
Because the kernel developers who hold the collective copyright on the existing GPL TCP code do not want some vendor producing a closed source binary module of "enhanced TCP".
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html