Hi there,
can you tell me how many Tasks can be started from L4? As the task id has 11 bit, the theoretical maximum seems to be 2048, but if I configure simple_ts to use 246 tasks, I can't create a new task without using simple_ts (I use rmgr_get_task and rmgr_task_new). In this case the first free task number is 256. The task creation via rmgr_task_new seems to work (a valid task id is returned), but it seems that I can't serve the first page fault. If I serve it with an fpage, I immediately get the same page fault again and again. With simple_ts configured to 245 tasks everything works fine.
Regards, Daniel
Hi,
On Tue Mar 13, 2007 at 14:13:32 +0100, Daniel Vandersee wrote:
can you tell me how many Tasks can be started from L4? As the task id has 11 bit, the theoretical maximum seems to be 2048, but if I configure
This is the theoretical limit, yes.
simple_ts to use 246 tasks, I can't create a new task without using simple_ts (I use rmgr_get_task and rmgr_task_new). In this case the first free task number is 256.
simple_ts reserves those tasks (task numbers). So you observation is ok.
The task creation via rmgr_task_new seems to work (a valid task id is returned), but it seems that I can't serve the first page fault. If I serve it with an fpage, I immediately get the same page fault again and again. With simple_ts configured to 245 tasks everything works fine.
I don't quite get this. You create task 256 via rmgr and sending pagefaults does not work but it does work when descreasing simple_ts tasks by one? Have a demo program?
Adam
The task creation via rmgr_task_new seems to work (a valid task id is returned), but it seems that I can't serve the first page fault. If I serve it with an fpage, I immediately get the same page fault again and again. With simple_ts configured to 245 tasks everything works fine.
I don't quite get this. You create task 256 via rmgr and sending pagefaults does not work but it does work when descreasing simple_ts tasks by one? Have a demo program?
Sorry, I was wrong. The first page fault does indeed works well. However, I get a read only page fault at address 0x0000000 after the 25th to 30th page fault (depending on the program that was started). But I only get this page fault if the task number is above 255. I debuged both versions (with task number below 255 and above 255) in parallel and compared the mapped pages but couldn't find any differences. The problem can be reproduced under Qemu with the iso-image I recently added to the SLOX server (deadlock.iso).
Daniel
l4-hackers@os.inf.tu-dresden.de