On Linux 3.17, the Linux kernel has gotten an implementation of “relativistic hash tables” that can be resized while lookups proceed concurrently
"Relativistic" refers to the fact that the relative timing of two events (hash table insertions, say) that are not causally related may appear different to independent observers. In other words, one CPU may see two items inserted into the table in one order, while those insertions appear to have happened in the opposite order on another CPU. Despite some interesting performance results, this technique did not find its way into the kernel until the 3.17 merge window opened
There is a nice introduction in Linux Weekly.