I've not been fully through this series, but two comments: - we absolutely need the split out struct node_id as a preparatory patch before adding the new sockfd cache. Letting the casting mess get in first and clean up later will be way more work. This will also have various advantages like cleaning up the existing qsort/bsearch callbacks. - I've previously been non-exited about more liburcu use, but for a cache like this which gets hit by all threads I don't think using the slow sleeping pthread locks is a good idea. We need a lockless reader algorithm for this cache as soon as possible. |