- iedowse added ktr tracing for mutex contention.
- jeff allowed ktr to trace to a file using alq.
- I added ktr tracing for UMA, geom, busdma, critical sections.
- jeff added ktr tracing for scheduler run queues, buffer cache events,
additional VFS events.
critical sections for synchronizing access to UMA per-cpu caches (rwatson),
and converting malloc(9) to per-CPU statistics protected by critical
sections (rwatson).
done. That was in 2002.
Mark cdevsw flag for MPSAFEty as done, phk did it in 2002.
Mark linker as locked down in 2002.
Mark a number of VFS-related activities as done on 01 January 2005, as
that's when Jeff moved ahead with the MPSAFE VFS default.
Add completed task for making UFS MPSAFE.
will no doubt follow, but marking it as "wip" is misleading.
Separate IPv4, IPv6 tasks. Mark IPv4 as done, as it works quite well,
and leave IPv6 as WIP, since there are some important loose ends that
need to be covered.
Mark IPX/SPX as done.
Mark netatalk as done.
Mark NFS client as a work in progress--mohans has the network pieces
running MPSAFE, but the VFS MPSAFEty needs to happen still.
- Mention KSE 1:1 and M:N threading as occuring in parallel, allowing
applications to take advantage of parallelism.
- Mention WITNESS.
- Put in a specific recognition of BSD/OS-BSDi contributions early in the
project.
- Since a lot of the development work is done, focus less on the project
management approach (especially since things have diverged a lot from
what was discussed).
- Point at the Netperf cluster.
with a new introduction that reflects the work that has gone into the 5.x
and 6.x branches. In particular, update the status to reflect MPSAFE
networking, MPSAFE VFS, MPSAFE VM, on-going performance work, and some of
the important steps to get there. Highlight the iterative nature of the
work, and the focus on infrastructure.
Quoting trhodes:
``If we cannot produce the article,
it should be removed.''
PR: www/76817
Noticed by: Radko Keves <rado@daemon.sk>
Submitted by: Dan Gerzo <danger@rulez.sk>
Approved by: trhodes (mentor)
jail is in fact not an issue due to integer reads being atomic and
the fact that any races there would exist regardless of the presence
of synchronization. Remove from the todo list.
* correct rwatson's SGML author entity so his name is
displayed correctly on the page.
* mention Rick Macklem, not only his e-mail address;
update the last-modified date to reflect this change.
* fix the task line for the TTY subsystem so it is displayed
correctly on the page and also add a `Last updated' date
to the task.
Slide jail(2) lockdown forward again, I had to clean Giant out of
crfree() after a vnode was added to struct prison.
if_tap locking is done.
if_tun locking is done.
I'm working on UNIX domain socket locking now. Also, fifofs.
AARP is done.
I'm working on IPv6 also.
ip_encap.c is locked down.
if_loop.c is locked down.
We now use m_tags to track possible looping in if_gif, not a global.
I'm also working on the socket layer.
I locked down NFS server with a Giant lock, but rick is working on
data based locking.
Maurycy and I are locking down if_ppp.
mlaier, luigi, and brooks are working on ifnet locking.
mlaier and maurycy are working on address lists.
I'm working on bsd_comp consumers.
if_stf is a work in progress.
if_sl is a work in progress.
rik is working on if_sppp.
I'm working on netatalk DDP PCB locking.
I'm working on IGMP locking.
Need to review TCP timers, not lock them.
IP ID code needs locking.
Add myself to socket system calls and structures since I seem to be working
on it a lot.
Add a high level task for KQueue, add jmg@ and green@ as owners.
Update the update date on IPv4/IPv6 since I've been working on them.
Add an IPX/SPX task, add rik@ and myself.
Add a netatalk task with me as owner.
Add myself, mlaier@, luigi@, maurycy@fouk.org, brooks@, and rik@ on the
general network stack task.
Add NFS client/server locking, with myself and
rick@snowhite.cis.uoguelph.ca as owners.
- I locked down if_disc.
- Sam and I locked down if_faith.
- I locked down if_gif at the interface layer.
- I reviewed IP tunnel ECN support, it's fine.
- Brooks is working on locking down the interface cloning code.
- I'm working on the IP-layer GIF support.
- We need to lock down the address lists.
- We need to review all compression API consumers (ppp, et al)
- We need to review the IP encapsulation library in ip_encap.c.
- We need to lock the if_ef "ethernet frame" driver.
Reference BSDCon'03 papers:
Jeffrey Hsu's "Reasoning about SMP in FreeBSD"
Jeff Roberson's "ULE: A Modern Scheduler for FreeBSD"
Update WIP timestamps due to ongoing progress:
Newbus
VM
Buffer Cache
VFS
Socket locking
IPv4, IPv6
Network stack infrastructure
UNIX domain sockets
Socket infrastructure
Move to done status:
Pipe IPC (VM optimizations now done)
Mutex profiling
Pipe VM optimizations
Raw IP
DIVERT sockets
IPFW2
DUMMYNET
Ethernet bridge
IP fragment queues
Routing entries
FAST_IPSEC
Add new WIP:
Peter's device driver API changes for fast interrupt handling