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 |