The sentence "Modify yield(), lock_acquire(), lock_release(), etc. to deal with preemptive scheduling" in the P3 intro slides is misleading. You are NOT required to modify yield() in P3, as it is allready modified for you. This is why scheduler.c is not in bold in the project description, i.e., it is not among the files you are required to modify. You are however required to make sure it works properly with your implementation.