Lin­ux­u­la­tor news

Today I com­mit­ted the updat­ed lin­ux aio stuff to p4. It’s a mod­ule now, so it can be loaded as need­ed. I also updat­ed the p4 diff in the wiki, so any­one can down­load and test it (please do it!).

Major fea­tures in the p4 diff are futex­es and TLS for amd64. So if you own an amd64 sys­tem please down­load the patch and give it a try. I’m inter­est­ed in reports for linux-firefox, skype, realplay­er and acrore­ad on amd64.

There’s one known bug with the mmap behav­ior on amd64 (even in cur­rent). I don’t know if this only affects the LTP tests or real world appli­ca­tions, but because there’s much time between the mmap com­mits and the report, I think it’s only a prob­lem for the regres­sion tests and not a prob­lem which shows up in typ­i­cal usage scenarios.

Short sta­tus: RealPlay­er, Sound, Linux, …

I’m busy with non-FreeBSD relat­ed stuff since a while, so there’s not much to say.

RealPlay­er: Shaun, the FreeB­SD main­tain­er of the helix­play­er port, promised to pol­ish up a patch­set when he gets time to port helix­play­er to a more recent ver­sion and send it to the cor­re­spond­ing helix com­mu­ni­ty (request­ed by some peo­ple at Real after show­ing them the patch­es via cvsweb). Their review and inte­gra­tion of this stuff will help in get­ting a RealPlay­er bina­ry from Real.

Sound: The work of Ariff (and every oth­er con­trib­u­tor) in the HDA area seems to be very appre­ci­at­ed. There are aven voic­es ask­ing for a MFC. I don’t think we will get it for 6.2. It’s too late in the release process and Ariff seems to be busy.

Sound2: Ryan com­mit­ted a fix to P4 which should pro­vide some miss­ing stuff to some break­ing ports. If some­one has time to com­mit it…

Lin­ux: A lot of progress hap­pened here. The long­stand­ing major bug on amd64 is fixed and MFCed (thanks to kib!), so we final­ly got some results for the amd64 runs of the LTP test­cas­es (now col­or cod­ed to spot prob­lems much faster). The sta­tus of the sta­ble run is already on the wiki page (but this is with­out the MFC). Runs on cur­rent (2.4.2 and 2.6.16 based emu­la­tion) and sta­ble after the MFC where already done, but I did­n’t got time to wiki-fy their sta­tus yet.

Ports: I already have an update for my sylpheed-claws port to 2.6.0 togeth­er with a move to LOCALBASE (includ­ing the plu­g­in ports) avail­able, but I have to wait until the ports-slush is lifted.

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 😉 ).

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. 🙂