Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Sep 1997 14:38:37 -0600
From:      "Justin T. Gibbs" <gibbs@plutotech.com>
To:        Nate Williams <nate@mt.sri.com>
Cc:        "Justin T. Gibbs" <gibbs@plutotech.com>, Bruce Evans <bde@zeta.org.au>, current@freebsd.org
Subject:   Re: cvs commit: src/sys/conf files src/sys/dev/vx if_vx.c if_vxreg.h src/sys/i386/apm apm.c src/sys/i386/conf GENERIC files.i386 src/sys/i386/eisa 3c5x9.c aha1742.c aic7770.c bt74x.c eisaconf.c eisaconf.h if_fea.c if_vx_eisa.c src/sys/i386/i386 autoconf.c ... 
Message-ID:  <199709222038.OAA01103@pluto.plutotech.com>
In-Reply-To: Your message of "Mon, 22 Sep 1997 14:25:45 MDT." <199709222025.OAA02565@rocky.mt.sri.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
>> It runs at splhigh() while traversing callout entries and splsoftclock()
>> when calling timeouts.  The new implemenatation will traverse at most
>> 100 entries before lowering it's IPL from splhigh() so that other interrupt
>> handlers can run.
>
>I need to look at the code.  Hmm, seems kind of silly to me:
>
>                                ++steps;
>                                if (steps >= MAX_SOFTCLOCK_STEPS) {
>                                        nextsoftcheck = c;
>                                        splx(s);
>                                        /* Give hardclock() a chance. */
>                                        s = splhigh();
>                                        c = nextsoftcheck;
>                                        steps = 0;
>
>Does lowering the spl level in between those two lines *really* give
>anything a chance to get work done?

If there are pending hardware interrupts, they will fire at the point of
splx().

>> Although this may be true today, the point about it scaling still holds
>> true.  If you increase the frequency of untimeout/timeout calls, the
>> new system scales very well in that the you will still encounter your
>> 'worst-case' time at the same rate as you did originally.
>
>Assuming the frequency of the corresponding timeout/untimeout calls is
>greater than the clock frequence, yes.  However, if the frequency of
>when you call timeout and the corresponding untimeout is less than the
>frequency of softclock, it's a lose compared to the original
>implementation.  With the low frequency of softclock, I suspect it's now
>an 'overall' win.

The timeout and untimeout calls do not need to be paired for this to be
the case.

>> If you don't have lots of callouts outstanding, softclock has little to
>> do.
>
>In it's current implementation, doesn't it have to decrement every item
>on the list, thus is has to walk and modify *every* callout in the list?

But what is in the list if few callouts are outstanding?

>Nate

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709222038.OAA01103>