Suggestions from Godmar Back.
[pintos-anon] / TODO
diff --git a/TODO b/TODO
index e037e2bf2decea596776dc218aecac4f071dee11..7d6ba406ed2365122dc213cb8b30da257f582db2 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,74 +1,58 @@
 -*- text -*-
 
-* The tests in tests/ don't apply the grading patches.
+* Get rid of rox--causes more trouble than it's worth
 
-* We need better and more example programs.
+* Reconsider command line arg style--confuses everyone.
 
-  - Need an mmap example program as a replacement for the crappy mmap FAQ
-    question.
+* pintos script doesn't (always?) delete temp disks
 
-  - How about `diff' and `cmp' programs?
+* Finish writing tour.
 
-* Threads:
+via Godmar Back:
 
-  - mlfqs tests suck.  They aren't even correct, e.g. the amarv
-    submission from win0405 is graded incorrectly.
+* Project 3 solution needs FS lock.
 
-* Userprog project:
+* Get rid of mmap syscall, add sbrk.
 
-  - 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.
+* hash_destroy() should take function arg.
 
-  - Mark read-only pages as actually read-only in the page table.  Or,
-    since this was consistently rated as the easiest project by the
-    students, require them to do it.
+* Make backtrace program accept multiple object file arguments,
+  e.g. add -u option to allow backtracing user program also.
 
-  - Don't provide per-process pagedir implementation but only
-    single-process implementation and require students to implement
-    the separation?  This project was rated as the easiest after all.
-    Alternately we could just remove the synchronization on pid
-    selection and check that students fix it.
+* VM projects do not use enough memory to force eviction.
+  Should reduce user limit or increase memory consumption.
 
-* 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:
+* process_death test needs improvement
 
-  - 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.
+* Internal tests.
 
-    Alternatively, shrink the inode size.
+* Improve automatic interpretation of exception messages.
 
-  - Add mkdir and ls example user programs.
+* Userprog project:
 
-  - Add option to disable buffer cache.
+  - Mark read-only pages as actually read-only in the page table.  Or,
+    since this was consistently rated as the easiest project by the
+    students, require them to do it.
 
-  - Get rid of "dump" commands--they're not really useful.
+  - Don't provide per-process pagedir implementation but only
+    single-process implementation and require students to implement
+    the separation?  This project was rated as the easiest after all.
+    Alternately we could just remove the synchronization on pid
+    selection and check that students fix it.
 
-  - Sample solution.
+* Filesys project:
 
   - 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:
-
-  - Make threads test use a program and arguments like the other
-    projects.
-
-  - Revise command-line arguments for sensibility instead of for
-    Nachos compatibility.
-
-  - Get rid of all compile-time flags, e.g. MLFQS should be a runtime
-    command-line option.
-
-  - Need an optimization barrier and an explanation of it in the
-    documentation.
-
-  - Need to check the wait system call more thoroughly.
-
-  - Library is not precisely standard, e.g. ptrdiff_t should not be
-    defined by stdlib.h.