Seems I forgot to announce that the linux_base-c6 is in the Ports Collection now. Well, it is not a replacement for the current default linux base, the linuxulator infrastructure ports are missing and we need to check if the kernel supports enough of 2.6.18 that nothing breaks.
To my knowledge, nobody is working on anything of this. Anyone is welcome to have a look and provide patches.
Seems that I will actively mentor again in this Google Summer of Code (as opposed to just review the submissions from students and/or acting as a fall-back mentor).
The project I will mentor is the “Make optional kernel subsystems register themselves via sysctl”-one from the FreeBSD ideas page.
The student already got into contact with me and it looks like he is motivated (he is already subscribed to several FreeBSD mailinglists, which is not a requirement we have in our GSoC docs).
During the last weeks I identified 64 patches for ZFS which are in 8–stable but not in 7-stable. For 56 of them I had a deeper look and most of them are commited now to 7-stable. The ones of those 56 which I did not commit are not applicable to 7-stable (infrastructure differences between 8 and 7).
Unfortunately this did not solve the stability problems I have on a 7-stable system.
I also committed a diff reduction (between 8-stable and 7-stable) patch which also fixed some not so harmless mismerges (mem-leak and initializing the same mutex twice at different places). No idea yet if it helps in my case.
I also want to merge the new arc reclaim logic from head to 8-stable and 7-stable. Maybe I can do this tomorrow.
Currently I run a test with a kernel where the shared locks for ZFS are switched to exclusive locks.
Due to the problems with a 7–stable machine, I had a look at some unmerged fixes for ZFS (58 changes not merged).
I backported some of those changes from 8-stable to 7-stable, I have this running on one 7-stable machine. I would like to get some more feedback for it (even an “it works for me” would be great). The main part of this change is that the FreeBSD taskqueue is used now instead of the opensolaris one (and some other changes which may improve the ZFS experience).
It would also be nice if someone could have a look at the FIRST_THREAD_IN_PROC part. Can there be more than one thread at this place (I do not think so) and I should use FOREACH_THREAD_IN_PROC_instead?
How to apply:
- cd /usr/src/
- fetch http://www.Leidinger.net/FreeBSD/test/releng7_zfs_merge3.diff
- fetch http://www.Leidinger.net/FreeBSD/test/opensolaris_taskq.c
- fetch http://www.Leidinger.net/FreeBSD/test/taskq.h
- mv taskq.h sys/cddl/contrib/opensolaris/uts/common/sys/taskq.h
- mv opensolaris_taskq.c sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
- patch -p 0 –quiet <releng7_zfs_merge3.diff
- ignore the 2 .rej files
- rm -f sys/cddl/compat/opensolaris/sys/taskq_impl.h*
- rm -f sys/cddl/compat/opensolaris/sys/taskq.h*
- rm -f sys/cddl/contrib/opensolaris/uts/common/os/taskq.c*
- rebuild kernel
I do not list all of those 16 of 58 outstanding patches which are covered here, a detailed list can be found on the stable and fs mailinglists.
There was not much to tell in the last months. I was busy with moving and the pregnancy of my wife (ok, she was more busy with this than I was…).
So the recent updates are, that I took some time to commit some of my patches to SVN. Most of them are in my SVN user area in various branches. The interesting ones may be deskjail and linuxaio. The first one allows to run your desktop in a jail. The second one gives async I/O for the linuxulator.
There’s also some other stuff. Feel free to have a look.
It also seems that the we may see the Fedora 8 infrastructure landing in the ports collection “soon”. I have the impression that Boris just waits for the complete unfreeze of the ports collection. The last patch I’ve reviewed looked very good. There are some loose ends, like switching it on as the default linux base for FreeBSD-current for example, but those are things which I prefer to do later than in the same commit. First let it be there for a while and let curious users test it a little bit more. If everything is ok, we can switch the default linux base to F8 in -current.
On of the major showstopper bugs in the linux 2.6 emulation is that acroread does not work. Now we have patches (proof of concept by Intron, refined patch by Kib) for it. I didn’t had time to test it yet (mind you, everyone else is not able to run acroread with 2.6, I’m able to run it at least with some files or no file at all), but I want to do an extensive test (I know several ways of killing it with 2.6).
If everything goes well and no other showstopper bug appears, we may be able to request more extensive testing of the 2.6 emulation, at least on i386. First this should be done by asking people to switch, and maybe after a week by switching the default emulation to 2.6 in -current (at least for a while).
This is specially important as the Fedora Legacy project announced that they will abandon support for FC4. FC5+ is not able to run on a 2.4 kernel.
And while I’m at it: I submitted the status report for the linuxulator. It contains some nice statistic about the number of fixed bugs (comparing 6.2 and -current). No, I will not tell you in advance, you have to wait some days until the report shows up. 😛
Today I removed the LINUX stuff from GENERIC on amd64 (this syncs with i386). Now that kib@ committed the kernel linker stuff the linux module is usable on amd64 too. This allows for more easy testing/patching on amd64 and also allows on-demand-loading like on i386.