From: Mathieu Desnoyers Date: Tue, 1 Oct 2013 14:51:10 +0000 (-0400) Subject: Fix urcu-bp: don't move registry X-Git-Tag: v0.8.1~8 X-Git-Url: http://git.lttng.org./?a=commitdiff_plain;h=a0d529ecc9949d776800f5a006974d6bf410910e;hp=a0d529ecc9949d776800f5a006974d6bf410910e;p=userspace-rcu.git Fix urcu-bp: don't move registry It is not correct to move the registry address range, since there are external references from reader threads. This will trigger on workloads with many threads. Typically, on Linux, mremap can expand the existing range, which is OK. However, if there is not enough space around the existing range, it may try to map it at a different address, which is incorrect. It is more likely that this bug will be observed on operating systems where urcu uses the mmap/munmap fallback instead of mremap. Moreover, prior to commit: "Fix: urcu-bp: Bulletproof RCU arena resize bug" this issue was hidden by the fact that each thread ended up with their own memory mapping (leaked), on Linux at least. Signed-off-by: Mathieu Desnoyers ---