Dear all,
I've looked through the documentation, but it doesn't seem clear how you set the priority of a task as you create it from a .cfg script.
I've tried:
loader:start({caps = { ... }, l4re_dbg = L4.Dbg.Warn, log = {"foo", "red" }, priority = 100}, "rom/foo");
But I'm not seeing any difference from that, with priority < 0x10, > 0x10, or unset. (I got the 0x10 value from http://os.inf.tu-dresden.de/l4env/doc/html/loader/p_script.html)
So, is that the correct way? If now, what is the correct way to specify priority?
Thanks,
Hi,
On Mon Jun 23, 2014 at 12:43:21 +1000, Peter Howard wrote:
I've looked through the documentation, but it doesn't seem clear how you set the priority of a task as you create it from a .cfg script.
I've tried:
loader:start({caps = { ... }, l4re_dbg = L4.Dbg.Warn, log = {"foo", "red" }, priority = 100}, "rom/foo");
But I'm not seeing any difference from that, with priority < 0x10, > 0x10, or unset. (I got the 0x10 value from
So, is that the correct way? If now, what is the correct way to specify priority?
It works like this:
loader:start({caps = { ... }, log = {"foo", "red" }, scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0x18, 0x8) }, "rom/foo");
The 0x8 is the base priority and 0x18 is the upper limit. Any prio in foo will be increased by 8 and capped at 0x18 (regarding the local view of the loader, which is likely the global view).
Adam
On Mon, 2014-06-23 at 22:00 +0200, Adam Lackorzynski wrote:
Hi,
On Mon Jun 23, 2014 at 12:43:21 +1000, Peter Howard wrote:
I've looked through the documentation, but it doesn't seem clear how you set the priority of a task as you create it from a .cfg script.
I've tried:
loader:start({caps = { ... }, l4re_dbg = L4.Dbg.Warn, log = {"foo", "red" }, priority = 100}, "rom/foo");
But I'm not seeing any difference from that, with priority < 0x10, > 0x10, or unset. (I got the 0x10 value from
So, is that the correct way? If now, what is the correct way to specify priority?
It works like this:
loader:start({caps = { ... }, log = {"foo", "red" }, scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0x18, 0x8) }, "rom/foo");
The 0x8 is the base priority and 0x18 is the upper limit. Any prio in foo will be increased by 8 and capped at 0x18 (regarding the local view of the loader, which is likely the global view).
Thanks for that. Now I know what to look for I can see it in most of the example .cfg files :-)
However . . . in the examples the scheduler line is always commented out. When I add it I get a runtime error:
Ned: ERROR: rom/cc-ipc.cfg:51: runtime error Invalid argument (-22)
The line is exactly as you added it above.
Thoughts?
Thanks, again.
On Tue, 2014-06-24 at 08:40 +1000, Peter Howard wrote:
On Mon, 2014-06-23 at 22:00 +0200, Adam Lackorzynski wrote:
It works like this:
loader:start({caps = { ... }, log = {"foo", "red" }, scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0x18, 0x8) }, "rom/foo");
The 0x8 is the base priority and 0x18 is the upper limit. Any prio in foo will be increased by 8 and capped at 0x18 (regarding the local view of the loader, which is likely the global view).
Thanks for that. Now I know what to look for I can see it in most of the example .cfg files :-)
However . . . in the examples the scheduler line is always commented out. When I add it I get a runtime error:
Ned: ERROR: rom/cc-ipc.cfg:51: runtime error Invalid argument (-22)
The line is exactly as you added it above.
Actually, it wasn't. I'd reversed the values so the third (base) was larger than the second (max). So failure was understandable.
Seeing changes in behavior now.
l4-hackers@os.inf.tu-dresden.de