On Mon, Oct 15, 2012 at 2:18 PM, Ian Lepore <free...@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 >> <free...@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 _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"