Okay I've listened and people said this should use rcu, so I've tried to work out what that looks like, and I present my first pass at using rcu for sync_file. I'm pretty sure I've probably missed some fundamental things here. As to Chris's reserveration_object questions, yes it does the rcu stuff and I suppose it does the exclusive fence (with 0 shared fences), so we'd want to make sync_file wrap reservation objects, not semaphores, since the main reason I'm at sync files in the first place is the file part for sharing them between processes. Dave.