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.