o Move two VFS locking cleanups/tasks into the WIP sections from the
New section, update timestamps. Jeff has been actively working on
VFS locking for a while now, and has addressed sizable chunks of
these tasks.
o Add kan as an owner on the i386 lazy context switch task.
o Add a sparc64 lazy context switch task and assign to Jake.
o Remove green from VM task, leaving just alc, update timestamp,
and mark as a WIP.
when interacting with subsystems such as VFS, Sockets, and the Network
Stack, the basic framework structures and components are MP-safe.
Update the SMP task relating to this to switch it to Done status.
scheduling) for i386" from "wip" to "suspended" for now. The truth is,
the work is sitting in my p4 branch ('interrupt') but is a little stale
and requires merging to post-KSEIII world - actually, the merging itself
is done but it needs to be unbroken.
Right now, I decided to dedicate more time to helping get -CURRENT
stabilized for 5.0 instead of adding Yet Another New Feature rush-rush
for 5.0. While lightweight interrupts are a really good thing for i386,
and I do plan to finish this after 5.0 is released, I (and others) need
to look at things realistically right now and focus more on knocking
the bugs out of what we already have (KSEIII, TrustedBSD, pmap, etc.)
in time for 5.0, as well as getting performance back to sane levels
with what we already have.
I have the code, it needs fixing but has worked before and has been
discussed at the last Devel. Summit; this is now a post-5.0 feature.
- Turn the kernel linker locking task into two different ones,
locking the globals and locking down linker_file_t's.
- Mark the globals task as done.
- Mark the linker_file_t's task as WIP.
- alc did the push down of Giant into readv/writev.
- Move networking stack related items out of the main list and into the
networking list.
- Add some new entries:
- wip for turnstiles
- new for sleep queue abstraction
- new for atomic_fetchadd()
- new for a reference count API
- The cleanup of the MI abuse of cpu_critical_*() is done.
- Note the VM change salc has been comitting.
- Note that jeffr finished making malloc() and free() not require Giant.
- I've just about finished all the td_ucred and p_ucred stuff now.
- Mark all the mutex changes I committed today as done.
- Add two new WIP entries for the work alc is still doing in the VM.
- Make the eventhandler locking task more generic (don't require sx locks)
and move it to still being a wip and assign it to both Mike Smith
(who did the original locking) and to Jon Mini (who is reworking it into
its hopefully final form).
exactly what MEMLOCK() protects, so there should really be more comments
in kern_sysctl.c. Once they're there, I'll update the task.
Document Jake's addition of a userland tool to manage KTR event dumps.
by eivind and des. Add entities for them. While I'm there, add a
task for expanding the profiling tool to include sx locks, since we'll
want to be able to measure that sort of lock contention also.
for pushing down Giant on malloc()/free(). The first of these has been
completed by Jeff Roberson as part of the recent UMA commit, and the
second is a work-in-progress by Jeff (he has a remaining Witness warning
to clear up before it's done).
enable/disable state. Note that it's on-going, and so far I've seen
commits from at least {benno, dfr, imp, jhb}. If you did some of this
e-mail me and I'll add you. Someone let me know when it's done.
Jason Evan's public_html directory.
- Link to archived email messages from docs.freebsd.org, rather than
non existant text files in the local directory.
- Correct link to Chuck Patterson's slides, which reside in ~jasone,
not the local directory.
- Break out lockmgr exclusive and sx/mutex tasks from one another, and
leave the original (completed) movement of mutex pool initialization
task as it's own thing.
- Create the task for moving to purely exclusive locks in VM rather than
lockmgr shared locks. This task will involve implementation, then testing
to see if it actually hurts. If this is possible, it will greatly
simplify the transition to new locking primitives. Assign this to
green since he's expressed willingness to work on it.
- Create the task for moving from lockmgr to either mutexes or exclusive
sxlocks for VM. At that point, it should be possible to start pushing
Giant down into VM somewhere, subject to lack of locking for a few
primitives that will still require it, and for VFS/pmap interactions.
system with a simple exclusive locking scheme, avoiding livelock and
deadlock scenarios using the new locking primitives, per Matt Dillon's
description on freebsd-current.
Obtained from: 200203180048.g2I0mOc40231@apollo.backplane.com
- Alfred has pushed down Giant for a number of fd-related operations,
including read/write/pread/pwrite, +other consumers into the per-subsystem
fileop code. Record this as done.
- Add a task to push down Giant for the remaining such calls, including
readv/writev which currently still require Giant for memory management
in handling struct iovec arrays. Record this as un-owned.