Gentoo Archives: gentoo-sparc

From: Ferris McCormick <fmccor@g.o>
To: gentoo-sparc@l.g.o
Cc: dsd@g.o, plasmaroo@g.o
Subject: [gentoo-sparc] kernel-2.6.15-r4 (gentoo-sources-2.6.15-r4) stability and SB1000
Date: Fri, 10 Feb 2006 00:21:28
Message-Id: Pine.LNX.4.64.0602092346410.13678@terciopelo.krait.us
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 I have been running this kernel for about a week on an SB1000-SMP (1x900,
5 1x750) (sparc64) system and on a U60-SMP(2x450) system. I have just begun
6 a test on U2(2x400) system. So far, on SB1000 and U60, this kernel seems
7 as stable as anything we have seen. On U2, it is too early to tell, but
8 since NO 2.6.xx kernel has been stable on U1/U2 systems, I do not hold out
9 much hope there.
10
11 The reason for any sort of note mentioning this is the kernel's execution
12 characteristics on SB1000. Here there seems to be a good
13 news/you-might-want-a-local-mod news situation.
14 1. Good news: For me, at any rate, up until now programs (occasionally
15 gcc, but also the build of dev-lisp/sbcl-0.9.9 always, sometimes xterm)
16 sometimes failed with unpredictable BUS errors, SegFaults, and similar.
17 (Frequency was about once a day or so). I have not seen this at all for a
18 week, now, sbcl-0.9.9 builds fine, etc.
19
20 2. Not so good news: With this version of the kernel, kenvctrld is very
21 intrusive. Well, so what and what is it, anyway? kenvctrld is a kernel
22 module which periodically (literally) takes the system's temperature at a
23 couple spots, and if necessary kicks up the fan speed to keep the CPUs
24 from melting (and slows fans back down once temperature is lowered, or
25 eventually shuts the system down if things get worse). To be fair to this
26 kernel, I do not think kenvctrld actually managed to run with previous
27 kernels, but with this series, it has been restructured and is most
28 certainly does run.
29
30 It runs every five seconds. It takes 2 seconds with one CPU running at
31 100% in the system to actually read the sensors. So, with a 2-CPU system,
32 40% of CPU0 is dedicated to figuring out how hot the system is.
33
34 Well, that is pretty extreme. But wait! There's more! If your system
35 happens to be doing some actual work (like compiling something), and if
36 you happen to be doing interactive work using X besides, then during this
37 2-out-of-every-five second interval, your display gets little or no
38 service. (E.g., you have things like a 2-second type-ahead on the
39 keyboard, you move your mouse and nothing happens, things like xosview
40 stop. You get the idea).
41
42 There are two ways to make this a little better. First, you can build
43 kenvctrld as a module (CONFIG_BBC_I2C=m) and not load it. Then kenvctrld
44 does not run and the fans always run at top speed. If your system is in a
45 different room from you, this might be tolerable. If it isn't, with this
46 option you will go deaf.
47
48 Second, you can play with the polling interval. In the source module
49 drivers/sbus/char/bbc_envctrld.c, there is this definition for the polling
50 interval:
51 #define POLL_INTERVAL (5 * 1000)
52 With this definition, you lose about 40% of one CPU (CPU0). I have found
53 that I can tolerate
54 #define POLL_INTERVAL (5 * 1000 * 18)
55 which changes the interval to 90 seconds. This seems too long, but if I
56 am correct about earlier kernels, it is better than the "never run" we had
57 earlier. (Or, it could be that earlier kernels did take that 2 seconds
58 out of every five without killing interactive performance while doing so.)
59
60 Hope this is useful,
61 Regards,
62 Ferris
63 - --
64 Ferris McCormick (P44646, MI) <fmccor@g.o>
65 Developer, Gentoo Linux (Devrel, Sparc)
66 -----BEGIN PGP SIGNATURE-----
67 Version: GnuPG v1.4.2 (GNU/Linux)
68
69 iD8DBQFD69xTQa6M3+I///cRAlo8AKCxwsDRvF/O8Hy8oJWIDvDMXfHUdgCgtBRo
70 5Nir5e0eVpzjcXesW1K/JS8=
71 =Bmb2
72 -----END PGP SIGNATURE-----
73 --
74 gentoo-sparc@g.o mailing list