proc.c:
	as a consequence of the implementation of proc_kill,
	any loop calling sleep should check for p->killed
	and be able to break out with an error return.

	can swap procdump up after proc_kill
	and then have proc_exit and proc_wait on same sheet

	sched ->  switch2scheduler?  or just switch?

	factor out switching and scheduling code from process code

trap.c
	if spin locks are ever held without cli,
	trap should call yield() only if nlock == 0

ide.c: synchronous disk write -> polling disk write.  search for
       (a)synchronous; xv6 doesn't have asynchronous writes.

fs.c: split all name operations off in name.c?  (starting with namei but move 
      wdir keep in fs.c)