Joshua Coombs asked about good books for BSD kernel/network programming. Jeroen Ruigrok listed: “The Design and Implementation of 4.4BSD”, “Unix Internals: The New Frontiers”, and “The Design of the Unix Operating System”.
From Joshua Coombs:
_ _
()()
_________| |_________
(_________\ /_________)
(_________/ \_________)
__/| |\__
| |
||
||
||
\/
The make release step no longer depends on perl, thanks to Jeroen Ruigrok.
Yet more __P() macros have been removed. Check the commits record around the 13th to see. __P() should now be gone most everywhere except contrib
.
We had some power outages/surges here because of a windstorm, and my UPS didn’t handle it well, along with other local network equipment. So, I’ll be slow with news posts until I get my internal network in better working order.
Matt Dillon noted he would be creating a port override for gcc33, as the port from FreeBSD’s port tree doesn’t seem to work just right.
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.”
Joshua Coombs is kicking around the idea of modeling – or even implementing – his new routing model, in Perl.
This week Matt Dillon is doing:
- lwkt_token and IPI code optimization
- GCC 3.x (just for support of the next item)
- 64 bit AMD64 support
For those of you late to the party and wondering why his work schedule is spotlighted, Matt Dillon is the originator of the DragonFly project, and is doing much heavy lifting.
Jeroen Ruigrok and Matt Dillon wrote up an article for BSDNews.org about DragonFly.
Not directly about DragonFly, but chances are good you are using it. Release 4.4 of XFree86 is due by the end of the month, and you can look at the changelog.
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 /usr/src/sys/boot/i386/loader/loader.rc
to /boot
.
There’s been a lot of new code lately – that’s good!
Jeroen Ruigrok supplied these links about patent issues with Cisco’s VRRP during a thread about importing OpenBSD’s CARP as part of pf.
http://www.in-addr.de/pipermail/lvs-users/2001-November/004135.html
http://kerneltrap.org/node/view/477/1567
http://kerneltrap.org/comment/reply/477/1567
http://marc.theaimsgroup.com/?l=openbsd-misc&m=102883972229241&w=2
https://www1.ietf.org/mail-archive/working-groups/vrrp/current/msg00318.html
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.
Joshua Coombs has updated his writeup of a new routing model, based on feedback.
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.
Congratulations are due to committer Jeroen Ruigrok, who is apparently getting hitched.
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.