Check that `grade' reports are perfect.
[pintos-anon] / TODO
diff --git a/TODO b/TODO
index d4afd5c0ad8b2782c3403364270b50bdc385c903..3d3207cbe93329bf20d6826e2517651b565323bc 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,37 +1,33 @@
 -*- text -*-
 
-* The tests in tests/ don't apply the grading patches.
+* Put time limits on tests.
+
+* `make grade'
 
 * We need better and more example programs.
 
   - Need an mmap example program as a replacement for the crappy mmap FAQ
     question.
 
-  - How about `diff' and `cmp' programs?
+* Give advice on how to use `diff' to find out what has changed
 
-* Make it clear that the students own their code, because there was some
-  confusion on that point.
+* pintos script doesn't (always?) delete temp disks
+
+* GNU make 3.80 or later is required.
+
+* Finish writing tour.
 
-* Threads:
 
-  - join-invalid doesn't compile if tid_t is not scalar type.
 
-  - mlfqs tests suck.  They aren't even correct, e.g. the amarv
-    submission from win0405 is graded incorrectly.
 
-* Userprog project:
 
-  - Don't emphasize that stuff needs to be copied from user space to
-    kernel space.  Instead, emphasize validation and suggest that
-    copying is a common solution and that it will be necessary in
-    project 3 and in real OSes.  Also revise the grading criteria to
-    match.
+* process_death test needs improvement
 
-  - Move `join' implementation here, from `threads' project, to help
-    normalize the project difficulties.
+* Internal tests.
 
-  - The semantics of the join system call should change so that it
-    only returns the exit code once.
+* Improve automatic interpretation of exception messages.
+
+* Userprog project:
 
   - Mark read-only pages as actually read-only in the page table.  Or,
     since this was consistently rated as the easiest project by the
     Alternately we could just remove the synchronization on pid
     selection and check that students fix it.
 
-* VM project:
-
-  - Discuss the perils of mixing dirty bits between kernel and user virtual
-    memory.
-
-  - Sample solution.
-
-  - Update grading/vm to reflect new mmap, munmap forms.
-
 * Filesys project:
 
-  - Increase maximum disk size from 8 MB to something that actually
-    requires doubly indirect nodes.  There is a negative pressure here
-    from the bitmap object--perhaps we need a specialized bitmap that
-    doesn't have to be all in-memory at once.
-
-    Alternatively, shrink the inode size.
-
-  - Add mkdir and ls example user programs.
-
-  - Add option to disable buffer cache.
-
-  - Get rid of "dump" commands--they're not really useful.
-
-  - Sample solution.
-
   - Need a better way to measure performance improvement of buffer
     cache.  Some students reported that their system was slower with
     cache--likely, Bochs doesn't simulate a disk with a realistic
     speed.
 
-  - Clarify effect of remove(cwd).
-
 * Documentation:
 
-  - Finish writing tour.
-
   - Add "Digging Deeper" sections that describe the nitty-gritty x86
     details for the benefit of those interested.
 
     . opendir/readdir/closedir
 
     . everything needed for getcwd()
-
-  - Add src/testcases/vm, src/testcases/filesys and make it clear to use
-    them?
-
-* Tests:
-
-  - Release some of them.
-
-  - The threads, userprog, vm test source files could use
-    factorization and cleanup along the lines of fslib in the filesys
-    tests.
-
-  - The p1-4.c testcase needs significant tuning.  Currently it takes
-    too long (especially when SHOW_PROGRESS is turned on) and doesn't
-    show significant improvement.
-
-* Code:
-
-  - Rewrite quick_sort() to use heap sort, for O(1) stack usage.
-
-  - Rewrite list_sort() to use merge sort, for O(1) heap usage.
-
-  - Make list_elem and hash_elem a struct, by encapsulating a struct
-    list_elem inside a struct hash_elem as a member.