From 273f1971d431d8c62c8540068d4cc82ba83ca244 Mon Sep 17 00:00:00 2001 From: patacongo Date: Sun, 15 Aug 2010 16:50:25 +0000 Subject: [PATCH] Add logic to drop the priority of the page fill task git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2857 42af7a65-404d-4744-a932-0658087f49c3 --- Documentation/NuttXDemandPaging.html | 24 +++---- sched/pg_internal.h | 10 +-- sched/pg_miss.c | 2 +- sched/pg_worker.c | 99 +++++++++++++++++++--------- 4 files changed, 86 insertions(+), 49 deletions(-) diff --git a/Documentation/NuttXDemandPaging.html b/Documentation/NuttXDemandPaging.html index dc0d5d6ae2d..3246e070d0f 100755 --- a/Documentation/NuttXDemandPaging.html +++ b/Documentation/NuttXDemandPaging.html @@ -160,7 +160,7 @@
g_waitingforfill
An OS list that is used to hold the TCBs of tasks that are waiting for a page fill.
-
g_pendingfilltcb
+
g_pftcb
A variable that holds a reference to the TCB of the thread that is currently be re-filled.
g_pgworker
The process ID of of the thread that will perform the page fills.
@@ -307,8 +307,8 @@

- The page fill worker thread will maintain a static variable called _TCB *g_pendingfilltcb. - If no fill is in progress, g_pendingfilltcb will be NULL. + The page fill worker thread will maintain a static variable called _TCB *g_pftcb. + If no fill is in progress, g_pftcb will be NULL. Otherwise, it will point to the TCB of the task which is receiving the fill that is in progess.

- When awakened from pg_miss(), no fill will be in progress and g_pendingfilltcb will be NULL. + When awakened from pg_miss(), no fill will be in progress and g_pftcb will be NULL. In this case, the page fill worker thread will call pg_startfill(). That function will perform the following operations: