From 148c5492ba6a8e602c35acc63f5fb0c9185f0a5e Mon Sep 17 00:00:00 2001 From: Michael Phipps Date: Thu, 8 Aug 2002 04:06:41 +0000 Subject: [PATCH] Added another test thread and varied the timing. Still seems to work right. Updated the TODO list. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@645 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/vm2/TODO | 22 +++++++++++++++------- src/kernel/vm2/test.C | 4 +++- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/kernel/vm2/TODO b/src/kernel/vm2/TODO index f8f308d707..23acb7a292 100644 --- a/src/kernel/vm2/TODO +++ b/src/kernel/vm2/TODO @@ -1,8 +1,16 @@ -*1) There is no arch-level integration. This is to be tested (to death) in user land first. -2) Tests are not done. Barely started. -3) Improve locking +1) Need to make the paging daemon load the pages in, using semaphores. +2) See how unresolvable page faults and permissions errors are handled - need to properly handle +3) Implment cloneArea +4) Tests are not done. + Test: + getAreaInfo + getNextAreaInfo + cloneArea + resizeArea + setAreaProtection + mmap + paging -5) I use new and delete. I know that doesn't work in kernel land. Not too tough to change, though. -6) Need to make the paging daemon load the pages in, using semaphores. - -* == can not be done in user land. +5) Improve locking (remains to be seen - works ok so far) +6) I use new and delete. I know that doesn't work in kernel land. Not too tough to change, though. +7) There is no arch-level integration. This is to be tested (to death) in user land first. * == can not be done in user land. diff --git a/src/kernel/vm2/test.C b/src/kernel/vm2/test.C index 5b9136e2bc..c1dadf5115 100644 --- a/src/kernel/vm2/test.C +++ b/src/kernel/vm2/test.C @@ -49,10 +49,12 @@ int32 loopTest(void *parameters) int main(int argc,char **argv) { loopTestParameters area1Params={"area1",1000000,2,100000,100000}; - loopTestParameters area2Params={"area2",1000000,2,100000,100000}; + loopTestParameters area2Params={"area2",1000000,2,200000,100000}; + loopTestParameters area3Params={"area3",1000000,2,300000,200000}; resume_thread(spawn_thread(loopTest,"area test 1",0,&area1Params)); resume_thread(spawn_thread(loopTest,"area test 2",0,&area2Params)); + resume_thread(spawn_thread(loopTest,"area test 3",0,&area3Params)); snooze(50000000);