proc_p.h File Reference

Internal scheduler structures and definitions for processes. More...

#include "cfg/cfg_kern.h"
#include <cfg/compiler.h>
#include <cpu/types.h>
#include <struct/list.h>

Go to the source code of this file.


Defines

#define SCHED_ENQUEUE(proc)
 Enqueue a process in the ready list.
Flags for Process.flags.
#define PF_FREESTACK   BV(0)
 Free the stack when process dies.

Functions

void proc_switch (void)
 Schedule another process *without* adding the current one to the ready list.

Variables

REGISTER Process * CurrentProcess
 Track running processes.
REGISTER List ProcReadyList
 Track ready processes.

Detailed Description

Internal scheduler structures and definitions for processes.

Version:
Id
proc_p.h 1773 2008-09-03 08:17:51Z bernie
Author:
Bernie Innocenti <bernie@codewiz.org>

Definition in file proc_p.h.


Define Documentation

#define SCHED_ENQUEUE ( proc   ) 

Value:

do { \
        IRQ_ASSERT_DISABLED(); \
        LIST_ASSERT_VALID(&ProcReadyList); \
        SCHED_ENQUEUE_INTERNAL(proc); \
    } while (0)
Enqueue a process in the ready list.

Always use this macro to instert a process in the ready list, as its might vary to implement a different scheduling algorithms.

Note:
Access to the scheduler ready list must be performed with interrupts disabled.

Definition at line 126 of file proc_p.h.


Variable Documentation

REGISTER Process* CurrentProcess

Track running processes.

Definition at line 79 of file proc.c.

REGISTER List ProcReadyList

Track ready processes.

Access to this list must be performed with interrupts disabled

Definition at line 72 of file proc.c.