To beat a dead horse a little deader and make one final attempt to help, I'll add a few remarks about a diff I committed last night. The diff had previously been posted to tech.
On the learning front, the first question to ask might be "Why does removing proc.h from uvm_map.h cause an error in sysctl.h when compiling if_iwn.c?" This immediately gets you four more questions, what are proc.h, uvm_map.h, sysctl.h, and if_iwn.c? On the contributing front, I said in my first mail the diff was incomplete and asked for help, but nobody did. All you had to do to find a bug was apply the patch and type make on an exotic architecture. And by exotic architecture, I mean i386 GENERIC. Or amd64. Actually, any and every kernel config other than i386 MP. So when people can't/don't/won't type make, it doesn't inspire much confidence that they will be able to modify the code and then type make. Followup questions for the advanced contributor: Why did vfs_biomem.c fail to compile except with an MP kernel? What was the obvious fix for SP? What then broke when Theo tried it? Why did we commit the gross workaround? What's the right solution? In the last month, I mailed 8 patches to tech. They were in areas as various the kernel to userland to documentation. All of them featured fairly obvious followups for someone to build upon. Not a single one earned a response from anyone who's not already a committer.

