<gmh@leland.stanford.edu>, Yu Ping Hu <yph@cs.stanford.edu>.
Modified by arens. */
-#ifdef MLFQS
-#error This test not applicable with MLFQS enabled.
-#endif
-
#include "threads/test.h"
#include <stdio.h>
#include "threads/synch.h"
void
test (void)
{
+ /* This test does not work with the MLFQS. */
+ ASSERT (!enable_mlfqs);
+
/* Make sure our priority is the default. */
ASSERT (thread_get_priority () == PRI_DEFAULT);
lock_acquire (&b);
thread_create ("a", PRI_DEFAULT + 1, a_thread_func, &a);
- printf (" 1. Main thread should have priority %d. Actual priority: %d.\n",
+ printf ("Main thread should have priority %d. Actual priority: %d.\n",
PRI_DEFAULT + 1, thread_get_priority ());
thread_create ("b", PRI_DEFAULT + 2, b_thread_func, &b);
- printf (" 2. Main thread should have priority %d. Actual priority: %d.\n",
+ printf ("Main thread should have priority %d. Actual priority: %d.\n",
PRI_DEFAULT + 2, thread_get_priority ());
lock_release (&b);
- printf (" 5. Thread b should have just finished.\n");
- printf (" 6. Main thread should have priority %d. Actual priority: %d.\n",
+ printf ("Thread b should have just finished.\n");
+ printf ("Main thread should have priority %d. Actual priority: %d.\n",
PRI_DEFAULT + 1, thread_get_priority ());
lock_release (&a);
- printf (" 9. Thread a should have just finished.\n");
- printf ("10. Main thread should have priority %d. Actual priority: %d.\n",
+ printf ("Thread a should have just finished.\n");
+ printf ("Main thread should have priority %d. Actual priority: %d.\n",
PRI_DEFAULT, thread_get_priority ());
printf ("Multiple priority priority donation test finished.\n");
}
struct lock *lock = lock_;
lock_acquire (lock);
- printf (" 7. Thread a acquired lock a.\n");
+ printf ("Thread a acquired lock a.\n");
lock_release (lock);
- printf (" 8. Thread a finished.\n");
+ printf ("Thread a finished.\n");
}
static void
struct lock *lock = lock_;
lock_acquire (lock);
- printf (" 3. Thread b acquired lock b.\n");
+ printf ("Thread b acquired lock b.\n");
lock_release (lock);
- printf (" 4. Thread b finished.\n");
+ printf ("Thread b finished.\n");
}