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>