In this paper, the authors propose a procedure for production flow control in reentrant manufacturing systems. The system under study consists of N machines and produces M product types simultaneously. Each part goes through the system following a predefined process and may visit a machine many times. All machines are subject to random failures and need random repair times. The scheduling objectives are to keep the production close to demand and to keep the WIP inventory level and cycle times at low values. The model is motivated by semiconductor fabrication production. A three-level hierarchical controller is constructed to regulate the production. At the top level of this hierarchy, the authors perform capacity planning by selecting the desirable buffer sizes and the target production level for each operation. A production flow rate controller is at the middle level which recalculates the production rates whenever a machine fails or is starved or blocked. The loading times for individual parts are determined at the bottom level of the hierarchy. Comparison with alternative control is made through simulation and it shows that the control policy performs well.