Network changes starting

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.

Slightly broken

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.

Slab, multicast, sysinstall, SysV

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 src/tools/regression/