Hi...

On Mon, Oct 6, 2008 at 7:51 PM, Lal <[EMAIL PROTECTED]> wrote:
> On Mon, Oct 6, 2008 at 12:03 PM, Mitul Modi <[EMAIL PROTECTED]> wrote:
>> hi Lal,
>>
>> thanks for the analysis and clearing the doubt. so, parent process returns
>> while child is added in to runqueue. right?
>>
>
> Depends. For example if CLONE_VM is not set, then kernel runs child
> process first in anticipation of an exec to avoid COW overhead.
> If CLONE_VM is set then kernel puts the child process at the end of
> runqueue. The parent process continues through ret_from_intr where
> kernel may again decide to schedule it out and run another process
> (may be child process or some other).

Even though it's not using CLONE_VM, the tendency is to prefer running
child first. IMO it has  relationship with the way most programmer
expect. Parent forks, child does something, parent waits 'til child
exits. By letting child runs first, you save one context switch....
since if you do the otherwise, parent runs first just to find itself
go into waiting state.

regards,

Mulyadi.

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to