A fine-grained locking protocol permits multiple locks to be held simultaneously. In the case of real-time multiprocessor systems, prior work on such protocols has considered only mutex constraints. This unacceptably limits concurrency in systems in which some resource accesses are read-only. To remedy this situation, a variant of a recentlyproposed fine-grained protocol called the real-time nested locking protocol (RNLP) is presented that enables concurrent reads. Like the original RNLP, this reader/writer version is a "pluggable" protocol that has different variants for different schedulers and analysis assumptions. Some of these variants are asymptotically optimal with respect to priority-inversion blocking. This paper is the first to address the algorithmic and analytical intricacies that arise when attempting to support read-only resource accesses under fine-grained locking in multiprocessor real-time systems.