PKUOS - Pintos
Pintos source browser for PKU Operating System course
Data Structures | Functions
alarm-simultaneous.c File Reference
#include <stdio.h>
#include "tests/threads/tests.h"
#include "threads/init.h"
#include "threads/malloc.h"
#include "threads/synch.h"
#include "threads/thread.h"
#include "devices/timer.h"
Include dependency graph for alarm-simultaneous.c:

Go to the source code of this file.

Data Structures

struct  sleep_test
 Information about the test. More...
 

Functions

static void test_sleep (int thread_cnt, int iterations)
 Creates N threads, each of which sleeps a different, fixed duration, M times. More...
 
void test_alarm_simultaneous (void)
 
static void sleeper (void *test_)
 Sleeper thread. More...
 

Function Documentation

◆ sleeper()

static void sleeper ( void *  test_)
static

Sleeper thread.

Definition at line 79 of file alarm-simultaneous.c.

References thread_yield(), timer_sleep(), and timer_ticks().

Referenced by test_sleep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_alarm_simultaneous()

void test_alarm_simultaneous ( void  )

Definition at line 16 of file alarm-simultaneous.c.

◆ test_sleep()

static void test_sleep ( int  thread_cnt,
int  iterations 
)
static

Creates N threads, each of which sleeps a different, fixed duration, M times.

Runs THREAD_CNT threads thread sleep ITERATIONS times each.

Records the wake-up order and verifies that it is valid.

Definition at line 33 of file alarm-simultaneous.c.

References ASSERT, free(), sleep_test::iterations, malloc(), msg(), name, NULL, PANIC, PRI_DEFAULT, sleeper(), snprintf(), thread_create(), thread_mlfqs, timer_sleep(), and timer_ticks().

Here is the call graph for this function: