"benben xiao" <xiaoxiaoben(a)hotmail.com> writes:
> When I see fiasco kernel, I have a simple question:
> I don't know
> #if 0
> ...
> ...
> #endif
> what do '0' mean there?
This is a way to comment out unused code: Everything between "#if 0"
and "#endif" is stripped by the preprocessor, and is ignored by the
compiler.
For more information about the C/C++ preprocessor, please refer to the
GNU CPP manual. …
[View More]On most systems, you can browse it with "info cpp".
The answer to your particular question is in "info cpp conditional deletion".
Michael
--
hohmuth(a)innocent.com, hohmuth(a)sax.de
http://www.sax.de/~hohmuth/
[View Less]
Robert Kaiser <rob(a)sysgo.de> writes:
> The question came up while writing a test suite for a microkernel
> we are currently developing. It's API is not identical, but quite
> similar to L4's (we would like to run L4Linux on it in the future).
If your kernel's API is similar enough: Is there a chance of releasing
your test suite as open source? We probably could adapt it to our
implementations, and having a test suite for Fiasco and L4/x86 would
be very useful.
> I can …
[View More]certainly handle this behavior, but I was just wondering
> what would be a "clean" design. From what I just learned, there
> is in fact a difference between a thread being created and a thread
> being re-started into a new context: In the first case, the thread's
> scheduling parameters are inherited from the caller, in the latter
> case, they retain whatever values they had before. So the caller
> of lthread_ex_regs has to be aware of wether the thread already
> exists or not.
Yes, that's true. What you proposed earlier in this thread (make it
possible to set scheduling parameters for not-yet-existing local
threads) seems to be somewhat cleaner, but I think the current
behavior isn't very difficult to handle; tasks have to keep track of
thread states anyway because they manage the allocation of local
thread ids themselves.
Michael
--
hohmuth(a)innocent.com, hohmuth(a)inf.tu-dresden.de
http://home.pages.de/~hohmuth/
[View Less]
Robert Kaiser <rob(a)sysgo.de> writes:
> I have a question regarding the default scheduling parameters
> of newly created tasks and lthreads under L4:
>
> When I create a new task with the task_new syscall, according
> to the L4 manual, that task's lthread 0 starts running immediately.
>
> But what are it's scheduling parameters (timeslice duration,
> priority) in this case ?
>
> Similarly, when I create a new lthread with lthread_ex_regs,
> how are it'…
[View More]s scheduling parameters determined ?
The parameters are inherited from the creating thread.
There usually is a way to change the parameters before the new thread
starts running: Use the thread_schedule system call before serving the
thread's first page fault.
> Also, is it possible to set these parameters for an lthread
> that does not yet exist (The manual doesn't explicitly state
> this, but the fact that -conceptually- all lthreads of a task
> always exist would suggest that this is indeed possible) ?
Good question. I think this is not really defined in the manual. The
current implementations don't support what you suggest; instead, the
scheduling parameters are inherited from the creating thread once the
new thread is ``really'' created.
Do you have an application where this behavior is a problem?
Michael
--
hohmuth(a)innocent.com, hohmuth(a)sax.de
http://www.sax.de/~hohmuth/
[View Less]
Hi Hackers:
When I see fiasco kernel, I have a simple question:
I don't know
#if 0
...
...
#endif
what do '0' mean there?
Please pardon my poor english!
Thank you!
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
Hi Hackers,
I have a question regarding the default scheduling parameters
of newly created tasks and lthreads under L4:
When I create a new task with the task_new syscall, according
to the L4 manual, that task's lthread 0 starts running immediately.
But what are it's scheduling parameters (timeslice duration,
priority) in this case ?
Similarly, when I create a new lthread with lthread_ex_regs,
how are it's scheduling parameters determined ?
Also, is it possible to set these parameters for …
[View More]an lthread
that does not yet exist (The manual doesn't explicitly state
this, but the fact that -conceptually- all lthreads of a task
always exist would suggest that this is indeed possible) ?
Thanks for any response
Rob
----------------------------------------------------------------
Robert Kaiser email: rkaiser(a)sysgo.de
SYSGO RTS GmbH
Carl-Zeiss-Str. 41 phone: (49) 6131 9138-80
D-55129 Mainz / Germany fax: (49) 6131 9138-10
[View Less]
I wrote a few minutes ago:
> This paper is now available (along with many other interesting papers
> from Jochen) from <URL:http://i30www.ira.uka.de/images/b_publications_on.gif>.
^^^^
Oops, although you probably like GIFs, this one isn't of particular
utility. Here's the correct URL:
<URL:http://i30www.ira.uka.de/publications/index.html>.
Michael
--
hohmuth(a)innocent.com, hohmuth(a)inf.tu-dresden.…
[View More]de
http://home.pages.de/~hohmuth/
[View Less]
"Adam 'WeirdArms' Wiggins" <awiggins(a)cse.unsw.edu.au writes:
> Anyone know where I can get a copy of:
>
> Jochen Liedtke:
> Improved Address Space Switching on Pentium Processors by
> Transparently Multiplexing User Address Spaces
> (GMD technical report)
This paper is now available (along with many other interesting papers
from Jochen) from <URL:http://i30www.ira.uka.de/images/b_publications_on.gif>.
The URL for the paper you're looking for is
<…
[View More]URL:http://i30www.ira.uka.de/publications/pubcat/As-pent.ps>.
Michael
--
hohmuth(a)innocent.com, hohmuth(a)sax.de
http://www.sax.de/~hohmuth/
[View Less]
"benben xiao" <xiaoxiaoben(a)hotmail.com> writes:
> Hi;
> When I see the file "init.h" in "l4/server/sigma0/src/",I meet a problem.
> Although I have know:
> #define L4_NORETURN __attribute__((noreturn))
> but I don't understand the function definition:
> void init(struct multiboot_info *mbi, unsigned int flag,
> l4_kernel_info_t *info) L4_NORETURN;
> there why we can use "L4_NORETURN" and what is the effect of
> "…
[View More]L4_NORETURN".
__attribute__((noreturn)) is an extension supported by the GNU C
compiler. It is intended to be used with functions that are not
supposed to return. When a function declared with this attribute
looks like it returns anyway, the compiler issues a warning.
Please consult the Gcc documentation for more details (on most system,
you can run "info gcc 'c extensions' 'function attr'").
Michael
--
hohmuth(a)innocent.com, hohmuth(a)inf.tu-dresden.de
http://home.pages.de/~hohmuth/
[View Less]
suzukis(a)file.phys.tohoku.ac.jp writes:
> uname returned Linux 2.0.21(or 20?) - I remember, L4-Linux
> seems to be based old kernel source. But the L4-Linux source
> also seems to include something taken from later kernel
> source (ex. Configure.help). L4-Linux will be rewritten
> from the later Linux kernel (ex. 2.0.36, or 2.2.x)?
> Or, will be a branch from the old kernel?
We have been working internally on a port of Linux 2.2 to L4, and I'm
positive that we can release …
[View More]it ``soon.''
> If asking about L4-Linux is off-topic, please let me know
> who/where I could ask about L4-Linux.
No, that's fine, you're on-topic.
Michael
--
hohmuth(a)innocent.com, hohmuth(a)inf.tu-dresden.de
http://home.pages.de/~hohmuth/
[View Less]
Hi;
When I see the file "init.h" in "l4/server/sigma0/src/",I meet a problem.
Although I have know:
#define L4_NORETURN __attribute__((noreturn))
but I don't understand the function definition:
void init(struct multiboot_info *mbi, unsigned int flag,
l4_kernel_info_t *info) L4_NORETURN;
there why we can use "L4_NORETURN" and what is the effect of
"L4_NORETURN".
Thank you!
______________________________________________________
Get Your Private, Free …
[View More]Email at http://www.hotmail.com
[View Less]