This document discusses using user space RCU (URCU) for thread synchronization in GlusterD, the management daemon for the Gluster distributed file system. It begins with an introduction to Gluster and GlusterD, noting that GlusterD was initially single-threaded but was changed to be multi-threaded. This introduced the need for thread synchronization, which was initially implemented with a "big lock" but had issues. The document then provides an overview of RCU and how it can provide advantages over read-write locks for thread synchronization. It covers the key mechanisms of RCU, various URCU flavors, URCU APIs, and examples of when URCU would be useful.