Matt Dillon added an “upcall mechanism to support userland LWKT”. You can look at the man page for upc_register in source.
Aaaand it’s done – rebuilding your system with current sources will give you a
uname that reports “DragonFly”. Through some trickery, most ports are apparently not broken by this.
The make release step no longer depends on perl, thanks to Jeroen Ruigrok.
I’ll quote Matt Dillon’s entry cause I’m working late:
” The MBWTest program (/tmp/mbw1) attempts to figure out the L1 and L2 cache sizes and measures L1, L2, and non-cached linear memory bandwidth.”
Matt Dillon’s added boot code from FreeBSD 5 – this allows AMD64 and ELF64 support. He also pushed in new linker code and some (not yet enabled) support for UFS2.
Use installkernel and installworld as part of your build process, and you should be fine with these changes. However, you will manually have to copy
There’s been a lot of new code lately – that’s good!
Variant symlinks are possible now, though you currently have to set the sysctl vfs.varsym_enable. ‘varsym’ can be used to mess with them at any time, however.
Matt Dillon’s reorganizing some of the header files; if you build a new kernel anytime soon, make sure you build from scratch using ‘config -r’, as some of the old header files have now vanished.
Changes to systat by Kenneth Culver gives it the ability to show each network interface and its throughput.
Jeffrey Hsu and Matt Dillon’s network changes are being committed – the first third is in, according to a commit by Matt.
Matt describes the plan thusly:
“Basically the goal of this work is to isolate and serialize PCBs in specific threads in order to (A) not have to lock them and (B) improve cache locality for ISR processing loops as well as for data. Isolating a network PCB means dealing with the points where the PCB talks to other parts of the system. There are three points where this happens:
- incoming packets go through preprocessing (e.g. IP) before
being routed to the target protocol & PCB (e.g. TCP and UDP).
- user syscalls operate on PCBs
- timers and such initiate work related to particular PCBs”
I wish I knew what a PCB was.
Matt Dillon’s putting in some material from FreeBSD-5, so if PNPBIOS is defined, you may not produce a working kernel during the next few days.
update: PNPBIOS should not be enabled if you have a AMD64 machine, and the K8V motherboard, as that appears to be broken.
The 3c940 ethernet driver (found on ASUS K8V motherboards) is now supported. It’s the ‘sk’ device. Matt Dillon’s AMD64 machine apparently arrived.
Eirik Nygaard has also cleaned out all the __P() in usr.bin and usr.sbin, and incidentally gained a commit bit. Congrabulations.
Eirik Nygaard submitted a patch that removes over 700 instances of __P() from src/sbin/. It’s been committed.
The main DragonFly site has been fixed up, in part with some changes I’ve submitted. Whee! I contributed!
The memory slab allocator is now on by default, and the old system is gone.
Man pages for pim(4) and multicast(4) for “Protocol Independent Multicasting”, are in.
Sysinstall has been modified with changes for NFS; you can pick NFSv3 (default) and TCP protocol (not default), now, along with some internal changes.
The SysV IPC regression test suite has been added, in
File System Exerciser, in
tools/regression/fsx, has been added, by David Rhodus.
fdisk now has a -p option, to let it operate on disk images.
Debugging is now turned on by default in the GENERIC config.
David P. Reese said his ‘step 5a’ patch is set for syscall separation. He stated this is his last step before starting the stackgap allocation send-off. Super!
The Promise Supertrack controller (pst) is now in src/sys/i386/conf/LINT.