Index: doc/theses/thierry_delisle_PhD/code/relaxed_list.hpp
===================================================================
--- doc/theses/thierry_delisle_PhD/code/relaxed_list.hpp	(revision 9304ca22751b45f2db1efe1467957d95e96a2e71)
+++ doc/theses/thierry_delisle_PhD/code/relaxed_list.hpp	(revision 2e5fd8b6bb9a252b9bf620b39f5a73f2f2d9360a)
@@ -20,6 +20,8 @@
 
 #include <cmath>
+#include <functional>
 #include <memory>
 #include <mutex>
+#include <thread>
 #include <type_traits>
 
@@ -81,5 +83,5 @@
 	  	, lists(new intrusive_queue_t<node_t>[numLists])
 		#if VARIANT == SNZI || VARIANT == BIAS || VARIANT == BACK || VARIANT == BACKBIAS
-			, snzi( std::log2( numLists / (2 * numQueues) ), 2 )
+			, snzi( std::log2( numLists / (numQueues) ), 2 )
 		#elif VARIANT == SNZM || VARIANT == DISCOVER
 			, snzm( numLists )
@@ -434,6 +436,6 @@
 
 	static __attribute__((aligned(128))) thread_local struct TLS {
-		Random     rng1 = { int(rdtscl()) };
-		Random     rng2 = { int(rdtscl()) };
+		Random     rng1 = { unsigned(std::hash<std::thread::id>{}(std::this_thread::get_id()) ^ rdtscl()) };
+		Random     rng2 = { unsigned(std::hash<std::thread::id>{}(std::this_thread::get_id()) ^ rdtscl()) };
 		unsigned   my_queue = (ticket++) * 4;
 		pick_stat  pick;
