In this paper, we are interested in energy-efficient concurrency control for real-time tasks on a non-ideal DVS processor. Based on well-known ceiling-based concurrency control protocols (such as priority ceiling protocol (PCP) and stack resource policy (SRP)), researchers have proposed energy-efficient approaches to mange concurrent accesses to shared resources so that the energy consumption can be reduced. However, ceiling-based protocols have a problem of ceiling blocking which imposes a great impact on the performance of real-time systems. In order to achieve sufficient performance, we propose a new protocol, called conditional abortable stack resource policy (CA-SRP), to resolve the ceiling blocking problem for dynamic-priority real-time tasks by incorporating a conditional abort rule into SRP. Based on the schedulability analysis of CA-SRP, we also propose a method, called dynamic speed assignment (DSA), to dynamically calculate and assign proper processor speeds for task execution so that the energy consumption can be reduced further. The capabilities of our proposed CA-SRP and DSA have been evaluated by a series of experiments, for which we have encouraging results.