Date: Mon, 15 Oct 2012 14:31:26 -0700 From: Garrett Cooper <yanegomi@gmail.com> To: Ian Lepore <freebsd@damnhippie.dyndns.org> Cc: svn-src-head@freebsd.org, Maxim Sobolev <sobomax@freebsd.org>, svn-src-all@freebsd.org, src-committers@freebsd.org, Pawel Jakub Dawidek <pjd@freebsd.org> Subject: Re: svn commit: r241576 - in head/usr.sbin/cron: cron crontab lib Message-ID: <CAGH67wSV0F4qsvFeURd01cRrsc8WVQ1=HPyiq8yL0hUAo2zwGQ@mail.gmail.com> In-Reply-To: <1350335891.1123.160.camel@revolution.hippie.lan> References: <201210150821.q9F8Lobc047576@svn.freebsd.org> <20121015202615.GJ1383@garage.freebsd.pl> <1350333885.1123.153.camel@revolution.hippie.lan> <CAGH67wSATkcsMMFcd3=rkM%2BDZ=g-ke67zeuXd9RZ-=UY_9sdLg@mail.gmail.com> <1350335891.1123.160.camel@revolution.hippie.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 15, 2012 at 2:18 PM, Ian Lepore <freebsd@damnhippie.dyndns.org> wrote: > On Mon, 2012-10-15 at 13:52 -0700, Garrett Cooper wrote: >> On Mon, Oct 15, 2012 at 1:44 PM, Ian Lepore >> <freebsd@damnhippie.dyndns.org> wrote: >> > On Mon, 2012-10-15 at 22:26 +0200, Pawel Jakub Dawidek wrote: >> >> On Mon, Oct 15, 2012 at 08:21:50AM +0000, Maxim Sobolev wrote: >> >> > Author: sobomax >> >> > Date: Mon Oct 15 08:21:49 2012 >> >> > New Revision: 241576 >> >> > URL: http://svn.freebsd.org/changeset/base/241576 >> >> > >> >> > Log: >> >> > Add per-second scheduling into the cron(8). Right now it's >> >> > only available via the new @every_second shortcut. ENOTIME to >> >> > implement crontab(5) format extensions to allow more flexible >> >> > scheduling. >> >> > >> >> > In order to address some concerns expressed by Terry Lambert >> >> > while discussing the topic few years ago, about per-second cron >> >> > possibly causing some bad effects on /etc/crontab by stat()ing >> >> > it every second instead of every minute now (i.e. atime update), >> >> > only check that database needs to be reloaded on every 60-th >> >> > loop run. This should be close enough to the current behaviour. >> >> > >> >> > Add "@every_minute" shortcut while I am here. >> >> >> >> Do I read the code correctly and the cron deamon will wake up every >> >> second now even if @every_second is not used at all? >> > >> > It appears to, which I don't think is a bad thing at all. But the way >> > it waits is to wake up, do some work, and go back to sleep for an >> > integer 1 second. That will occasionally lead to a second in which no >> > wakeup happens, as the "do some work" part always takes some fraction of >> > a second. >> >> This is silly. It should be waking up at the lowest common >> denominator of time quanta, not every second; this could be determined >> via the crontab its managing. > > In 1987 I would have been outraged at waking up at 1hz needlessly. > Sitting here typing on a machine that's doing 12,000 interrupts/sec just > to maintain clocks, and top shows interrupts using 0.0% cpu, it's hard > to get too upset about a 1hz loop anymore. > > On the other hand, if people are going to rely on this new feature of > being able to execute something every second, then the integer sleep > needs to be changed to a nanosleep() calculated to truly wake up at a > 1hz rate without eliding seconds now and then. This is also assuming that there's only one copy of cron running for the entire system and per-user. On a more heavily loaded system this isn't necessarily the case. Thanks, -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wSV0F4qsvFeURd01cRrsc8WVQ1=HPyiq8yL0hUAo2zwGQ>