KS2008: Fixing the Kernel Janitors Project
Linus asked that new developers not start by trying to fix warnings - a task which currently appears on the "to do" list run by the janitors project. In the past, he has not enjoyed that experience at all. Beginner fixes for warnings tend to be aimed at silencing the warning rather than really understanding what is going on; as a result, they often break things. A better place for people to start, he says, is by testing the kernel and providing good bug reports.
Andi Kleen said that task lists can be useful. He put together a document on how to switch code over to the unlocked_ioctl() file operation, thus eliminating the big kernel lock. Some people made use of it and got some useful work done. Linus pointed out, though, that a certain Alan Cox followed that document and got things wrong, forcing the developers to revert his broken patch.
Matthew Wilcox stated that the problem in the kernel community is not a shortage of patches - it's a shortage of review. So he would rather start new developers on tasks like bug reports. Jeff Garzik noted that good results can be had by encouraging new developers to acquire an obscure piece of hardware and improve the driver. That only works if one is willing to put in a fair amount of mentoring time, though.
Mentoring is a subject that came around a few times. Greg Kroah-Hartman's Linux driver project work has provided a forum for mentoring, and that has helped a number of developers to improve their skills. But Dave Airlie asked how many developers had been "mentored" into the system; almost no hands were raised. The thing that creates new kernel developers still appears to be bugs that irritate people into fixing them. That led to the inevitable suggestion that the developers in the room should fix fewer bugs, providing more opportunities for the recruiting of new developers.
Having prospective developers run regression tests was suggested, but was not received with a great deal of enthusiasm. Far better, said Linus, was to have people test out as much hardware as they can; that's where the real problems lie.
One often-cited problem with the janitors project is that it is not good at graduating developers to bigger and better tasks. Any sort of mentoring effort should be oriented toward helping developers to grow while, at the same time, having them do something useful at every step.
Andrew Morton - who was quieter than usual this year - noted that quite a few people who express interest in kernel development disappear before too long. Putting effort into mentoring them can thus lead to a lot of wasted time. It is better, he said, to do this kind of mentoring in a group situation. There have been problems, though, with people posting incorrect answers to questions on mailing lists, so group mentoring must be handled carefully as well.
Andrew repeated his statement that the best thing for new developers to do is to ensure that every system they have access to runs perfectly with current kernels.
An attempt was made to get some action items out of the session. The creation of a mentoring project was suggested, but nobody stepped forward to take that on. There was a request for more distributors to package testing kernels for users who would like to experiment with the leading edge. Al Viro, though, argued for a stronger emphasis on getting people to read code, rather than write it. That reading can take the form of code review or simply taking the time to figure things out.
Linus would like a tool which could create a minimally useful kernel
configuration for a given system. A full distributor configuration takes
far too long to build, and the prospect of creating a custom configuration
is increasingly daunting. Linus noted that his first kernel for a new
system never works - he is certainly not unique in that regard. It turns
out that such a tool exists; it will be dusted off and posted soon.
Posted Sep 18, 2008 6:31 UTC (Thu)
by Oddscurity (guest, #46851)
[Link] (2 responses)
If so, a preliminary version of it has been posted recently: http://lkml.org/lkml/2008/9/16/290
Posted Sep 18, 2008 17:14 UTC (Thu)
by nevets (subscriber, #11875)
[Link] (1 responses)
http://lkml.org/lkml/2005/3/11/39
You can also get it here.
http://rostedt.homelinux.com/code/streamline_config.pl
Posted Sep 18, 2008 17:59 UTC (Thu)
by Oddscurity (guest, #46851)
[Link]
I'll try and make time next week to give both scripts a go next week, see how they fare getting a nice dense kernel for my notebook, compile time and size for both.
Posted Sep 18, 2008 13:26 UTC (Thu)
by Felix_the_Mac (guest, #32242)
[Link]
Yes! Whenever I tried to build kernels with new features, debugging on, -RT etc it would take many hours on my ten year old system.
Frequently I wished that all the modules which were not applicable to my hardware could be switched off 'automatically'.
A tool which could look at the hardware on your running system and then switch of 90% of the modules which would never be used (but leave, say, USB devices in case you plug in a webcam) would be excellent.
Posted Sep 18, 2008 14:10 UTC (Thu)
by cate (subscriber, #1359)
[Link]
A new version is in http://cateee.net/autokernconf/ . Not very well
Posted Sep 19, 2008 14:07 UTC (Fri)
by Wummel (guest, #7591)
[Link]
KS2008: Fixing the Kernel Janitors Project
KS2008: Fixing the Kernel Janitors Project
KS2008: Fixing the Kernel Janitors Project
Minimal Kernel
KS2008: Fixing the Kernel Janitors Project
Aunt Tillie flamewar. Why this changes of opinions? Or I understood wrongly
the old flames?
maintained because of fear of the old flames.
Andrew repeated his statement that the best thing for new developers to do is to ensure that every system they have access to runs perfectly with current kernels.
KS2008: Fixing the Kernel Janitors Project
I can easily test that the machine boots and there are no kernel oopses while using it.
All other bug types are not really easy to identify reliably as a kernel bug. My desktop system has a lot of user-space software layers where the bug could also come from (eg. dbus, udev or dozens of libraries per program).
So the advise from Andrew is good and valid, but I fear it only catches a minority of errors.