The great source-changes catch-up for late March, April, and May 2008
Ok, after more weeks of slacking, some gems that I've found noteworthy,
i.e. that have some "enduser" effect, where I also included developers and
programmers in that group. I.e. not purely cosmetic/internal changes.
"Fun stuff", i.e., not the hard labor that's still needed, and much appreciated!
Here we go:
Changes related to SMP:
Changes related to networking:
- Yamamoto Takashi has started the yamt-nfs-mp branch to make
the NFS client MP-safe
- After merge of the yamt-lazymbuf branch, the send(2) and recv(2)
system calls are MP-safe
- Other system calls that have been made MP-safe are for NTP,
PMC, reboot, sysarch and time. With the exception of the Darwin and
Irix emulations, all system falls are now MP-safe!
- Progress on the wrstuden-revivesa branch to get back support for
Scheduler Activations. Much of the code that was removed when
Andrew's 1:1 threading was added is put back in a way that
both threading mechanisms can co-exist. Affected areas are
the interface to the generic scheduler and locking.
Many other changes:
- In the networking code, stats for ICMP, ICMP6, UDP, TCP, IP and IPv6
were changed from a structure to an array of uint64_t values by
Jason Thorpe. This removes a few structs from the kernel header
files. The change is ABI compatible with the old structures,
as such tools like netstat(1) will continue to work.
- Also, while moving towards a multi-threaded network stack, stats
for protocols like UDP6, IP, PIM6, ARP, IGMP, IPSEC, IPSEC_FAST,
PF_KEY, Appletalk DDP,
and CARP are accounted on a per-cpu base, and routines were added
to support collating per-cpu-gathered network statistics.
- ifconfig(8) got a major overhaul towards improved modularity and
extensibility. The internal parser's cleaner, and it should be easier
to add new commands.
- In the search for replacing the ISC DHCP client dhclient(8) with
something smaller, Rob Marpled's DHCP Client Daemon dhcpcd(8)
was imported. It is 1/6 of the size, yet has about all the features
plus adds support for more modern RFCs like IPv4LL (RFC 3927),
Classless Static Routes (RFC 3442) and Node-specific Client Identifiers
- Kernel support for adding/removing link-layer (i.e. MAC/ethernet)
addresses using SIOCALIFADDR AND SIOCDLIFADDR, respectively.
Corresponding ifconfig(8) changes were announced to come soon.
[Tags: kernel, source]