Gentoo Archives: gentoo-server

From: kerin@×××××××××××××××.net
To: gentoo-server@g.o
Subject: [gentoo-server] Kernel concerns
Date: Wed, 26 Nov 2003 13:45:25
Message-Id: 32841.10.0.0.133.1069854332.squirrel@serve.r2r.local
1 Hi all,
2
3 well I have some issues concerning kernels which I wanted to share. These
4 issues have led me to consider certain strategies I'm thinking of pursuing
5 which I wanted to bounce off anyone else on this list who is interested.
6
7 Basically my goal is to have ultimate 2.4 kernel (with a view to server
8 usage) which strikes the best balance between stability on the one hand
9 and performance/features on the other.
10
11 Some of you will know that I'm a big WOLK fan, however Marc-Christian
12 Peterson has been snowed under with work of late and it is not entirely
13 clear when the much anticipated (at least on my part) final 4.10 release
14 will be issued. I have been using wolk-4.10_pre7 for some time now, but
15 last night (much to my dismay) I had an oops. I'm not going to attempt to
16 debug it because I know there are various later patchlevels (known only to
17 him) and there was a rumour that 4.10 would not be far off. The problem
18 occured during a high stress load caused by a chrooted Gentoo install on
19 the system.
20
21 In any case, I decided to install the 2.4.22-ac4 kernel and I was
22 extremely disappointed to find that it had oopsed within about 15 minutes
23 of usage (this time attributed to raid5d). This got me thinking, because I
24 don't really find any of the other kernels in portage to be satisfactory
25 (yes, gs-sources is OK, but it's quickly superceded and based on -pre and
26 features aa's VM and no O(1)).
27
28 First I considered what I actually wanted from the kernel, and it
29 basically boils down to two things:
30
31 * The rmap VM (there is a signifcant body of evidence to suggest that this
32 VM implementation is superior, particularly for server usage). Redhat have
33 used this for some time.
34
35 * Ingo Molnar's O(1) scheduler (what can I say? Absolutely essential in my
36 view). Again, Redhat have used it for some time.
37
38 Other desirable features would include grsec, low-latency, variable Hz and
39 scheduler tuneables (it is these tuneables which are preset to useful
40 values by the "Server Scheduler Tweaks" in WOLK) and various others. There
41 are other things too, but I want to keep my scope realistic at the moment.
42
43 I had decided to try -ac because I know Alan Cox is a good programmer and
44 bugfixer and his branch had the most important things I wanted (as well as
45 containing various improvements to do with raid and so forth). As he works
46 for Redhat, the Redhat/Fedora kernel is also based on this branch.
47
48 That didn't work out obviously. Given my experiences I am strongly
49 considering building my own patchset (most of what I want is fairly
50 trivial to apply I think). My intention is to keep it conservative in the
51 first instance. I will base it on 2.4.22 first and only incorporate the
52 most important things that I want.
53
54 For starters I will include all the pathes from the -uv2 patchset (which
55 _only_ contains several strict fixes and closed loopholes against the
56 vanilla 2.4.22 branch), see here for details:
57 http://www.hardrock.org/kernel/current-updates/. I will attempt to add at
58 least O(1), rmap and the scheduler tuneables also then see how I go before
59 attempting to add other niceties. I will keep an eye open for those
60 "silly" fixes one can find floating around (maybe some of those from
61 2.4.23-pre/rc can be backported).
62
63 So I would like to know if anyone else is interested. I would be glad to
64 keep my efforts available on my organisation's website if so.
65
66 Another approach I am going to try (which won't necessarily stop me doing
67 the above) is to have a look at Redhat's kernel. As mentioned before it is
68 based on -ac but has some extra engineering which can be useful for us
69 types. I have been reading accounts from several people of how Redhat's
70 kernel may not be the fastest on the planet but that it tends to be rock
71 solid. What _particularly_ interests me about the kernel (certainly the
72 one provided now in Fedora) is that:
73
74 * It is based on 2.4.22 (good)
75 * It features NPTL
76
77 The second point particularly interests me. I migrated my desktop to a
78 cutting-edge toolchain (gcc-3.3.2-r2, latest glibc) and built to support
79 NPTL recently. The results have been magnificent, and the threading is
80 vastly superior the old Linuxthreads model. Indeed, the benefits can be
81 most clearly observed in such things as apache, java and mysql (it is
82 astonishing the amount of things that do link to the pthread libs). Now I
83 don't feel like building a server on that basis (with 2.6) just yet (!),
84 so I am very much interested in attempting to get an ebuild ready for the
85 sources ( 2.4.22-1.2115.nptl) and, experimentally, seeing if it proves
86 easy to bootstrap glibc against the headers from this kernel for a nice
87 2.4-based NPTL system.
88
89 Regardless of these two approaches, I will be looking to add minor and
90 useful patches which I have gotten used to in such kernels as WOLK. The
91 only thing I can see being a nightmare is grsec because of certain hairy
92 issues with rmap, but in my case rmap is more important than grsec for
93 now.
94
95 I've not sure how feasible this is, but I intend to give it my best shot.
96 Any thoughts?
97
98 --Kerin Francis Millar