Deadlock prevention policies for flexible manufacturing systems (FMS) usually suffer from redundant monitors since some monitors may be added to the siphons that are originally controlled. To eliminate these redundant monitors, the controllability condition of siphons is studied in this work. For a class of Petri nets called Systems of Simple Sequential Processes with Resources (S3PR), new concepts of simple and complex strict minimal siphons (SMS) are introduced. More importantly, a necessary and sufficient condition of controllability of complex SMS is proposed for the first time. Based on this condition, an algorithm is given to control all SMS via M-controlling part of them and a structurally simple optimal liveness-enforcing supervisor can thus be synthesized for some classes of S3PR. Two examples are provided to illustrate the application of the proposed algorithm and show its superiority to prior work.