Re: kernel 2.6 speed

From: Florin Malita
Date: Tue Jul 26 2005 - 14:52:25 EST


cutaway@xxxxxxxxxxxxx wrote:
Anything time stamping things it processes many of will call some sort of
time function pretty often. Could happen frequently with certain classes of
applications.

Right, but if the timestamp granularity is coarse and there's no blocking call in between it makes no sense to invoke gettimeofday()/time() repeatedly. I was referring to the kind of app that abuses them just because somebody is too lazy to reuse the previous value - calling gettimeofday() in 10 sequential printf() statements for eg.

There are legitimate scenarios of course, but this doesn't seem to be one of them:

15:22:38.825562 kill(2419, SIGRTMIN) = 0
15:22:38.825748 gettimeofday({1122405758, 825765}, NULL) = 0
15:22:38.825801 gettimeofday({1122405758, 825812}, NULL) = 0
15:22:38.825845 gettimeofday({1122405758, 825856}, NULL) = 0
15:22:38.825888 gettimeofday({1122405758, 825899}, NULL) = 0
15:22:38.825931 time(NULL) = 1122405758
15:22:38.825968 gettimeofday({1122405758, 825984}, NULL) = 0
15:22:38.826012 gettimeofday({1122405758, 826022}, NULL) = 0
15:22:38.826062 time(NULL) = 1122405758
15:22:38.826099 time(NULL) = 1122405758
15:22:38.826142 time(NULL) = 1122405758
...

Here's another cute one, just in case you thought calling getpid() once should be enough ;)

15:31:15.376157 gettimeofday({1122406275, 376177}, NULL) = 0
15:31:15.376206 getpid() = 2494
15:31:15.376238 getpid() = 2494
15:31:15.376264 getpid() = 2494
15:31:15.376291 getpid() = 2494
15:31:15.376318 getpid() = 2494
15:31:15.376344 getpid() = 2494
15:31:15.376371 getpid() = 2494
15:31:23.723801 getpid() = 2494
15:31:23.723845 getpid() = 2494
15:31:23.723873 getpid() = 2494
15:31:23.723900 getpid() = 2494
15:31:23.723927 getpid() = 2494
15:31:23.723954 getpid() = 2494
15:31:23.723984 getpid() = 2494
15:31:23.724011 getpid() = 2494
15:31:23.724038 getpid() = 2494
15:31:23.724065 getpid() = 2494
15:31:23.724091 getpid() = 2494
15:31:23.724118 getpid() = 2494
15:31:23.724145 getpid() = 2494
15:31:23.724171 getpid() = 2494
15:31:23.724198 getpid() = 2494
15:31:23.724225 getpid() = 2494
15:31:24.687109 getpid() = 2494
15:31:24.687159 getpid() = 2494
15:31:24.687197 getpid() = 2494
15:31:24.687247 getpid() = 2494
15:31:24.687283 getpid() = 2494
15:31:24.687324 getpid() = 2494
15:31:24.687364 getpid() = 2494
15:31:24.687402 getpid() = 2494
15:31:24.687442 getpid() = 2494
15:31:24.687477 getpid() = 2494
15:31:24.687512 getpid() = 2494
15:31:24.687547 getpid() = 2494
15:31:24.687583 getpid() = 2494
15:31:24.687662 semop(32769, 0x430e2e0c, 1) = 0

My point: "real world" apps do stupid things.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/