COMPAT_43, SoC and stuff

I just removed the COMPAT_43 option from the GENERIC ker­nel in cur­rent. This may result in increased per­for­mance for some workloads.

In the last days I also “men­tored” a lit­tle bit my SoC stu­dents. Review­ing some changes, sug­gest­ing some imrove­ments, com­mit­ting some stuff which is ready, dis­cussing var­i­ous things and so on.

And last but not least, I hope that the last bugs in the update to the new lin­ux base port are ironed out on the ports build clus­ter (I did some com­mits in the last days).

Bikesheds, FC4 and SoC

The last week has seen some bikesheds. One of them was my com­mit of the doxy­gen infra­struc­ture for the ker­nel sub­sys­tems. Some peo­ple don’t like the way doxy­gen requires some markup tags in the com­ments, some peo­ple don’t think such API docs pro­vide addi­tion­al val­ue and some peo­ple fear that 3rd par­ty devel­op­ers may use some func­tions which should­n’t be used. I don’t repeat the counter-arguments of myself and oth­er peo­ple here, but there are peo­ple out there which already make use of the cur­rent unsat­is­fac­to­ry doxy­gen out­put and are hap­py about this infra­struc­ture. Luck­i­ly is was super­seed­ed by anoth­er bikeshed (and gnn@ wants to work on doc­u­ment­ing a sub­sys­tem to show the ben­e­fits to those peo­ple which do not think yet, that this is a good idea). On a relat­ed issue, I’m wait­ing on a repo copy of src/sys/doc to src/tools (it’s one of two repo copies I’m wait­ing for, ncvs@ seems to be bussy ATM). Some doc@ peo­ple think it is more appro­pri­ate there.

The FC4 lin­ux base port and the xorg based lin­ux X11 libs port are sched­uled for test­ing in an exper­i­men­tal ports build run, we may see the switch of the default lin­ux base port in the not so dis­tant future. It seems Boris is work­ing on updates to the rest of the lin­ux­o­la­tor infra­struc­ture in the Ports Col­lec­tion (gtk, …), so we may see a lot of updates there after the switch of the default lin­ux base port.

In the last days I also helped/talked with my SoC stu­dents. Roman is play­ing a lit­tle bit with an amd64 tin­der­box he got access to and as a result he com­mit­ted sup­port for build­ing the lin­ux­o­la­tor on amd64 as a mod­ule to per­force (call for testers: he did send a patch to emulation@, please give it a try if you own an amd64 box). Ryan is cat­a­loging the IOCTL’s and their sta­tus (imple­ment­ed, obso­lete, …) in the FreeB­SD wiki. I already pri­or­ized those he did so far, and gave some sug­ges­tions how to pro­ceed with the impor­tant ones. This way he has­n’t to wait for me or Ariff when he is fin­ished with the cat­a­loging (being a men­tor liv­ing in a dif­fer­ent time zone means you should be ahead of your stu­dent… being ahead even before he is able to asks ques­tions is … a boost for your own ego 😉 ).

MIDI sup­port in ‑cur­rent

I just com­mit­ted the old-new midi code ftom tan­imu­ra and matk.Yuriy Tsi­bi­zov (of emu10kx fame) inte­grat­ed it into cur­rent. I think it wil need a lot of work until it’s real­ly mature, but as long as it isn’t in the tree, near­ly nobody will have a look at it.

We need a main­tain­er for this!

I will try to fix pan­ics and LOR’s, but I will not extend dri­vers to use it. The emu10k1 and the cmi dri­vers already have sup­port. The emu10kx dri­ver will also make use of it when it enters the tree.

SoC2006->my_students->start()

Since Roman want­ed to cre­ate his lin­ux­o­la­tor branch in per­force, I had to make myself famil­iar with per­force too, to be able to answer his ques­tions. I learned my first steps in per­force by cre­at­ing the sound branch (I’m men­tor­ing Ryan togeth­er with Ariff). Cre­at­ing the branch was not hard, but I man­aged to fail in some way… I used the wrong user­name part for Ryan’s branch name (“rbeasley” instead of “ryanb”). I think this means I should­n’t trust my mem­o­ry and double-check such facts in the future. Since it’s only a name­space issue to not have con­flicts when sev­er­al peo­ple want to cre­ate branch­es with the same name (but a dif­fer­ent seman­tic of what has to be done there), I don’t think it matters.

Roman had­n’t as much “luck” than I had. He for­got to add a ‘/’ in an impor­tant place which result­ed in files like “…_linuxolatoramd64/…” instead of “…_linuxolator/amd64/…” while branch­ing. While ICQ is nice to dis­cuss some­thing in real-time over large dis­tances, you can’t look over the shoul­der of some­one. Mea cul­pa (stu­dents which are excit­ed and eager to try some­thing… I think I remem­ber how this feels 😉 ). He is resolv­ing this as I write this.

While I see some ben­e­fits in the way per­force is work­ing (seems to allow some pow­er­ful things we can’t do with CVS), I have to say the per­for­mance sucks when cre­at­ing branch­es (I did it at home via DSL and a com­pressed ssh tun­nel to the per­force serv­er, not on freefall where it should have been much faster). But I did­n’t cre­at­ed a FreeB­SD branch with CVS, so maybe CVS sucks more when doing this. 🙂