X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fthreads.texi;h=5532f3b3278d32e504c56a8185a1e4ce21a75bad;hb=32ab853825188ab13a2a56c6e9c54fb9f0af197d;hp=a6c42002c3666ddbf38c130949f2b28c08a0fad9;hpb=c76f65879a1160c81c345c746f1698585aaa3652;p=pintos-anon diff --git a/doc/threads.texi b/doc/threads.texi index a6c4200..5532f3b 100644 --- a/doc/threads.texi +++ b/doc/threads.texi @@ -333,14 +333,14 @@ and options @option{-j} and @option{-r} are mutually exclusive. @section Tips There should be no busy-waiting in any of your solutions to this -assignment. Furthermore, resist the temptation to directly disable -interrupts in your solution by calling @func{intr_disable} or -@func{intr_set_level}, although you may find doing so to be useful -while debugging. Instead, use semaphores, locks and condition -variables to solve synchronization problems. Read the tour section on -synchronization (@pxref{Synchronization}) or the comments -in @file{threads/synch.h} if you're unsure what synchronization -primitives may be used in what situations. +assignment. Furthermore, to the greatest extent possible, resist the +temptation to directly disable interrupts in your solution by calling +@func{intr_disable} or @func{intr_set_level}, although you may find +doing so to be useful while debugging. Instead, use semaphores, locks +and condition variables to solve synchronization problems. Read the +tour section on synchronization (@pxref{Synchronization}) or the +comments in @file{threads/synch.h} if you're unsure what +synchronization primitives may be used in what situations. Given some designs of some problems, there may be one or two instances in which it is appropriate to directly change the interrupt levels @@ -494,7 +494,7 @@ A partial fix for this problem is to have the waiting thread the lock, then recall the donation once it has acquired the lock. Implement this fix. -You will need to account for all different orders that priority +You will need to account for all different orders in which priority donation and inversion can occur. Be sure to handle multiple donations, in which multiple priorities are donated to a thread. You must also handle nested donation: given high, medium, and low priority