In an ext2fs instance with 1068 threads, _hurd_sigstates was a linked with with 1067 entries, in one with 351 threads, 351 entries. Is this noticeable already? Perhaps a different data structure is needed? Though, a linked list is perfect for the common case of processes with only a handful of threads.