Consider n independent jobs and m identical machines in parallel. Job j has a processing time p(j) and a deadline (d) over bar (j). It must complete its processing before or at its deadline. All jobs are available for processing at time t = 0 and preemptions are allowed. A set of jobs is said to be feasible if there exists a schedule that meets all the deadlines; such a schedule is called a feasible schedule. Given a feasible set of jobs, our goal is to find a schedule that minimizes the total completion time SigmaC(j). In the classical alpha|beta|gamma scheduling notation this problem is referred to as P|prmt, (d) over bar (j)\SigmaC(j). Lawler (Recent Results in the Theory of Machine Scheduling, in Mathematical Programming: The State of the Art, A. Bachem, M. Grotschel, and B. Korte, eds., Springer, Berlin, 1982, pp. 202 - 234) raised the question of whether or not the problem is NP-hard. In this paper we present a polynomial-time algorithm for every m greater than or equal to 2, and we show that the more general problem with m unrelated machines, i.e., R | prmt, (d) over bar (j)\SigmaC(j), is strongly NP-hard.