Re: v6: faster tree-based sysctl implementation
From: Lucian Adrian Grijincu <hidden>
Date: 2011-12-06 14:33:45
Also in:
lkml
On Tue, Dec 6, 2011 at 4:11 PM, Anca Emanuel [off-list ref] wrote:
time modprobe dummy numdummies=1000FATAL: Error inserting dummy (/lib/modules/3.2.0-3-generic/kernel/drivers/net/dummy.ko): Operation not permitted
Generally when you get "Operation not permitted" you should try with sudo. This is the man-page: http://xkcd.com/149/ :)
What are the practical problems you solve with this ? Name one or more.
Sysctl uses a slow algorithm: O(N^2) for insertions, O(N) for lookup, with a relatively big constant. The performance is acceptable when N is small, but sometimes it can grow to bigger values. One case where N can grow to very large values is when you add network interfaces. Some companies (like IXIACOM which sponsored this work at the beginning of this year) have use-cases in which they need 10^3..10^6 network interfaces. The current sysctl implementation is unacceptable for them. @Damien Millescamps might have some input on where he needs better sysctl performance as he prompted me to re-send this patch series. This algorithm is O(N * logN) for insert and O(logN) for lookup.
You add more code. This is not good. If you reduce the code, then it will be interesting.
Thank you. I know that, but it's easier said than done. I'd welcome some feedback in what could be simplified in my patches :) -- . ..: Lucian