kth: Break up sem_down()