From kde-core-devel Tue Mar 04 23:25:06 2003 From: Christian Esken Date: Tue, 04 Mar 2003 23:25:06 +0000 To: kde-core-devel Subject: Re: DNOTIFY support and some timing X-MARC-Message: https://marc.info/?l=kde-core-devel&m=104682086818943 Am Sonntag, 23. Februar 2003 22:56 schrieb Josef Weidendorfer: > On Sunday 23 February 2003 15:07, Christian Esken wrote: > > Hello, > > > > is there a good reason not to compile in DNOTIFY support by default? > > The code in kio/kio/kdirwatch.cpp already checks the kernel version. > > I agree, that there should be a possibility do --disable-dnotify , > > but default should be enabled. > > I agree. > > > For example SuSE8.1 (ships Kernel 2.4.19 and KDE3.0) has > > not compiled KDE with "--enable-dnotify". > > Hmm. That's not our problem, though. > Doesn't SuSE use FAM with DNOTIFY? This way, KDE programs should never need > to do polling at all... > > > AFAIK KDE3.0 already had dnotify support?!? > > > > > > Remark: I came across this, while working on a list of tips on how to > > use KDE3 on slow computers. On "low end" computers like mine > > (PIII - 450Mhz, 128MB Ram) doing polling has MAJOR impact on > > overall KDE performance. Application startup and overall resposiveness > > is much better with DNOTIFY. I blame this on the continuous task > > switching from and to kded. > > You may be right. What's the sustained activity of kded in top? > > OTOH, DNOTIFY has drawbacks, too: If you write a big file, for each "write" > syscall a DNOTIFY real-time signal is sent to each process watching the > directory. > > Can you open konqueror in your HOME, and check the result of a > "while(true) do echo >> $HOME/log; done" in top? Yes I can. Sorry for not answering not earlier, but I am in the progress of setting up a new computer. Here's the results: ------------------------------------------------------------ New system: Athlon XP2220+ , SuSE8.1 with preinstalled KDE 3.0.3. CPU states: 23.7% user, 76.2% system, 0.0% nice, 0.0% idle PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 20697 chris 25 0 1728 1728 1696 R 37.1 0.3 1:19 bash 1183 chris -51 0 5532 5524 4116 S 2.9 1.0 1:40 artsd 20703 root 15 0 972 972 756 R 0.1 0.1 0:00 top Rest of the processes uses 0.0% CPU (No, I don't know why 37.1% + 2.9% + 0.1% = 100%). And I do not see any fam process, probably I just "forgot" to install/setup/whatsover the fam subsystem. But basically this means in plain SuSE8.1 there is no FAM in KDE. ------------------------------------------------------------ ------------------------------------------------------------ Old System: PIII-450 , SuSE8.1, KDE from "curent" CVS, including DNOTIFY-Support ATTENTION: /home is on NFS CPU states: 12.5% user, 41.0% system, 0.0% nice, 46.4% idle PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 1202 chris 25 0 1732 1732 1696 S 24.9 1.3 0:13 /bin/bash 1194 chris 15 0 13404 12M 11336 S 1.3 10.3 0:05 kdeinit: konsole 1246 chris 16 0 972 972 756 R 0.7 0.7 0:00 top 737 root 15 0 0 0 0 SW 0.5 0.0 0:00 rpciod 974 root 15 0 84736 18M 4048 S 0.3 14.9 0:11 /usr/X11R6/bin/X vt7 -auth /v 14856 chris 25 0 1732 1732 1696 R 0.1 1.3 0:00 /bin/bash 1153 chris 15 0 13784 13M 11444 R 0.1 10.6 0:03 kimi The rest of the processes use 0.0% CPU. Don't be confused about "kimi", this is just my hand-tailored fast-starting "kicker"-variant (it is stripped down, so that it starts ~3 secs faster on my PIII-450 :-) ------------- I retried with opening konqy at /tmp and writing output to /tmp/log CPU states: 20.7% user, 79.2% system, 0.0% nice, 0.0% idle PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 1202 chris 25 0 1760 1760 1760 R 56.2 1.3 3:27 /bin/bash 1194 chris 15 0 13424 12M 11336 R 1.7 10.3 0:20 kdeinit: konsole 974 root 15 0 84936 18M 3940 R 1.3 15.1 0:30 /usr/X11R6/bin/X vt7 -auth /v 1165 chris 15 0 22268 21M 17668 S 0.9 17.3 0:18 kdeinit: konqueror --silent 1246 chris 15 0 976 976 756 R 0.9 0.7 0:08 top Here the result is again: CPU is 0% idle ------------------------------------------------------------ But it shows that NFS based directories (which use slower polling, IIRC 4s) work much better, taking <50% of CPU. (Yes, measurments are done wiht top, but what else shall I use.) Chris