Re: effect of sched_set{param|scheduler} on MT-process

From: Loic Domaigne (loic-dev_at_gmx.net)
Date: 08/31/04


Date: Tue, 31 Aug 2004 21:27:49 +0200

Common laddies and gentlemen!

Should I take your silence as a confession that my understanding is
correct? Can hardly believe it ;-)

Cheers,
Loic.

> Hello everybody,
>
> After many efforts (I am not a native standardese speaker, so...) , I
> think I finally deciphered what's the Single Unix Specification is
> telling us regarding the effect of sched_setparam() and
> sched_setscheduler() on multi-threaded process.
>
> But I'd like to check if I didn't missed something, or if I got
> something wrong! Any comments shall be appreciated.
>
> TIA,
> Loic.
>
> | The effect of this function on individual threads is dependent on
> | the scheduling contention scope of the threads:
> |
> | (1) For threads with system scheduling contention scope, these
> | functions shall have no effect on their scheduling.
>
> I understand it that way:
> Threadings using a 1:1 model (most implementations),
> sched_set{scheduler|param} is a NOP.
>
> | (2) For threads with process scheduling contention scope, the
> | threads scheduling policy and associated parameters shall not be
> | affected. However, the scheduling of these threads with respect to
> | threads in other processes may be dependent on the scheduling
> | parameters of their process, which are governed using these
> | functions.
>
> I read it like:
> Threadings using a pure user-space implementation (M:1 model),
> sched_set{scheduler|param} is a NOP within that the threads of that
> process. However, the scheduling a the process might be changed.
> Indeed from a kernel viewpoint, there is only "one thread" to
> schedule. So it makes sense to evt. change its scheduling. That
> explains the sentence "However, the scheduling of these threads wrt
> [...]"
>
> | If an implementation supports a two-level scheduling model in which
> | library threads are multiplexed on top of several kernel-scheduled
> | entities, then the underlying kernel-scheduled entities for the
> | system contention scope threads shall not be affected by these
> | functions.
>
> That's the mixed case of the two previous one. KSE competing for
> system resources must be invariant to respect case 1).
>
> | The underlying kernel-scheduled entities for the process contention
> | scope threads shall have their scheduling policy and associated
> | scheduling parameters changed to the values specified in policy and
> | param, respectively.
>
> That's what we saw in case 2).
>
>
> | Kernel-scheduled entities for use by process contention scope
> | threads that are created after this call completes shall inherit
> | their scheduling policy and associated scheduling parameters from
> | the process.
>
> That's a logical consequence. All Process Contention Scope threads
> that are mapped to a particular kernel thread, are bound to it. And
> thus in particular to its scheduling characteristics. Hence this
> inheritance property.
>
>
> Does it make sense?



Relevant Pages

  • effect of sched_set{param|scheduler} on MT-process
    ... | For threads with system scheduling contention scope, ... | The underlying kernel-scheduled entities for the process contention ... | their scheduling policy and associated scheduling parameters from ...
    (comp.unix.programmer)
  • Re: effect of sched_set{param|scheduler} on MT-process
    ... > | the scheduling contention scope of the threads: ... > | system contention scope threads shall not be affected by these ... > | The underlying kernel-scheduled entities for the process contention ... > | their scheduling policy and associated scheduling parameters from ...
    (comp.unix.programmer)
  • Re: Backup: looking for devices in all the wrong places?
    ... When I clicked "Add Scheduled Task," it started a wizard which let me select ... "Schedule" let me change the scheduling parameters which the wizard set. ...
    (microsoft.public.windowsxp.help_and_support)
  • Re: Backup: looking for devices in all the wrong places?
    ... >>If you schedule it it will make the command line for you. ... > "Schedule" let me change the scheduling parameters which the wizard set. ...
    (microsoft.public.windowsxp.help_and_support)