From 45db6482e81e0774aac1e71bb8960f1cc7325854 Mon Sep 17 00:00:00 2001 From: Cristiano Giuffrida Date: Mon, 22 Mar 2010 23:44:55 +0000 Subject: [PATCH] Prioritized NOTIFY messages for reliable asynchonrous delivery of system events. --- kernel/table.c | 11 +++++++++-- tools/Makefile | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/kernel/table.c b/kernel/table.c index 04d0f20d9..24b3adfbe 100644 --- a/kernel/table.c +++ b/kernel/table.c @@ -51,6 +51,11 @@ PUBLIC char *t_stack[TOT_STACK_SPACE / sizeof(char *)]; /* The system image table lists all programs that are part of the boot image. * The order of the entries here MUST agree with the order of the programs * in the boot image and all kernel tasks must come first. + * The order of the entries here matches the priority NOTIFY messages are + * delivered to a given process. NOTIFY messages are always delivered with + * the highest priority. DS must be the first system process in the list to + * allow reliable asynchronous publishing of system events. RS comes right after + * to prioritize ping messages periodically delivered to system processes. * * Each entry provides the process number, flags, quantum size, scheduling * queue, and a name for the process table. The initial program counter and @@ -65,13 +70,15 @@ PUBLIC struct boot_image image[] = { {CLOCK, NULL, 0, 0, 0, IDL_S, "clock" }, {SYSTEM, NULL, 0, 0, 0, IDL_S, "system"}, {HARDWARE, 0, 0, 8, TASK_Q, HRD_S, "kernel"}, + +{DS_PROC_NR, 0, BVM_F, 4, 4, 0, "ds" }, +{RS_PROC_NR, 0, 0, 4, 4, 0, "rs" }, + {PM_PROC_NR, 0, 0, 32, 4, 0, "pm" }, {FS_PROC_NR, 0, 0, 32, 5, 0, "vfs" }, -{RS_PROC_NR, 0, 0, 4, 4, 0, "rs" }, {MEM_PROC_NR, 0, BVM_F, 4, 3, 0, "memory"}, {LOG_PROC_NR, 0, BVM_F, 4, 2, 0, "log" }, {TTY_PROC_NR, 0, BVM_F, 4, 1, 0, "tty" }, -{DS_PROC_NR, 0, BVM_F, 4, 4, 0, "ds" }, {MFS_PROC_NR, 0, BVM_F, 32, 5, 0, "mfs" }, {VM_PROC_NR, 0, 0, 32, 2, 0, "vm" }, {PFS_PROC_NR, 0, BVM_F, 32, 5, 0, "pfs" }, diff --git a/tools/Makefile b/tools/Makefile index c01eff574..20ab2755e 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -7,13 +7,13 @@ MDEC= /usr/mdec # Specify the programs that are part of the system image. PROGRAMS= ../kernel/kernel \ + ../servers/ds/ds \ + ../servers/rs/rs \ ../servers/pm/pm \ ../servers/vfs/vfs \ - ../servers/rs/rs \ ../drivers/memory/memory_driver/memory \ ../drivers/log/log \ ../drivers/tty/tty \ - ../servers/ds/ds \ ../servers/mfs/mfs \ ../servers/vm/vm \ ../servers/pfs/pfs \