Hello, On 20-03-2012 04:51, yang kidz wrote:
As hash table implementation is network related, I'm also familiar with the hash table programming and have been using hash and know some basic about it.
Thanks for your interest. Just a small note: HelenOS has a microkernel design, thus the hash table in our kernel is not actually being used for networking (the kernel does not know anything about networking, it does not know anything about file systems and other user space stuff for that matter).
On the other hand, the hash table has many uses in our kernel (e.g. in the IPC) and a very similar implementation of a hash table is being used in user space, too. There it might be indeed used for networking.
I have great interest in the kernel and I would like to improve the hash table implementation. And I'm going to search more info for this idea,and anaylise the linux source code of the related functions.
OK, learning from Linux certainly cannot hurt. Just remember that the goal here is not to port the Linux implementation to HelenOS.
I should even warn you not to directly copy any code from Linux to HelenOS: If one wants to integrate a piece of GPL code into a BSD codebase, one needs to contact the original author of the GPL code and ask him/her for the permission to re-license the particular piece of code.
Speaking about the hash table: The basic outline and requirements of the topic can be found in the ticket [1]. I would add that one of the key improvements should be scalability on multicore systems, which brings us to non-blocking algorithms and progressive synchronization mechanisms such as RCU (Read-Copy-Update).
I have supervised an excellent master thesis of my colleague Andrej Podzimek [2] (in English) which describes a novel implementation of RCU in the Solaris kernel. It also deals with the implementation of a non-blocking hash table. I suggest this text as a great source of inspiration.
[1] http://trac.helenos.org/ticket/398 [2] https://andrej.podzimek.org/thesis.pdf M.D. _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/cgi-bin/listinfo/helenos-devel
