tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Concurrent trie-hash map
> On Oct 16, 2018, at 1:00 PM, Mindaugas Rasiukevicius <rmind%netbsd.org@localhost> wrote:
>
> Hi,
>
> I recently implemented thmap [1] -- a concurrent trie-hash map, combining
> the elements of hashing and radix trie. It is supports lock-free lookups
> and concurrent inserts/deletes. It is designed to be optimal as a general
> purpose *concurrent* associative array [2][3].
I think this is a great thing to add to kern/ as a general facility. There are applications beyond just the network stack, as well -- any read-mostly hash table that has a lock or an array-of-locks around it is a good candidate for being replaced by this.
We already have some objects in the kernel that use the "get-ref" / "put-ref" pattern for indicating they are being referenced; this is ideal for hooking in your G/C mechanism. We should probably, as a separate exercise, extend that pattern to most of the objects managed in our kernel (even if the put-ref is a no-op).
-- thorpej
Home |
Main Index |
Thread Index |
Old Index