Commit graph

161 commits

Author SHA1 Message Date
Robert Watson
2372aeef8a Update last-touched date for the suser/p_can api updates, since jhb
just committed the first round of API updates.
2002-04-02 03:33:54 +00:00
Robert Watson
6b9a222fae Update SMP page for mutex profiling task, currently being worked on
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.
2002-04-01 14:45:17 +00:00
Robert Watson
a3ba899913 Add reference to p_arg locking work by Jonathan Mini <mini@haikugeek.com>.
For now, mark as a WIP, since the commits still seem to be trickling in;
will move to Done when notified.
2002-03-31 14:22:41 +00:00
Robert Watson
4052f9b600 There are two serial gdb related items on the "Known Issues" list.
Add a third: it just doesn't work.
2002-03-25 17:40:10 +00:00
Robert Watson
168bb5b4ff Add tasks for introducing the slab allocator with per-cpu caches, and
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).
2002-03-21 20:43:29 +00:00
Robert Watson
4fac49018c Add a task to clean up the abuse of MD critical API to manage interrupt
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.
2002-03-21 16:51:54 +00:00
Murray Stokely
ef9f6466c3 Fix some links to reflect the fact that this page no longer lives in
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.
2002-03-20 00:38:40 +00:00
Robert Watson
df5153d5dd Update VM tasks owned by green to include alc, who has volunteered to
help out with the VM locking work.  All victims of some horrible scheme
to conquer the world.
2002-03-18 18:33:13 +00:00
Robert Watson
3f1652ed0c Various task updates relating to VM locking task:
- 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.
2002-03-18 16:22:42 +00:00
Robert Watson
9e7e6f4f60 Move kernel linker locking task from WIP to Done, thanks to
<arr@FreeBSD.org>.  Another module locked down and (assuming no bugs
crop up :-)) completed!
2002-03-18 13:00:58 +00:00
Robert Watson
00620ee7fa Add a task to replace the shared/exclusive locking scheme in the VM
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
2002-03-18 01:58:16 +00:00
Robert Watson
b3110732c7 Update SMPng task list
- 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.
2002-03-15 18:01:34 +00:00
Robert Watson
9c67e0fcdc Modify ICU spinlock task: ICU spinlocks are required for Ia64, but are
*not* required for sparc64, so don't have a task for that.

Requested by:	jake
2002-03-14 17:01:39 +00:00
Robert Watson
d336bbdf43 Remove the 'cmpxchgl on 80386' task entry, which jake had owned and was
listed as stalled.

Requested by:	jake
2002-03-14 17:00:40 +00:00
Robert Watson
2907dc57e5 Alfred and Chad have now finished the work to push the select related
structures behind a 'sellock' to prevent lock order reversals relating
the processes in the select() code.  Update the task entry to move it
to the Done section as of today.
2002-03-14 16:36:22 +00:00
Robert Watson
a57e0d5ce8 green has now moved vm from using lockmgr to sx locks; update the status
entry to "Done", and clarify a bit more what the task was about.
2002-03-14 16:19:33 +00:00
Robert Watson
c6ea9ca78c Document the definition of the "date" field for different task statuses.
Document the sort order of the task list.

Requested by:	arr
2002-03-14 14:57:58 +00:00
Murray Stokely
e087db906e Spell 'probably' and 'obsolete' properly.
Found by:	"make spellcheck"
2002-03-13 13:15:34 +00:00
Robert Watson
fa0cfd764f Seperate the VOP_GETATTR shared task into:
- VOP_GETATTR() change to shared locks + namei() updates to support this
- General VFS assertion review and corrections

Move the first to the WIP section, since Jeff Roberson just committed
supporting infrastructure for this in the form of namei's LOCKSHARED.

Leave the second in the New section.
2002-03-12 04:13:14 +00:00
Robert Watson
02d90ad480 Add an entry for on-going selinfo locking work by Alfred and Chad. This
work pushes the selinfo structure under a seperate lock and allows
select-related behavior to be pushed out from under Giant.  Patches
were recently posted to freebsd-smp, so make it a WIP.

Add an entity for Chad since he didn't have one already.
2002-03-12 02:20:49 +00:00
Robert Watson
66e3b60435 jhb pointed out that tanimura is working on patches to protect p_fd,
which is currently not protected yet used outside of Giant due to
the struct filedesc pushdown.  While a sub-set of the overall proc locking
task, this appears to be seperable, and in progress, so break it out
into its own task with responsible of 'tanimura'.  Currently, there
can be panics under high load with a corrupted p_fd as a result of this
lack of locking.

Bugs reported by:	fenner
2002-03-11 18:28:10 +00:00
Robert Watson
eed897107f Ooops, re-inserted the grow_stack() entry as a WIP in the Stalled
section.  Rather than prematurely suggest this will become Stalled,
move it to where the other WIP entries are.
2002-03-10 00:43:13 +00:00
Robert Watson
5abae8c1a5 Alan has volunteered to be responsible for the 'Make grow_stack() MI'
task.  Move the task to the WIP section, and stick his name in as the
responsible party.
2002-03-10 00:40:51 +00:00
Robert Watson
8c87142644 Change task responsible from jeffr to phk for vnode soft reference
count cleanup, and then mark as done since phk just committed the
expected changes.  There might be more outstanding issues with this,
but the known ones are now covered.
2002-03-08 16:12:53 +00:00
John Baldwin
91a227ea85 Add a note about jail_sysvipc_allowed being used unsafely in the SYSV IPC
syscalls as an unresolved issue.
2002-03-05 19:09:25 +00:00
Murray Stokely
21fa5f06a2 Move the developer entities out to a separate include file, so that
these entities may be used by other documents.  Also, prepend "a." to
the developer entities, to clearly define the namespace used for this
purpose (as done in doc/).
2002-03-04 06:46:05 +00:00
Robert Watson
7224863244 John has started work on an SMPng architecture document and posted about
his first draft; add a task entry for it.
2002-02-28 21:19:44 +00:00
Robert Watson
85a18f4f29 Note that the ABI giant pushdown task isn't actually done, since there
are many native ABI calls with Giant still being set in syscalls.master.
Maxime Henrion is preparing patches that address this, and remove the
M* stuff in syscalls.master, so stick in his name as a co-conspirator.
2002-02-28 19:01:42 +00:00
Robert Watson
336e13dbca Warner has confirmed he has a work-in-progress for locking down components
of the newbus infrastructure, so move it into the WIP section.  Amazing
what you can sucker people into doing.
2002-02-28 17:27:18 +00:00
Robert Watson
c459747686 Clarify the notion of the "Responsible", which was previously present
but undefined: the de facto definition that appears to be in use, and
that I'm assuming still applies, is the following:

  The "Responsible" field identifies a developer who has expressed
  willingness to be responsible for completing the identified task;
  this doesn't preclude others working on it, but suggests that
  coordination with the responsible party might be appropriate so as
  to avoid unnecessary duplication of work, and to maximize forward
  progress.

Requested by:	"Michael G. Petry" <petry@NetMasters.Com>
2002-02-28 04:50:09 +00:00
Robert Watson
6dc17a998b Add some more items:
- Claim TrustedBSD locking.  This isn't in the tree yet, but will begin
  to migrate in in a month or so, and I am asserting to myself that it
  will be locked when it arrives :-).

- Assign a variety of VFS locking-related tasks to Jeff Roberson.  He
  volunteered to work on these at BSDCon, so as a personal favor to him,
  I'm making sure he can't forget.  While I'm at it, add an entity for
  him.  The tasks he described include:
	- Cleaning up locking within the vnode, including documenting
	  the various implicit and explicit locks there.
	- Moving to explicit counting of soft references.
	- Move towards using sx locks instead of lockmgr once this cleanup
	  is done.
	- Moving towards being able to perform VOP_GETATTR() shared,
	  to reduce lock contention.
	- Generally review vnode and VFS locking for SMP-safety.
2002-02-28 04:14:43 +00:00
Robert Watson
853ab27f49 Add an 'unstarted' entry for locking down newbus infrastructure. Since
Warner indicated at the developer summit that he'd be willing to give it
a shot, assign ownership to him for the time being.  While I'm at it,
add an entity for Warner.
2002-02-28 03:55:36 +00:00
Robert Watson
27fc24f84e Break out two more items explicitly from the old 'proc locking' entry:
- Proc locking for debugging interfaces and procfs
- Proc locking for monitoring sysctls, such as those used by 'ps'

Since jhb has patches that cover this, I'll assign them to him for now.
Hopefully they're on the commit fast path, and we can remove these
RSN.  I'm attempting to remove the 'proc locking' task item, since it's
sufficiently broad as to not be very instructive for those reading the
task list.
2002-02-28 03:52:54 +00:00
Robert Watson
2dffcf0338 Mark in three more pieces of on-going work:
(1) Add the p_ucred -> td_ucred task explicitly, rather than relying on
    the larger "proc locking" task.  Assign to John since he just committed
    a bunch, and I don't know if he's done (it looks like he is, so should
    close this task).

(2) Add an item for the suser and p_can*() API switches to use thread
    instead of process pointers.  Since John has patches, and has indicated
    an impending commit, assign ownership to him.

(3) arr has indicated he's taking a stab at adding locking to the kernel
    linker and module structures.  Go ahead and assign ownership to him.
2002-02-28 03:47:42 +00:00
Robert Watson
738d642269 Update SMP task list
(1) Note that Alfred has completed "simple" locking for pipes: this
    includes small reads and writes that don't trigger VM optimizations,
    and the SIGIO, fsetown(), and related inter-process evil for pipes.
    Another item off the check-list for 5.0-RELEASE.

(2) Create two new tasks: sigio/setfown/... components of pipes.  Mark
    this as WIP, and assign to Alfred.  Create a VM optimizations pipe
    task without an owner: we'll probably get this for free as part
    of fine-grained VM locking when that happens.
2002-02-28 03:40:41 +00:00
Robert Watson
d53dccad09 Alfred has grabbed the pipe locking task. 2002-02-27 12:52:44 +00:00
Robert Watson
0b17eb790c Note Matt's pushing down of Giant into the FreeBSD ABI in October of 2001.
Note that the remaining ABIs have not yet had Giant pushed down, including
those I could find in a quick scan of the tree:

	Linux i386		\
	Linux AXP		/ Some of these may be overlapped
	SVR4 i386
	OSF/1 AXP
	IBCS i386
2002-02-25 21:24:02 +00:00
Robert Watson
57835c436a Add an entity for Andrew Reiter, since he's interested in supporting
the SMPng effort.
2002-02-25 20:55:25 +00:00
Robert Watson
0cca4ba83c Add a lock contention measuring tool to the list of desirable features
without an owner.  To measure the effectiveness of our locking strategy,
optimality of mutex pools, etc, we'll need a tool that tells us what
locks are the "hottest", as well as other useful statistics such as
average latency to wait on a lock, perhaps throughput on the lock, etc.
This task will require some relatively in-depth analysis of what we need
to know, not just hacking, but should prove interesting and highly
valuable.
2002-02-25 19:47:05 +00:00
Robert Watson
399b55743d Add fast-path Giant push-down activity for VOP_READ() and VOP_WRITE(). 2002-02-25 19:39:49 +00:00
Robert Watson
154460de95 Note that the sysctl tree is not locked down, nor are its access
methods.
2002-02-25 19:36:43 +00:00
Robert Watson
4c7d7aeca2 Add myself to entity list.
Add an additional entry indicating that the locking of jail occurred
about this time last year.  jhb had to redo things a bit for the
proc locking work, but I figured I might as well add it anyway.
2002-02-25 19:35:19 +00:00
Robert Watson
84c9a07e37 o Add the pipe implementation to the list of targets to lock. It isn't
mentioned in the list because details aren't, but this is complicated
  by the presence of VM magic in the pipe implementation.  However, VM
  isn't involved in small pipe operations, and small pipe operations are
  critical to the performance of large build operations involving make.
  It looks like pushing small pipe operations out from under giant would
  have a large impact on build performance, making this an appealing
  target as file_ops becomes safe.
2002-02-25 16:37:59 +00:00
Seigo Tanimura
f6cc5ba60f Lock of pgrp, session and sigio is done. 2002-02-23 11:30:50 +00:00
Andrew R. Reiter
afa58559eb - Fix broken link. 2002-02-23 02:41:19 +00:00
Andrew R. Reiter
0b65bf50bd - Add status report from 01/12/2002
Submitted by:	rwatson
2002-02-22 08:08:12 +00:00
John Baldwin
276c42c3c0 Whoops, it's still January.
Reported by:	tanimura
2002-01-15 12:53:29 +00:00
John Baldwin
e0381e1e4e Alfred committed the filedesc and file stuff. 2002-01-13 17:37:09 +00:00
John Baldwin
b29a1730b0 - Mark the axeing of the SWITCH flags as done.
- Split the networkign stack items out into their own separate table.

Requested by:	bmilekic (2)
2002-01-07 18:58:40 +00:00
Alexey Zelkin
a2e2502ea8 * Fix links in TOC
* add &nbsp; to empty table cells to make render result better
2002-01-05 11:40:36 +00:00