ithread priority question...

Bosko Milekic bmilekic at FreeBSD.org
Tue Jun 22 22:57:27 GMT 2004


  I'm obviously talking nonsense below.  Sorry.

  The real explanation is that they are put on a runqueue when executed:

        if (TD_AWAITING_INTR(td)) {
                CTR2(KTR_INTR, "%s: setrunqueue %d", __func__, p->p_pid);
                TD_CLR_IWAIT(td);
                setrunqueue(td);
                if (do_switch &&
                    (ctd->td_critnest == 1) ) {
...

  Sorry again!

  -bosko

Julian Elischer wrote:
>On Tue, 22 Jun 2004, John Baldwin wrote:
...
>> That was the intention.  One question though, if the ithreads aren't on the
>> system run queues then which run queues are they on?
>
>aren't they run from the interupt?

  Not always.  They have to be put on a runqueue if they block on a
  mutex, say.

  -Bosko



More information about the freebsd-current mailing list