Linuxu­lat­or D-​Trace probes com­mit­ted to cur­rent

A while ago I com­mit­ted the linuxu­lat­or D-​Trace probes I talked about earli­er. I waited a little bit for this an­nounce­ment to make sure I have not broken any­thing. Nobody com­plained so far, so I as­sume noth­ing ob­vi­ously bad crept in.

The >500 probes I com­mit­ted do not cov­er the en­tire linuxu­lat­or, but are a good start. Adding new ones is straight for­ward, if someone is in­ter­ested in a ju­ni­or–ker­nel-hack­er task, this would be one. Just ask me (or ask on emu­la­tion@), and I can guide you through it.

linux_​base-​c6

Seems I for­got to an­nounce that the linux_​base-​c6 is in the Ports Col­lec­tion now. Well, it is not a re­place­ment for the cur­rent de­fault linux base, the linuxu­lat­or in­fra­struc­ture ports are miss­ing and we need to check if the ker­nel sup­ports enough of 2.6.18 that noth­ing breaks.

TODO:

To my know­ledge, nobody is work­ing on any­thing of this. Any­one is wel­come to have a look and provide patches.

DTrace in GENERIC (-cur­rent)

In case you have not no­ticed yet, KDTRACE_​HOOKS is now in the GENERIC ker­nel in FreeBSD-cur­rent. This means you just need to load the DTrace mod­ules and can use DTrace with the GENERIC ker­nel.

In case you do not know what you can do with DTrace, take the time to have a look at the DTrace blog. It is worth any minute you in­vest read­ing it.

Sock­ets and null­fs: works now in -cur­rent

I just up­dated to a re­cent -cur­rent and tried the new null­fs. Sock­ets (e.g. the MySQL one) work now with null­fs. No need to have e.g. jails on the same FS and hard­link the sock­et to not need to use TCP in MySQL (or an IP at all for the jail).

Great work!

v4l sup­port in the linuxu­lat­or MFCed to 8-​stable

I merged the v4l trans­la­tion lay­er in­to the linuxu­lat­or of 8–stable. As in -cur­rent, this just means that linux apps (like Skype) can now use FreeBSD nat­ive devices which con­form to the v4l ABI. The port multimedia/​webcamd provides ac­cess to some web­cams (or DVB hard­ware) via the v4l ABI.

People which want to test the linuxu­lat­or part should first make sure a nat­ive FreeBSD ap­plic­a­tion has no prob­lem ac­cess­ing the device.

Doxy­gen stuff up­dated in 9-​current

I com­mit­ted my patch for tools/​kerneldoc/​subsys. Ex­cept for not gen­er­at­ing the PDF part, this is now the same con­fig which I use to gen­er­ate the on­line ver­sion. While writ­ing the com­mit log I no­ticed that I did more changes than I thought…

So any­one who wants to gen­er­ate the Doxy­gen docs of some FreeBSD ker­nel sub­sys­tems on his own, can do it now. Adding more sub­sys­tems is easy, just make a copy of one the the ex­ist­ing Doxyfile-* files – keep the same nam­ing scheme – and change the con­tents. Everything else is handled auto­mat­ic­ally.

I also ad­ded a link to the FreeBSD wiki. It is not at a prom­in­ent place (near the end of the main page), but at least someone can find the link to the my FreeBSD-doxy­gen page there.

linuxolat­or SoC work com­mit­ted

I com­mit­ted most of Ro­mans work in the linuxolat­or to cur­rent. The new sy­scalls aren’t used un­til you run

sy­sctl com­pat.linux.osrelease=2.6.16

to switch back (after ex­it­ing all linux pro­grams) you just have to run

sy­sctl compat.linux.osrelease=2.4.2

But you have to do this on i386. Amd64 sup­port is not com­plete (and be­sides this, amd64 is still broken and nobody provided the nec­cessary de­bug­ging info to jhb@).

There are some known prob­lems with osrelease=2.6.16, e.g., prob­lems with fu­texes (vis­ible in acror­ead, real­play and skype), but some pro­grams already run without ob­vi­ous prob­lems (linux-​firefox, linux-​opera).

Any re­ports about new prob­lems to netchild@ and rdivacky@ please. Re­views, de­bug­ging info and patches are wel­come too.