NetBSD/doc/BRANCHES
2016-07-19 02:04:06 +00:00

2094 lines
62 KiB
Plaintext

# $NetBSD: BRANCHES,v 1.336 2016/07/19 02:04:06 pgoyette Exp $
#
# This file contains a list of branches that exist in the NetBSD CVS
# tree and their current state.
#
# This list is necessarily incomplete.
#
# Within reason, developers may create branch and version tags at any
# time for any purpose. To avoid name collisions, private tags should
# have names which begin with the developer's NetBSD login name
# followed by a - or _ character (e.g., thorpej_scsipi,
# thorpej-signal)
#
# Any branch or version tag not listed here should be assumed to be
# private to the developer who created it. It is inappropriate for
# anyone other than that developer to commit, move tags, or otherwise
# modify the contents of the branch.
#
# Please update this file when a new branch is ready for consumption
# by folks other than the maintainer, or when the use or status of an
# existing branch changes significantly.
#
# Format:
# Branch: name of branch
# Description: Purpose and intention of the branch
# Status: Active/Terminated/Dormant
# Start Date: date first instantiated
# End Date: date it was Terminated/made_Dormant, if any
# Base Tag: netbsd-1-5-base, etc.
# Maintainer: Somebody to blame.
# Scope: Portion of the tree covered.
# Notes: Various other info, perhaps explanation of special tags,
# who-may-commit policies, etc.
#
# There are four sections to this file:
# Release branches
# Individual developers' branches (Active/Dormant)
# Individual developers' branches (Terminated), and
# other
#
# Entries within each section should be alphabetized.
#
# Release branches:
Branch: comdex-fall-1999
Description: Special release branch for pre-1.5 release at
Fall 1999 COMDEX.
Status: Terminated
Start Date:
End Date:
Base Tag: comdex-fall-1999-base
Maintainer: mycroft
Scope: Entire tree.
Notes:
Branch: netbsd-0-9
Description: The NetBSD 0.9 release branch
Status: Terminated
Start Date:
End Date:
Base Tag: netbsd-0-9-base
Maintainer: Release Engineering <releng@NetBSD.org>
Scope: Entire tree.
Notes: Subsidiary tags of: netbsd-0-9-ALPHA, netbsd-0-9-ALPHA2,
netbsd-0-9-BETA, netbsd-0-9-RELEASE.
Commits restricted to release engineering.
Branch: netbsd-1-0
Description: The NetBSD 1.0 release branch
Status: Terminated
Start Date:
End Date:
Base Tag: netbsd-1-0-base
Maintainer: Release Engineering <releng@NetBSD.org>
Scope: Entire tree.
Notes:
Commits restricted to release engineering.
Branch: netbsd-1-1
Description: The NetBSD 1.1 release branch
Status: Terminated
Start Date:
End Date:
Base Tag: netbsd-1-1-base
Maintainer: Release Engineering <releng@NetBSD.org>
Scope: Entire tree.
Notes:
Commits restricted to release engineering.
Branch: netbsd-1-2
Description: The NetBSD 1.2 release branch
Status: Terminated
Start Date:
End Date:
Base Tag: netbsd-1-2-base
Maintainer: Release Engineering <releng@NetBSD.org>
Scope: Entire tree.
Notes:
Commits restricted to release engineering.
Branch: netbsd-1-3
Description: The NetBSD 1.3 release branch
Status: Terminated
Start Date:
End Date:
Base Tag: netbsd-1-3-base
Maintainer: Release Engineering <releng@NetBSD.org>
Scope: Entire tree.
Notes:
Commits restricted to release engineering.
Branch: netbsd-1-4
Description: The NetBSD 1.4 release branch
Status: Terminated
Start Date: 1 Apr 2000
End Date:
Base Tag: netbsd-1-4-base
Maintainer: 1.4 Release Engineering <releng-1-4@NetBSD.org>
Scope: Entire tree.
Notes:
Commits restricted to release engineering.
Branch: netbsd-1-5
Description: The NetBSD 1.5 release branch
Status: Terminated
Start Date: 20 Jun 2000
End Date: 26 Jan 2005
Base Tag: netbsd-1-5-base
Maintainer: 1.5 Release Engineering <releng-1-5@NetBSD.org>
Scope: Entire tree.
Notes:
Commits restricted to release engineering.
Branch: netbsd-1-6
Description: The NetBSD 1.6 release branch
Status: Terminated
Start Date: 22 May 2002
End Date:
Base Tag: netbsd-1-6-base
Maintainer: 1.6 Release Engineering <releng-1-6@NetBSD.org>
Scope: Entire tree.
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-2
Description: The NetBSD 2 release branch
Status: Terminated
Start Date: 23 Dec 2004
End Date:
Base Tag: netbsd-2-base
Maintainer: 2 Release Engineering <releng-2@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-2-0
Description: Originally the NetBSD 2.0 release branch and now the branch
tracking security/critical fixes for the NetBSD 2.0 series
Status: Terminated
Start Date: 28 Mar 2004 and changed for security/critical function on
23 Dec 2004
End Date:
Base Tag: netbsd-2-0-base
Maintainer: 2.0 Release Engineering <releng-2-0@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes: Branch was re-purposed to security/critical change function
once 2.0 released. See netbsd-2 for current branch to track
NetBSD 2 tree.
Commits restricted to Release Engineering.
Branch: netbsd-2-1
Description: Tracking security/critical fixes for NetBSD 2.1
Status: Terminated
Start Date: 26 Oct 2005
End Date:
Base Tag: netbsd-2-1-RELEASE
Maintainer: 2 Release Engineering <releng-2@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes: Branch contains only security/critical fixes to
NetBSD 2.1. For new features, use netbsd-2 branch.
Commits restricted to Release Engineering.
Branch: netbsd-3
Description: The NetBSD 3 release branch
Status: Terminated
Start Date: 16 Mar 2005
End Date:
Base Tag: netbsd-3-base
Maintainer: 3 Release Engineering <releng-3@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-4
Description: The NetBSD 4 release branch
Status: Terminated
Start Date: 8 Aug 2006
End Date:
Base Tag: netbsd-4-base
Maintainer: 4 Release Engineering <releng-4@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-5
Description: The NetBSD 5 release branch
Status: Terminated
Start Date: 31 Oct 2008
End Date: 9 Nov 2015
Base Tag: netbsd-5-base
Maintainer: 5.0 Release Engineering <releng-5@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-5-0
Description: Tracking security/critical fixes for NetBSD 5.0
Status: Terminated
Start Date: 29 Apr 2009
End Date:
Base Tag: netbsd-5-0-RELEASE
Maintainer: 5.0 Release Engineering <releng-5@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes: Commits restricted to Release Engineering.
Branch: netbsd-5-1
Description: Tracking security/critical fixes for NetBSD 5.1
Status: Terminated
Start Date:
End Date: 9 Nov 2015
Base Tag: netbsd-5-1-RELEASE
Maintainer: 5.1 Release Engineering <releng-5@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes: Commits restricted to Release Engineering.
Branch: netbsd-5-2
Description: Tracking security/critical fixes for NetBSD 5.2
Status: Terminated
Start Date:
End Date: 9 Nov 2015
Base Tag: netbsd-5-2-RELEASE
Maintainer: 5.2 Release Engineering <releng-5@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes: Commits restricted to Release Engineering.
Branch: netbsd-6
Description: The NetBSD 6 release branch
Status: Active
Start Date: 15 Feb 2012
End Date:
Base Tag: netbsd-6-base
Maintainer: 6.0 Release Engineering <releng-6@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-6-0
Description: Tracking security/critical fixes for NetBSD 6.0
Status: Active
Start Date: 17 Oct 2012
End Date:
Base Tag: netbsd-6-0-RELEASE
Maintainer: 6.0 Release Engineering <releng-6@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-6-1
Description: Tracking security/critical fixes for NetBSD 6.1
Status: Active
Start Date: 01 Feb 2013
End Date:
Base Tag: netbsd-6-1-RELEASE
Maintainer: 6.1 Release Engineering <releng-6@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-7
Description: The NetBSD 7 release branch
Status: Active
Start Date: 11 Aug 2014
End Date:
Base Tag: netbsd-7-base
Maintainer: 7.0 Release Engineering <releng-7@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
Branch: netbsd-7-0
Description: Tracking security/critical fixes for NetBSD 7.0
Status: Active
Start Date: 10 Oct 2015
End Date:
Base Tag: netbsd-7-0-RELEASE
Maintainer: 7.0 Release Engineering <releng-7@NetBSD.org>
Scope: Entire tree. (src + xsrc)
Notes:
Commits restricted to Release Engineering.
########################################################################
# Individual developers' branches (Active/Dormant):
########################################################################
Branch: ad-audiomp
Description: Add MP locking to the audio drivers
Status: Terminated
Start Date: 28 February 2007
End Date: 7 December 2008
Base Tag: ad-audiomp-base
Maintainer: Andrew Doran <ad@NetBSD.org>
Scope: kernel
Notes: Making the audio drivers MP safe is necessary before efforts
can be made to make the VM system MP safe. About 1/2 of the
drivers are converted, the remaining 1/2 need more changes.
As of import this is snapshot of work in progress and so
may not compile; in particular the midi changes are very
much "in progress". The audio component has been tested
and verified to work with emuxki and auvia. There may
be a locking issue in the ac97 code at boot.
The are two locks per device instance, an ISR lock and
a character device lock. The ISR lock replaces calls to
splaudio()/splx(), and will be held across calls to device
methods which were called at splaudio() before (e.g.
trigger_output). The character device lock is held across
calls to nearly all of the methods, excluding some only
used for initialization, e.g. get_locks. This needs to be
documented at merge time.
To test on a multi way x86 system, search for "mpsafe" in
x86/x86/intr.c and change IPL_SCHED to IPL_AUDIO. Run a job
that will acquire the ISR lock (depends on the hardware, but
"while true; do mixerctl -a > /dev/null; done" may suffice).
Play audio, run lockstat and verify that that there is
contention on the ISR lock.
Branch: ad-audiomp2
Description: Add MP locking to the audio drivers
Status: Terminated
Start Date: 7 December 2008
End Date: 19 November 2011
Base Tag: ad-audiomp2-base
Maintainer: Andrew Doran <ad@NetBSD.org>
Scope: kernel
Notes: Ressurect ad-audiomp, make the audio drivers MP safe.
Branch: agc-netpgp-standalone
Description: Remove dependency on openssl libraries in netpgp
Status: Active
Start Date: 5 May 2012
End Date:
Base Tag: agc-netpgp-standalone-base
Maintainer: Alistair Crooks <agc@NetBSD.org>
Scope: src/crypto/external/bsd/netpgp
Notes: This branch is used to develop the version of netpgp
which has its own version of bignum, ciphers, and signatures
libraries, so that it is able to operate without openssl
being in place.
Branch: agc-symver
Description: Add library symbol versioning information
Status: Active
Start Date: 24 March 2013
End Date:
Base Tag: agc-symver-base
Maintainer: Alistair Crooks <agc@NetBSD.org>
Scope: src
Notes: This branch is used to develop DSO symbol versioning, allowing
symbols to be added, modified and removed from shared libraries.
Branch: bjh21-hydra
Description: Simtec Hydra support and ARM SMP in general
Status: Dormant
Start Date: 18 Oct 2002
End Date:
Base Tag: bjh21-hydra-base
Maintainer: Ben Harris <bjh21@NetBSD.org>
Scope: sys/arch/arm sys/arch/acorn32
Notes: This code was on a branch because it involves changes to
cpuswitch.S which would otherwise make merging the
nathanw_sa branch difficult.
Branch: cherry-xenmp
Description: Port i386 and amd64 Xen kernels to run MP
Status: Terminated
Start Date: 1st June 2011
End Date: 13th January 2012
Base Tag: cherry-xenmp-base
Maintainer: Cherry G. Mathew <cherry@NetBSD.org>
Scope: kernel
Notes: None
Branch: chris-arm-intr-rework
Description: Rework arm interrupt handling code
Status: Dormant
Start Date: 11 Aug 2007
End Date:
Base Tag: chris-arm-intr-rework-base
Maintainer: Chris Gilbert <chris@NetBSD.org>
Scope: sys/arch/arm sys/arch/cats (other arm archs to follow)
Notes: Rework arm interrupt code to provide a shared set of interrupt
routines, and allow improvements to be shared across all arm
based hardware.
Branch: gmcgarry_ucred
Description: Integrate and encapsulate user credentials
Status: Dormant
Start Date: 18 December 2002
End Date:
Base Tag: gmcgarry_ucred_base
Maintainer: Gregory McGarry <gmcgarry@NetBSD.org>
Scope: kernel
Notes: merge pcred and ucred and poolify
Branch: hpcarm-cleanup
Description: Fix build problems for hpcarm
Status: Active
Start Date: 31 July 2007
End Date:
Base Tag: hpcarm-cleanup-base
Maintainer: Robert Swindells <rjs@NetBSD.org>
Scope: kernel
Notes: Modify SA11x0 interrupt code to match PXA2x0 equivalent.
Branch: itohy-usb1
Description: USB stack overhaul, mostly DMA related
Status: Terminated
Start Date: 22 May 2007
End Date:
Base Tag: itohy-usb1-base
Maintainer: ITOH Yasufumi <itohy@NetBSD.org>
Scope: kernel
Notes: To check out the kernel source tree,
1. check out checkout script
cvs checkout -ritohy-usb1 src/sys/dev/usb/filelist
2. update files in the branch
sh -e src/sys/dev/usb/filelist
Branch: jruoho-x86intr
Description: Cleanup and rework the x86 APIC and PIC subsystems
Status: Active
Start Date: 17 January 2011
End Date:
Base Tag: jruoho-x86intr-base
Maintainer: Jukka Ruohonen <jruoho@NetBSD.org>
Scope: kernel
Notes: This branch aims to cleanup the x86 interrupt routing code.
In particular, a new implementation is provided for all
elements of the APIC that involve ACPI. In addition, better
abstractions are provided for the whole PIC layer. The main
work areas are sys/arch/x86 and sys/dev/acpi.
Branch: jym-xensuspend
Description: Implement xm save/restore/migrate for NetBSD domU
Status: Terminated
Start Date: 2009-02-08
End Date: 2011-09-20
Base Tag: jym-xensuspend-base
Maintainer: Jean-Yves Migeon <jym@NetBSD.org>
Scope: kernel
Notes: This branch contains the code required to support the Xen
save/restore/migrate facilities. It affects domU frontend
drivers (xbd, xennet, xencons, hypervisor), autoconf(9)
machinery, as well as MD code (mostly pmap(9)).
Branch: kame
Description: KAME Project
Status: Dormant
Start Date: 28 Jun 1999
End Date:
Base Tag:
Maintainer: Jun-ichiro itojun Hagino <itojun@NetBSD.org>
Scope: kernel
Notes: http://www.kame.net
Used for "reference" purposes for early part of KAME
integration effort. The branch is not actively used, as I
(itojun) use patch(1) and diff(1) for the KAME syncs.
Branch: keiichi-mipv6
Description: Developing Mobile IPv6 function
Status: Active
Start Date: 21 Feb 2008
End Date:
Base Tag: keiichi-mipv6-base
Maintainer: Keiichi Shima <keiichi@netbsd.org>
Scope: sys, sbin, libc/net, distrib/sets, share/man/
Notes: http://www.mobileip.jp/
Work on developing Mobile IPv6/NEMO BS functions and
related MIPv6 based advanced functions on NetBSD.
Please consult keiichi for joining this activity.
Branch: kent-audio2
Description: In-kernel audio mixer
Status: Active
Start Date: Sun Jan 16 2005
End Date:
Base Tag: kent-audio2-base
Maintainer: TAMURA Kent <kent@NetBSD.org>
Scope: kernel (audio device drivers)
Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
Please consult with the maintainer before committing
to this branch.
This branch is not expected to be compilable yet.
Branch: khorben-n900
Description: Supporting the Nokia N900 smartphone
Status: Active
Start Date: 2013-05-07
Maintainer: Pierre Pronchery <khorben@netbsd.org>
Scope: kernel (OMAP3 support, device drivers)
Notes: Do not hesitate to communicate any change that would be welcome
in HEAD.
Branch: matt-timespec
Description: Convert the kernel to struct timespec as its primary time
storage mechanism.
Status: Inactive
Start Date: 2005-02-19
End Date:
Base Tag:
Maintainer: Matt Thomas <matt@NetBSD.org>
Scope: kernel
Notes:
Branch: matt-mips64
Description: Rototill the mips code to support LP64 mips and N32/N64 ABIs
Status: Mostly dead
Start Date: 2007-07-17
End Date:
Base Tag: matt-mips64-base
Maintainer: Matt Thomas <matt@NetBSD.org>
Scope: kernel & userland
Notes:
Branch: matt-nb5-mips64
Description: Rototill the mips code to support LP64 mips and N32/N64 ABIs
Status: Active
Start Date: 2009-08-01
End Date:
Base Tag: netbsd-5-1-RELEASE
Maintainer: Matt Thomas <matt@NetBSD.org>
Scope: kernel & userland
Notes:
Branch: matt-nb5-pq3
Description: Rototill the powerpc code to support mpc85xx
Status: Active
Start Date: 2010-12-20
End Date:
Base Tag: matt-nb5-pq3-base
Maintainer: Matt Thomas <matt@NetBSD.org>
Scope: kernel & userland
Notes:
Branch: mjf-devfs2
Description: device file system supporting dynamic device nodes
Status: Active
Start Date: 21 February 2008
End Date:
Base Tag: mjf-devfs2-base
Maintainer: Matt Fleming <mjf@NetBSD.org>
Scope: kernel and userland
Notes: This branch will move away from the static device nodes that
are created with MAKEDEV scripts and allow nodes to be created
and removed dynamically as devices are attached and detached
from the machine.
Branch: mjf-ufs-trans
Description: file system transactions for ufs
Status: Active
Start Date: 12 March 2007
End Date:
Base Tag: mjf-ufs-trans-base
Maintainer: Matt Fleming <mjf@NetBSD.org>
Scope: kernel
Notes:
Branch: nick-net80211-sync
Description: sync of net80211 with FreeBSD
Status: Dormant
Start Date: 21 February 2008
End Date:
Base Tag: nick-net80211-base
Maintainer: Nick Hudson <skrll@NetBSD.org>
Scope: sys/
Notes: Sync'ing net80211 with FreeBSD and drivers update. The branch is
currently only the kernel, but will likely extend to some userland
areas.
Branch: pkgviews
Description: package views, enabling multiple conflicting packages to co-exist
Status: Active
Start Date: 22 July 2002
End Date:
Base Tag: pkgviews
Maintainer: Alistair Crooks <agc@NetBSD.org>
Scope: pkgsrc, basesrc/usr.sbin/pkg_install
Notes: A more flexible infrastructure for third-party packages by
allowing multiple conflicting packages and versions to co-exist
within the same tree
Branch: rmind-smpnet
Description: MP safe network stack (milestone 1): IPv4, UDP and ICMP
Status: Active
Start Date: 17 July 2013
End Date:
Base Tag: rmind-smpnet-base
Maintainer: Mindaugas Rasiukevicius <rmind@netbsd.org>
Scope: Kernel: src/sys (src/common is tagged but not branched)
Notes: Goals:
- Improve the abstraction of PCB and other interfaces.
- Add PCB and route cache locking, adjust socket locking.
- Rework IPv4, UDP and ICMP paths to be MP safe.
- Switch UDP sockets to a separate lock, test and benchmark.
Branch: rpaulo-netinet-merge-pcb
Description: merge in6pcb with inpcb
Status: Dormant
Start Date: Wed Feb 01 2006
End Date:
Base Tag: rpaulo-netinet-merge-pcb-base
Maintainer: Rui Paulo <rpaulo@NetBSD.org>
Scope: src/sys
Notes: No longer active due to the lack of time. If you plan to
continue this branch, sys/netinet/in_pcb.h already contains
the proposed structure layout (which was roughly discussed
in the tech-net mailing list).
I also defined INP_*() macros to mimicate FreeBSD's inpcb
locking style, but currently they do nothing and are not
yet called at the correct places (needs discussion about
kernel fine-grained locking).
To continue this branch, one needs to read all the relevant
inpcb/in6pcb source files and change the function names,
structure names, structure fields according to the new
layout (in6pcb is gone).
Don't try to build a kernel from this branch because it won't
work. The missing pieces required to do a complete build
were not committed because they were incomplete and generated
panics.
You shouldn't need to worry about KAME syncs because
they did most of them by now.
After the work is done, you are required to test the branch
(before the merge to -current) with an interop IPv6 test.
More info at: http://www.tahi.org/
Branch: wrstuden-fixsa
Description: Fix a number of issues present with Scheduler Activations.
Status: Active
Start Date: 15 May 2007
End Date:
Base Tag: wrstuden-fixsa-base
Maintainer: Bill Stouder-Studenmund <wrstuden@NetBSD.org>
Scope: src, though all the interesting stuff is in the kernel
or lib/libpthread or maybe gdb.
Notes: This branch is based off of the netbsd-4 branch!
This branch is intended to stage improvements for the
Scheduler Activations system for NetBSD 4. Improvements
include not allocating memory while preparing to tsleep(),
reducing inappropriate upcall delivery (hopefully also
eliminating the need to mlock stacks), and being
able to pthread_kill() running threads. At this date,
most goals have been achieved. This branch also includes
fixes to gdb to support working with threaded apps.
Branch: wrstuden-revivesa
Description: Fix a number of issues present with Scheduler Activations.
Status: Active
Start Date: 10 May 2008
End Date:
Base Tag: wrstuden-revivesa-base
Maintainer: Bill Stouder-Studenmund <wrstuden@NetBSD.org>
Scope: src, though all the interesting stuff is in the kernel
Notes: This branch is intended to revive Scheduler Activations
in -current in the 5.0 era. This branch's main goal is
to re-add syscall compatability so that SA-based libpthread
programs can run with a -current kernel. 1:1 threading will
remain the NetBSD-default. This branch will re-add necessary
upcall support, and will also serve as a chance to clean
out cruft that had accumulated in the implementation over
time.
Branch: yamt-kmem
Description:
- separate kernel va allocation from kernel fault handling.
- make kmem_alloc interrupt-safe.
Status: Active
Start Date: Sun Dec 9 2007
End Date:
Base Tag: yamt-kmem-base3
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys (src/common is tagged but not branched)
Notes:
todo:
- investigate if PMAP_PREFER equivalent can be done
with vmem_xalloc. find a tester with hardware for it.
- g/c replaced code, including kmapent and malloc.
- consider to remove other submaps. eg. mb_map
Branch: yamt-nfs-mp
Description: make nfs client mp-safe
Status: Active
Start Date: Sun Apr 27 2008
End Date:
Base Tag: yamt-nfs-mp-base11
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys (src/common is tagged but not branched)
Notes:
Branch: yamt-pagecache
Description: page cache related changes
Status: Active
Start Date: Wed Nov 2 2011
End Date:
Base Tag: yamt-pagecache-base8
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src
Notes: - maintain object pages in radix tree rather than rb tree.
- shrink the size of vm_page.
- reduce unnecessary page scan in putpages. esp. when an
object has a ton of pages cached but only a few of them
are dirty.
- reduce the number of pmap operations by tracking page
dirtiness more precisely in uvm layer.
- fix nfs commit range tracking.
- fix nfs write clustering. XXX hack
- fix A->O loaning
- write radixtree(9) man page
TODO:
- benchmark
- test
- make the write clustering fix less kludgy
- fix or disable the ad-hoc per-cpu statistic
- disable A->O loan as its benefit is unclear at best
tested: i386, amd64, nfs, ffs
have good chances to be broken: lfs, sparc64, hp700
the following is kernel build test results.
most of NG seem unrelated to the changes in the branch.
acorn26 GENERIC OK
acorn32 GENERIC OK
algor P6032 NG
alpha GENERIC OK
alpha GENERIC.MP OK
amd64 GENERIC OK
amd64 XEN3_DOM0 OK
amd64 XEN3_DOMU OK
amiga GENERIC OK
amigappc GENERIC OK
arc GENERIC OK
atari MILAN-PCIIDE OK
bebox GENERIC OK
cats GENERIC OK
cesfic GENERIC OK
cobalt GENERIC OK
dreamcast GENERIC NG
emips GENERIC OK
evbarm NSLU2 NG
evbarm TS7200 NG
evbmips P6032 NG
evbmips MALTA NG
evbppc WALNUT NG
evbppc EXPLORA451 NG
evbppc PMPPC NG
evbsh3 COMPUTEXEVB OK
ews4800mips GENERIC OK
hp300 GENERIC OK
hp700 GENERIC OK
hpcarm JORNADA720 OK
hpcarm JORNADA728 OK
hpcmips GENERIC OK
hpcsh GENERIC OK
hpcsh HPW650PA OK
i386 MONOLITHIC OK
i386 GENERIC OK
i386 XEN3_DOM0 OK
i386 XEN3_DOMU OK
i386 ALL NG
ia64 GENERIC OK
ia64 GENERIC.SKI NG
ibmnws GENERIC OK
iyonix GENERIC NG
landisk GENERIC OK
luna68k GENERIC OK
mac68k GENERIC OK
macppc GENERIC OK
macppc GENERIC.MP OK
mipsco GENERIC OK
mmeye GENERIC OK
mvme68k GENERIC OK
mvmeppc GENERIC OK
netwinder GENERIC NG
news68k GENERIC OK
newsmips GENERIC OK
next68k GENERIC OK
ofppc GENERIC OK
ofppc GENERIC.MP NG
pmax GENERIC OK
prep GENERIC OK
rs6000 GENERIC NG
sandpoint GENERIC OK
sbmips GENERIC NG
sbmips GENERIC.MP NG
sgimips GENERIC32_IP3x OK
shark GENERIC NG
sparc GENERIC OK
sparc GENERIC.MP OK
sparc64 GENERIC OK
sun2 GENERIC OK
sun3 GENERIC OK
usermode GENERIC NG
vax GENERIC OK
vax GENERIC.MP OK
x68k GENERIC OK
zaurus GENERIC NG
Branch: reinoud-bufcleanup
Description: implement and evaluate struct buf usage cleanup strategies.
Ideas currently in mind (preference for b):
a)
1. use of bio_ops per buffer.
2. allow chaining/overloading of functions in bio_ops
and provide some private context.
3. extend the bio_ops with commonly used functionality
like pending action counting, custom context passing,
last minute processing of buffer data, buffer cache
etc.
4. investigate the use of the kcont()
continuation-passing framework for async io
completion notification for bufs
...
b)
1. all sequencing use of B_CALL replaced by
device-threads, if possible generic code around BUFQ
2. possibly use kcont() for async IO finished signaling
3. counter of pending and queued actions requestable
by IOCTL interface?
4. implement `last minute buffer fixup' calls and maybe
even finished I/O calls as vnode operations
...
Status: Active
Start Date: Thu Mar 15 2007
End Date:
Base Tag: reinoud-bufcleanup-base
Maintainer: Reinoud Zandijk <reinoud@NetBSD.org>
Scope: src/sys and src/common
Notes: Used as experiment sandbox and if successful hopefully one day
to be integrated.
Branch: bouyer-quota2
Description: modernise disk quotas
Status: Active
Start Date: Thu Jan 20 2011
End Date:
Base Tag: bouyer-quota2-base
Maintainer: Manuel Bouyer <bouyer@NetBSD.org>
Scope: src/
Notes:
Branch: pgoyette-localcount
Description: Implement localcount reference counting as proposed by
riastradh@
Status: Active
Start Date: Fri Jul 15 2016
End Date:
Base Tag: pgoyette-localcount-base
Maintainer: pgoyette
Scope: src/sys/
Notes:
########################################################################
# Individual developers' branches (Terminated):
########################################################################
Branch: bouyer-scsipi
Description: Integration of atapi support
Status: Terminated
Start Date:
End Date:
Base Tag:
Maintainer: Manuel Bouyer <bouyer@NetBSD.org>
Scope: kernel
Notes: Superseded by thorpej_scsipi
Branch: bouyer-xen2
Description: update xen port to xen 2.0, with support for domain0 operations
Status: Terminated
Start Date: Dec 13 2004
End Date: Mar 10 2005
Base Tag: netbsd-2-base
Maintainer: Manuel Bouyer <bouyer@NetBSD.org>
Scope: src/sys/arch/xen
Notes:
Branch: bouyer-xenamd64
Description: add amd64 support to Xen and rework some parts to share more code between Xen and others
Status: Terminated
Start Date: 18 Oct 2007
End Date: 22 Nov 2007
Base Tag: bouyer-xenamd64-base
Maintainer: Manuel Bouyer <bouyer@NetBSD.org>
Scope: kernel
Notes:
Branch: bouyer-xeni386
Description: switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support
Status: Terminated
Start Date: 10 Dec 2007
End Date: 23 Jan 2008
Base Tag: bouyer-xeni386-base
Maintainer: Manuel Bouyer <bouyer@NetBSD.org>
Scope: kernel
Notes:
Branch: chap-midi
Description: Renovation of MIDI support
Status: Terminated; merged to -current
Start Date: 19 May 2006
End Date: 30 Jun 2006
Base Tag: chap-midi-base
Maintainer: Chapman Flack <chap@NetBSD.org>
Scope: sys, share/man, usr.bin
Notes:
Branch: chs-ubc
Description: Unified Buffer Cache
Status: Terminated
Start Date:
End Date:
Base Tag: chs-ubc-base
Maintainer: Chuck Silvers <chs@NetBSD.org>
Scope: kernel
Notes:
Branch: chs-ubc2
Description: Unified Buffer Cache
Status: Terminated; merged to -current
Start Date:
End Date:
Base Tag: chs-ubc2-base, chs-ubc2-newbase
Maintainer: Chuck Silvers <chs@NetBSD.org>
Scope: kernel
Notes:
Branch: cjs-build-against-obj-dir
Description: ?
Status: ?
Start Date:
End Date:
Base Tag:
Maintainer: Curt Sampson <cjs@NetBSD.org>
Scope: Entire tree.
Notes:
Branch: cube-autoconf
Description: Renovate autoconf(9) API
Status: Terminated; abandoned
Start Date: 11 Dec 2007
End Date:
Base Tag: cube-autoconf-base
Maintainer: Quentin Garnier <cube@NetBSD.org>
Scope: kernel usr.bin/config (and some other userland bits)
Notes: Address a number of issues the current autoconf(9) API has.
Branch: eeh-paddr_t
Description: use separate types for virtual vs. physical addresses
Status: Terminated; merged to -current
Start Date:
End Date:
Base Tag: eeh-paddr_t-base
Maintainer: Eduardo Horvath <eeh@NetBSD.org>
Scope: kernel
Notes: This is needed to support 32-bit kernels on sparc64.
Branch: elad-kernelauth
Description: Native NetBSD implementation of Apple's kernel authorization
based on TN2127. This is a "clean-room" implementation to
avoid any licensing issues.
Status: Terminated; merged to -current
Start Date: Tue Mar 7 2006
End Date: Mon May 15 2006
Base Tag: elad-kernelauth-base
Maintainer: Elad Efrat <elad@NetBSD.org>
Scope: src/sys, src/share/man/man9/Makefile,
src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
Notes:
Branch: fvdl-softdep
Description: FFS soft dependencies
Status: Terminated; merged to -current
Start Date:
End Date:
Base Tag: fvdl-softdep-base
Maintainer: Frank van der Linden <fvdl@NetBSD.org>
Scope: kernel
Notes:
Branch: gehenna-devsw
Description: auto-generation of devsw table
Status: Terminated
Start Date: 16 May 2002
End Date: 6 Sep 2002
Base Tag: gehenna-devsw-base
Maintainer: MAEKAWA Masahide <gehenna@NetBSD.org>
Scope: syssrc
Notes: The goal is to get rid of the existing device switch tables in
port-dependent conf.c and to generate them dynamically by
config(8).
Branch: haad-dm
Description: Add support for LVM to NetBSD
Status: Terminated; merged with -current
Start Date: 7 July 2008
End Date: 19 December 2008
Base Tag: haad-dm-base
Maintainer: Adam Hamsik <haad@NetBSD.org>
Scope: kernel
Notes: LVM support is based on Linux lvm2tools,
libdevmapper library and NetBSD device-mapper
driver.
Branch: is-newarp
Description: ARP for non-Ethernet
Status: Terminated; merged before NetBSD 1.3
Start Date: 1996/10/13
End Date: 1997/03/15
Base Tag: is-newarp-base
Maintainer: Ignatios Souvatzis <is@NetBSD.org>
Scope: kernel
Notes:
Branch: jmcneill-pm
Description: Power management framework overhaul, ACPI improvements
Status: Terminated; merged before NetBSD 5.0
Start Date: 3 Aug 2007
End Date: 9 Dec 2007
Base Tag: jmcneill-pm-base
Maintainer: Jared D. McNeill <jmcneill@NetBSD.org>
Scope: kernel
Notes:
Branch: jmcneill-audiomp3
Description: Add MP locking to the audio drivers
Status: Terminated; merged before NetBSD 6.0
Start Date: 19 Nov 2011
End Date: 23 Nov 2011
Base Tag: jmcneill-audiomp3-base
Maintainer: Jared D. McNeill <jmcneill@NetBSD.org>
Scope: kernel
Notes: Resurrect ad-audiomp2, make the audio drivers MP safe.
Branch: kenh-if-detach
Description: Interface detach support.
Status: ?
Start Date:
End Date:
Base Tag: kenh-if-detach-base
Maintainer: Ken Hornstein <kenh@NetBSD.org>
Scope: kernel
Notes:
Branch: kent-audio1
Description: Audio converter pipeline
Status: Terminated; merged to -current
Start Date: Tue Dec 7 2004
End Date: Tue Jan 11 2005
Base Tag: kent-audio1-base
Maintainer: TAMURA Kent <kent@NetBSD.org>
Scope: kernel (audio device drivers)
Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
Please consult with the maintainer before committing
to this branch.
Branch: kqueue
Description: kqueue kernel event notification mechanism (from FreeBSD)
Status: Terminated; merged to -current
Start Date: Tue Jul 10 23:08:38 EST 2001
End Date: Tue Oct 24 09:14:14 GMT 2002
Base Tag: kqueue-base
Maintainer: Jaromir Dolecek <jdolecek@NetBSD.org>
Scope: kernel, libc/sys, share/man/man9, usr.bin/fstat
Notes: Integration of FreeBSD's kqueue(2) mechanism, with various
local internal changes to better suit NetBSD, and
enhancements such as looking up filters by name or
number, and dynamic registration of "user" filters.
The work is complete as is, but is awaiting more
feedback from various kernel gurus before going mainline.
Branch: ktrace-lwp
Description: ktrace support for lwp ids.
Status: Terminated; merged to -current
Start Date: Wed Jul 2 15:27:30 UTC 2003
End Date: Sun Dec 11 12:25:29 UTC 2005
Base Tag: ktrace-lwp-base
Maintainer: Darren Reed <darrenr@NetBSD.org>
Scope: sys
Notes:
Branch: marc-pcmcia
Description: PCMCIA support
Status: Terminated; merged to -current
Start Date:
End Date:
Base Tag: marc-pcmcia-base, marc-pcmcia-bp
Maintainer: Marc Horowitz <marc@NetBSD.org>
Scope: kernel
Notes:
Branch: matt-armv6
Description: Rototill the arm code to support features present in the
v6 of the ARM Architecture. Additionally, clean up things
along the way to use common practices.
Status: Terminated; merged to -current
Start Date: 2007-08-27
End Date: 2008-04-27
Base Tag: matt-armv6-base
Maintainer: Matt Thomas <matt@NetBSD.org>
Scope: kernel & userland
Notes:
Branch: minoura_x68k_bus_h
Description: bus_space(9) and bus_dma(9) implementation for x68k
Status: Terminated; merged to -current
Start Date: 23 Dec 1998
End Date: 16 Mar 1999
Base Tag: minoura_x68k_bus_h-base
Maintainer: Minoura Makoto <minoura@NetBSD.org>
Scope: sys/arch/x68k
Notes:
Branch: minoura-xpg4dl
Description: Citrus Project locale subsystem
Status: Terminated; (partly) merged to -current
Start Date: 28 March 2000
End Date:
Base Tag: minoura-xpg4dl-base
Maintainer: Minoura Makoto <minoura@NetBSD.org>
Scope: basesrc, syssrc, sharesrc
Notes: Citrus Project is developing dynamically-loadable, codeset-
independent locale subsystem. Part of the implementation
(LC_CTYPE) called XPG4DL is now integrated to -current.
Branch: mjf-devfs
Description: device file system supporting dynamic device nodes
Status: Terminated
Start Date: 12 November 2007
End Date: 21 February 2008
Base Tag: mjf-devfs-base
Maintainer: Matt Fleming <mjf@NetBSD.org>
Scope: kernel and userland
Notes: This branch will move away from the static device nodes that
are created with MAKEDEV scripts and allow nodes to be created
and removed dynamically as devices are attached and detached
from the machine.
Branch: mrg-vm-swap
Description: dynamic swap allocation, swap-to-files support
Status: Terminated; abandoned for mrg-vm-swap2
Start Date: 12 February 1997
End Date: 15 March 1997
Base Tag: [none]
Maintainer: Matthew R. Green <mrg@NetBSD.org>
Scope: kernel
Notes:
Branch: mrg-vm-swap2
Description: dynamic swap allocation, swap-to-files support
Status: Terminated; merged to -current
Start Date: 4 May 1997
End Date: 12 June 1997
Base Tag: mrg-vm-swap2-base
Maintainer: Matthew R. Green <mrg@NetBSD.org>
Scope: kernel
Notes:
Branch: nathanw_sa
Description: Scheduler activations
Status: Terminated; merged to -current
Start Date: 5 March 2001
End Date: 18 January 2003
Base Tag: nathanw_sa_base
Maintainer: Nathan Williams <nathanw@NetBSD.org>
Scope: kernel, libc, libkvm, libpthread, libpthread_dbg, include,
bin/ps usr.bin/systat usr.bin/top usr.bin/w
gnu/dist/toolchain/gdb gnu/usr.bin/gdb
Notes: The idea of scheduler activations is described in the
classic paper by Anderson et al., in ACM Transactions
a on Computer Systems volume 10 issue 1 (1992),which
can be found at
http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
Many ideas in the implementation are based on the
implementation of scheduler activations added to Mach
3.0 and described by Davis et al. in the University of
Washington CS tech report 92-08-93, which can be found
at
ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
My USENIX paper on the subject can be found at
http://web.mit.edu/nathanw/www/usenix/
Please consult with the maintainer before committing
to this branch.
Other tags starting with nathanw_sa reserved for
branch management and are not guaranteed to be stable.
Trunk tagged with "nathanw_sa_before_merge" prior to
merging branch down to trunk. Branch tagged with
"nathanw_sa_end" to indicate the ending revision of
the branch.
Branch: newlock
Description: New locking primitives, based on Solaris's
Status: Terminated
Start Date: March 9, 2002
End Date: February 12, 2007
Base Tag: newlock-base
Maintainer: Jason R. Thorpe <thorpej@NetBSD.org>
Scope: Kernel
Notes: The goal is to replace the existing lockmgr() and
simple_lock() based locking mechanisms with the
primitives found in Solaris: mutexes and rwlocks.
Superseded by the newlock2 branch.
Branch: newlock2
Description: New locking primitives, based on Solaris's
Status: Terminated
Start Date: September 9, 2006
End Date: February 12, 2007
Base Tag: newlock2-base
Maintainer: Andrew Doran <ad@NetBSD.org>
Scope: Kernel
Notes: As per the newlock branch, however given the amount of time
the original branch has lain dormant, a new one has been
created. Goals:
- Implement new locking primitives on most-used ports.
- Minor locking improvements.
- Remove spinlockmgr().
Branch: nick-csl-alignment
Description: Provide correctly aligned __cpu_simple_lock_t for hppa
Status: Terminated; merged to -current
Start Date: 2007-07-18
End Date:
Base Tag: nick-csl-alignment-base5
Maintainer: Nick Hudson <skrll@NetBSD.org>
Scope: sys, lib/libpthread, lib/libpthread_dbg
Notes:
Branch: perseant-lfsv2
Description: LFS incompatible on-disk data structure changes
Status: Terminated
Start Date: 27 June 2001
End Date: 16 July 2001
Base Tag: perseant-lfsv2-base
Maintainer: Konrad Schroder <perseant@NetBSD.org>
Scope: basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
Notes: This branch should be short-lived, I expect to merge as soon
as the data structures required for unremove are in and tested.
Branch: ppcoea-renovation
Description: General renovation and cleanup of all OEA PowerPC ports.
Status: Terminated; merged to -current
Start Date: 30 April 2007
End Date: 15 October 2007
Base Tag: ppcoea-renovation-base
Maintainer: Tim Rightnour <garbled@netbsd.org>
Scope: src/sys/arch
Notes: This branch is for a general cleanup of all OEA-based PowerPC
ports. OEA (Operating Environment Architecture) PowerPC refers
to the 601, 603, 604, and similar chips. Specifically, not the
403/401 and other embedded chips. The general concept is to get
them all compiling, and sharing as much code as possible. All
developers are welcome to commit to this branch.
Branch: thorpej-devvp
Description: replace dev_t with struct vnode * in devsw entry points
Status: Terminated
Start Date: Sep 6 2001
End Date: ???
Base Tag: thorpej-devvp-base
Maintainer: Jason Thorpe <thorpej@NetBSD.org>
Scope: syssrc
Notes: Kernels built from this branch are not expected
to function correctly at this time.
Ports known to compile on this branch:
alpha
i386
Branch: peter-altq
Description: New ALTQ framework:
- sync with KAME sources
- share mtag/name mapping functions
- separate altq + pf attachment
Status: Terminated; merged to -current
Start Date: March 16, 2006
End Date: October 12, 2006
Base Tag: peter-altq-base
Maintainer: Peter Postma <peter@NetBSD.org>,
Martin Husemann <martin@NetBSD.org>,
Matthias Scheler <tron@NetBSD.org>
Scope: dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
Notes: Only the first item in the description was finished
in this branch.
Branch: rmind-uvmplock
Description: Reorganize locking in UVM and improve x86 pmap(9)
Status: Terminated; merged to -current
Start Date: 15 March 2010
End Date: 12 June 2011
Base Tag: rmind-uvmplock-base
Maintainer: Mindaugas Rasiukevicius <rmind@netbsd.org>
Scope: Kernel
Notes: Goals:
- Reorganize locking in UVM and serialize pmap(9) operations
on same page(s). New lock order: [vmpage-lock] -> pmap-lock.
Based on the patch from ad@.
- Simplify locking in pmap(9) modules by removing P->V locking.
- Use mutex_obj(9) on vmobjlock (and thus vnode_t::v_interlock)
to share locks among UVM objects where necessary.
- Rewrite and optimize x86 TLB shootdown code.
- Unify /dev/mem et al in MI code and provide required locking.
Future work:
- Optimize pmap_remove() with tracking in struct vm_map_entry.
Branch: sommerfeld_i386mp_1
Description: Multiprocessor support for i386 using Intel MP BIOS.
Status: Terminated; merged to -current
Start Date: 21 Feb 2000
End Date: 01 Oct 2002
Base Tag: sommerfeld_i386mpbase_1
Maintainer: Bill Sommerfeld <sommerfeld@NetBSD.org>
Scope: sys/arch/i386
Notes:
Code committed to the branch has booted to multiuser
on at least one system.
Not guaranteed to compile against mainline since -current
may have changed incompatibly with the last branch update;
use "cvs update -D" to roll-back the rest of the tree to match.
Please get explicit permission from the maintainer
before each commit, or your changes will be backed out.
Other tags starting with sommerfeld_ are private to
the developer and are guaranteed to be unstable.
Only the maintainer should move tags.
Note that this branch uses a DIFFERENT scheme for
syncing with the mainline. the maintainer uses some private
scripts for keeping them in sync; if you make commits
to the branch to "resynchronize" things, you'll
probably do it wrong; instead, ask the maintainer to
resynchronize things.
See sys/arch/i386/TODO on the branch for a list of known
issues with the branch.
Branch: thorpej-mips-cache
Description: overhaul MIPS cache support code
Status: Terminated; merged to -current
Start Date: Oct 23 2001
End Date: Nov 14 2001
Base Tag: thorpej-mips-cache-base
Scope: syssrc
Notes: This branch needs more debugging, testing, and more
ports need to be converted to the new world order.
The following processors have had cache ops
written:
* R2000/R3000 (cache_r3k) -- light testing,
needs to be beat on a lot more to make
sure it's working.
* R4000/R4400 (cache_r4k) -- mhitch@NetBSD.org
tracked down a bug, which has been fixed.
Confirmed working on R4000-with-L2.
Confirmed working on R4400-no-L2 and
R4400-with-L2.
* R4600/R5000 (cache_r5k) -- shin@NetBSD.org
has committed fixes to this code.
Confirmed working on R4600 v2 (SGI IP-22 with
no SysAD L2 cache).
Confirmed working on RM5260 (Algorithmics P-5064).
* TX39 (cache_tx39) -- uch@NetBSD.org has
committed fixes to this code. Awaiting
confirmation that it is working properly.
* R5900 (cache_r5900) -- uch@NetBSD.org has
written this code and tested it on a
PlayStation 2.
The following ports have been updated to compile (and
use optimized-for-processor bus_dma routines). Those
that have been tested and work are marked with [WORKING].
* algor [WORKING]
* arc [WORKING]
* pmax [WORKING]
* playstation2 [WORKING]
Needs optimized bus_dmamap_sync().
* hpcmips [need verification that this is working]
Needs optimized bus_dmamap_sync().
* sgimips [WORKING]
Needs optimized bus_dmamap_sync().
* cobalt [need testing]
* mipsco [need testing]
* newsmips [need testing]
Branch: thorpej_scsipi
Description: SCSI/ATAPI midlayer rewrite.
Status: Terminated; merged to -current
Start Date:
End Date: Apr 25 2001
Base Tag: thorpej_scsipi_base, thorpej_scsipi_nbase
Maintainer: Manuel Bouyer <bouyer@NetBSD.org>,
Jason Thorpe <thorpej@NetBSD.org>
Scope: syssrc
Notes: When a change from -current is pulled up please move the
thorpej_scsipi_base tag to the revision you're syncing with.
thorpej_scsipi_nbase is private to maintainer (only
used when syncing the whole branch with HEAD).
Just before the merge, syssrc has been tagged with
thorpej_scsipi_beforemerge
Branch: thorpej-signal
Description: ?
Status: ?
Start Date:
End Date:
Base Tag: thorpej-signal-base
Maintainer: Jason Thorpe <thorpej@NetBSD.org>
Scope: kernel
Notes:
Branch: thorpej-setroot
Description: ?
Status: Terminated; merged to -current
Start Date:
End Date:
Base Tag:
Maintainer: Jason Thorpe <thorpej@NetBSD.org>
Scope: kernel
Notes:
Branch: simonb-timecounters
Description: Port FreeBSD timecounters to NetBSD
Status: Terminated
Start Date: Sat Feb 04 2006
End Date: Wed Jun 07 2006
Base Tag: simonb-timecounters-base
Maintainer: Simon Burge <simonb@NetBSD.org>,
Frank Kardel <kardel@NetBSD.org>
Scope: sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
Notes: early (partial conversion) commit to -current
ok'ed by core@ on 20060605 for testing and further
simplified conversion
Branch: simonb-wapbl
Description: Wasabi's journaling filesystem support
Status: Terminated; merged to -current
Start Date: Tue Jun 10 2008
End Date: Thu Jul 31 2008
Base Tag: simonb-wapbl-base
Maintainer: Simon Burge <simonb@NetBSD.org>
Scope: src/distrib/sets/lists/comp src/distrib/utils/sysinst
src/include
src/sbin/fsck_ffs src/sbin/fsdb src/sbin/mount_ffs
src/sbin/tunefs src/usr.sbin/dumpfs src/sys
Notes: Still has a number of issues:
- Some heavy workload performance issues on SMP machines.
Work around this issue by turning on WAPBL_DEBUG_SERIALIZE
in rev 1.1.2.11 of vfs_wapbl.c.
- Removing large files (sparse only?) takes a long time.
Eg, a file created with
dd if=/dev/zero of=foox bs=1 count=1 seek=11261748520550
takes 0:00.00 to remove on my test box without logging and
0:22.25 to remove with logging. No disk IO during this...
- sysinst should use in-fs logs now, not end-of-partition logs.
Branch: uebayasi-xip
Description: Support eXecute-In-Place (XIP)
Status: Active
Start Date: 8 February 2010
End Date:
Base Tag: uebayasi-xip-base6 (2010-11-15 UTC)
Maintainer: Masao Uebayashi <uebayasi@NetBSD.org>
Scope: src/external/gpl3/binutils/usr.sbin/mdsetimage/mdsetimage.8
src/include
src/sbin/mount
src/sbin/mount_ffs
src/share/man/man4
src/share/man/man5/statvfs.5
src/share/man/man9
src/sys/arch
src/sys/common/pmap
src/sys/conf
src/sys/dev/flash.c
src/sys/dev/flashvar.h
src/sys/dev/md.c
src/sys/dev/md.h
src/sys/dev/md_root.c
src/sys/dev/xmd.c
src/sys/kern/vfs_syscalls.c
src/sys/miscfs/genfs/genfs_io.c
src/sys/miscfs/specfs/specdev.h
src/sys/sys
src/sys/ufs/ffs/ffs_vfsops.c
src/sys/uvm
src/usr.sbin/mdsetimage/mdsetimage.8
Notes: Goals:
- Clean up oddities in fault handler
- Add a notion of device page
- Teach XIP vnode VOP_GETPAGES
- Hook XIP mount option
- Teach some pmaps to handle device page
Branch: vmlocking
Description: Make VM and file system framework MP safe
Status: Terminated
Start Date: 13 March 2007
End Date: 4 December 2007
Base Tag: vmlocking-base
Maintainer: Andrew Doran <ad@NetBSD.org>
Scope: kernel
Notes: Superseded by vmlocking2 branch.
Branch: vmlocking2
Description: Make VM and file system framework MP safe
Status: Terminated
Start Date: 4 December 2007
End Date: 2 January 2008
Base Tag: vmlocking2-base3
Maintainer: Andrew Doran <ad@NetBSD.org>
Scope: kernel
Notes: Goals:
- Make VM system / trap handling MP safe.
- Replace simplelocks with mutexes.
- Make file system framework MP safe.
Status by architecture:
alpha done
i386 done
amd64 done
mips done
sparc need pmap/trap locking changes
sparc64 done
arm done
powerpc done
hppa done
sh3 done
m68k done
xen need pmap/trap locking changes
Remaining MI work to do:
- Check aliased vnode handling. There may be problems.
Remaining problems:
- LFS stalls due to v_numoutput leak.
Branch: wrstuden-devbsize
Description: Modify buffer cache to deal with different devices having
different block sizes. Also DEV_BSIZE would go away.
Status: Terminated
Start Date: Aug or Sept 1999
End Date: 1 Apr 2000
Base tag: wrstuden-devbsize-base
Maintainer: Bill Studenmund <wrstuden@NetBSD.org>
Scope: kernel
Notes: No longer active due to lack of time, and introduction
of UBC. In terms of UBC, the primary cache for
file data is the VM cache, which needs to operate
in terms of VM pages. As no existing device has native
pages the same size as our VM pages, there already is
a mapping going on between the VM system and the
underlying blocks. So it would be easier and cleaner
to adjust that to deal w/ different block sizes.
Also with UBC, all i/o is in terms of bytes at an offset
with a certain length, so the exact block size isn't a big
deal.
Any other wrstuden-devbsize tag may (and should) go away.
Branch: yamt-idlelwp
Description: idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
Status: Terminated; merged to -current
Start Date: Fri Feb 17 2007
End Date: Thu May 17 2007
Base Tag: yamt-idlelwp-base8
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys (src/common is tagged but not branched)
Notes:
Status of ports:
alpha [ Done, UP tested, MP not tested ]
i386 [ Done, tested ]
amd64 [ Done, tested ]
mips [ Done, both MIPS1 and MIPS3 tested]
sparc [ Done, UP tested, MP might have
some problem after newlock2 merge ]
sparc64 [ Done, tested ]
arm [ Done, SA1 tested. See PR 36548 ]
macppc/powerpc [ Done, OEA tested ]
hppa [ Done, tested ]
sh3 [ Done, tested ]
vax [ Done, UP tested, MP untested ]
m68k [ Done, tested on several ports ]
ns32k [ broken ]
ia64 [ broken ]
pdp10 [ broken ]
How to adapt a port?
- unify cpu_switch, cpu_exit, cpu_switchto into
a single cpu_switchto. see cpu_switchto.9.
- implement cpu_idle. see cpu_idle.9.
- add a flag argument to cpu_need_resched.
handle RESCHED_IMMED flag, which means "cause a preemption
as soon as possible." eg. in the case of MULTIPROCESSOR,
send an IPI to the target cpu.
- "curlwp == NULL" is not a valid check for idle state anymore.
use "(curlwp->l_flag & LW_IDLE) != 0" instead. curlwp is
almost always non-NULL, with exceptions like early on boot.
- remove idle pcbs.
- (if MULTIPROCESSOR) tweak processor trampoline code.
- (if MULTIPROCESSOR) call mi_cpu_attach when attaching
secondary processors.
- (if schedhz!=0) call schedclock regardless of the value of
curlwp.
- of course, update MD users of scheduler/switching API.
Branch: yamt-lazymbuf
Description: change the way to share mbuf external storage so that
it can work without kernel_lock.
Status: Terminated; merged to -current
Start Date: Wed Jul 6 2005
End Date: Mon Mar 24 2008
Base Tag: yamt-lazymbuf-base14
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys (src/common is tagged but not branched)
Notes:
Branch: yamt-km, yamt-km-doc
Description: simplify/improve kernel memory management and bootstrap
Status: Terminated; merged to -current
Start Date: Tue Jan 25 2005
End Date: Fri Apr 1 2005
Base Tag: yamt-km-base{,2,3,4}, yamt-km-doc-base
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: yamt-km: src/sys
yamt-km-doc: src/share/man/man9/uvm.9
Notes: http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
the followings are per-port status.
(account names mean "tested by".)
works enough to go to multiuser:
alpha, i386, xen (yamt@)
pc532 (simonb@)
alpha, i386, mac68k, macppc, pmax, shark,
sparc, sparc64, sun3, x68k (chs@)
cobalt, dreamcast, hp300, news68k, newsmips,
sun3x (tsutsui@)
amiga (mhitch@)
cats, hp700 (skrll@)
xen (bouyer@)
known to have the same problem as trunk:
vax (chs@, stuck while running kvm_mkdb)
known to have a problem:
luna68k (and, if any, other m68k ports which use TTR)
needs to be revisited.
-> for luna68k, although not tested,
Sysmap has been moved to avoid kva conflict with
I/O ranges.
buildable:
src/sys/arch/acorn26/conf/GENERIC
src/sys/arch/acorn32/conf/GENERIC
src/sys/arch/algor/conf/P6032
src/sys/arch/alpha/conf/GENERIC
src/sys/arch/alpha/conf/GENERIC.MP
src/sys/arch/amd64/conf/GENERIC
src/sys/arch/amd64/conf/GENERIC.MP
src/sys/arch/amiga/conf/GENERIC
src/sys/arch/arc/conf/GENERIC
src/sys/arch/atari/conf/MILAN-PCIIDE
src/sys/arch/bebox/conf/GENERIC
src/sys/arch/cats/conf/GENERIC
src/sys/arch/cesfic/conf/GENERIC
src/sys/arch/cobalt/conf/GENERIC
src/sys/arch/dreamcast/conf/GENERIC
src/sys/arch/evbarm/conf/TS7200
src/sys/arch/evbppc/conf/WALNUT
src/sys/arch/evbsh3/conf/COMPUTEXEVB
src/sys/arch/evbsh5/conf/CAYMAN64
src/sys/arch/hp300/conf/GENERIC
src/sys/arch/hp700/conf/GENERIC
src/sys/arch/hpcarm/conf/JORNADA728
src/sys/arch/hpcmips/conf/GENERIC
src/sys/arch/hpcsh/conf/GENERIC
src/sys/arch/hpcsh/conf/HPW650PA
src/sys/arch/i386/conf/GENERIC
src/sys/arch/i386/conf/GENERIC.MP
src/sys/arch/i386/conf/XEN0
src/sys/arch/i386/conf/XENU
src/sys/arch/ibmnws/conf/GENERIC
src/sys/arch/iyonix/conf/GENERIC
src/sys/arch/luna68k/conf/GENERIC
src/sys/arch/mac68k/conf/GENERIC
src/sys/arch/macppc/conf/GENERIC
src/sys/arch/macppc/conf/GENERIC.MP
src/sys/arch/mipsco/conf/GENERIC
src/sys/arch/mmeye/conf/GENERIC
src/sys/arch/mvme68k/conf/GENERIC
src/sys/arch/netwinder/conf/GENERIC
src/sys/arch/news68k/conf/GENERIC
src/sys/arch/newsmips/conf/GENERIC
src/sys/arch/next68k/conf/GENERIC
src/sys/arch/ofppc/conf/GENERIC
src/sys/arch/pc532/conf/GENERIC
src/sys/arch/pmax/conf/GENERIC
src/sys/arch/prep/conf/GENERIC
src/sys/arch/sandpoint/conf/GENERIC
src/sys/arch/sbmips/conf/GENERIC
src/sys/arch/sgimips/conf/GENERIC32_IP3x
src/sys/arch/shark/conf/GENERIC
src/sys/arch/sparc/conf/GENERIC
src/sys/arch/sparc/conf/GENERIC.MP
src/sys/arch/sparc64/conf/GENERIC
src/sys/arch/sparc64/conf/GENERIC.MP
src/sys/arch/sun2/conf/GENERIC
src/sys/arch/sun3/conf/GENERIC
src/sys/arch/vax/conf/GENERIC
src/sys/arch/vax/conf/GENERIC.MP
src/sys/arch/x68k/conf/GENERIC
src/sys/arch/playstation2/conf/GENERIC
Branch: yamt-pdpolicy
Description: play with page replacement policy
- separate page replacement policy from the rest of kernel
- implement alternative replacement policy
- related read-ahead adjustment?
Status: Terminated; merged to -current
Start Date: Sun Mar 5 2006
End Date: Sat Sep 16 2006
Base Tag: yamt-pdpolicy-base9
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys (src/common is tagged but not branched)
Notes:
Branch: yamt-pf42
Description: import newer pf from OpenBSD 4.2
Status: Terminated; merged to -current
Start Date: Sat Apr 19 2008
End Date: Wed Jun 18 2008
Base Tag: yamt-pf42-base4
Maintainer: Peter Postma <peter@NetBSD.org>,
YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src
Notes: see sys/dist/pf/net/TODO
Branch: yamt-readahead
Description: play with file readahead
Status: Terminated; merged to -current
Start Date: Mon Nov 14 2005
End Date: Wed Nov 30 2005
Base Tag: yamt-readahead-base3
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys
Notes:
Branch: yamt-uio_vmspace
Description: uio_lwp/uio_segflg -> uio_vmspace
Status: Terminated; merged to -current
Start Date: Mon Dec 31 2005
End Date: Wed Mar 1 2006
Base Tag: yamt-uio_vmspace-base5
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys
Notes:
Branch: yamt-splraiseipl
Description: finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- completes workqueue(9) and netbt.
- fix PR/33218.
Status: Terminated; merged to -current
Start Date: Mon Sep 18 2006
End Date: Fri Dec 22 2006
Base Tag: yamt-splraiseipl-base5
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys (src/common is tagged but not branched)
Notes:
tested (by who):
alpha (yamt)
alpha (pavel)
amd64 (reported privately)
cobalt (tsutsui)
ews4800mips (tsutsui)
hp300 (tsutsui)
hpcarm (reported privately)
i386 (yamt)
macppc (tsutsui)
news68k (tsutsui)
sgimips(IP32) (tsutsui)
sparc(sun4c) (tsutsui)
sun2 (tsutsui)
sun3 (tsutsui)
sun3x (tsutsui)
xen (yamt)
compile-tested:
acorn26
acorn32
algor
amiga
arc
atari
bebox
cats
cesfic
dreamcast
evbarm
evbmips
evbppc(marvell)
evbppc(ibm4xx)
evbsh3
hp700
hpcmips
hpcsh
ia64
ibmnws
iyonix
landisk
luna68k
mac68k
mmeye
mvme68k
mvmeppc
mipsco
netwinder
newsmips
next68k
ofppc
pc532
pmax
pmppc
prep
sandpoint
sbmips
shark
sparc
sparc64
vax
x68k
zaurus
not tested:
pdp10 (i don't know how to build)
sh5 (not buildable with an unrelated problem.)
compile CAYMAN64/netbsd32_sa.o
cc1: warnings being treated as errors
/exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
/exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
--- netbsd32_sa.o ---
*** [netbsd32_sa.o] Error code 1
1 error
notyet:
amigappc
playstation2
Branch: yamt-vop
Description: remove several VOPs
Status: Terminated; merged to -current
Start Date: Wed Oct 19 2005
End Date: Wed Nov 2 2005
Base Tag: yamt-vop-base3
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys
Notes: http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
Branch: yamt-x86pmap
Description: merge i386 and amd64 pmap
Status: Terminated; merged to -current
Start Date: Mon Sep 24 2007
End Date: Fri Oct 19 2007
Base Tag: yamt-x86pmap-base4
Maintainer: YAMAMOTO Takashi <yamt@NetBSD.org>
Scope: src/sys (src/common is tagged but not branched)
Notes:
Branch: gdamore-uart
Description: Add register table support to com driver.
Status: Active
Start Date: 14 June 2006
End Date: 13 July 2006
Base Tag: gdamore-uart-base
Maintainer: Garrett D'Amore <gdamore@NetBSD.org>
Scope: kernel
Notes: Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
com support, and also removes a nasty hack from Atheros com.
Branch: christos-time_t
Description: Change time_t and dev_t to 64 bit quantities; fix timeval
and timespec.
Status: merged
Start Date: 29 March 2008
End Date: 10 January 2009
Base Tag: christos-time_t-base
Maintainer: Christos Zoulas <christos@NetBSD.org>
Scope: kernel, libc, libutil, userland
Notes: Requires a major bump of all libraries except libc, libutil.
Branch: rtr-xorg-branch
Description: xorg & static build alterations to src/x11
Status: Dead; replaced by src/external/mit/xorg
Start Date: Nov 15 2004
End Date: ?
Base tag: rtr-xorg-branch-base
Maintainer: Tyler R. Retzlaff <rtr@NetBSD.org>
Scope: x11
distrib/sets/lists
share/mk/bsd.x11.mk
share/mk/bsd.own.mk
etc/mtree/NetBSD.dist
Notes: Requires parts of xsrc/xfree (HEAD)
xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd
Requires xorg (XORG-6_8_1)
Branch: gmcgarry_ctxsw
Description: Separate scheduler from context-switch code
Status: Dead; replaced by cpu_switchto / yamt-idlelwp branch
Start Date: 18 December 2002
End Date:
Base Tag: gmcgarry_ctxsw_base
Maintainer: Gregory McGarry <gmcgarry@NetBSD.org>
Scope: kernel
Notes: Removing knowledge of the scheduler and its run queues
from the machine-dependent context switch code is the
first step in cleaning up the scheduler. It is necessary
for the newlock branch, making the scheduler SMP friendly,
adding real-time scheduler extensions, and reducing the
number of code paths for LWP and proc switching.
Branch: nick-hppapmap
Description: Update of hppa pmap with OpenBSD code.
Status: Terminated; merged to -current
Start Date: 27 October 2008
End Date: 30 April 2009
Base Tag: nick-hppapmap-base3
Maintainer: Nick Hudson <skrll@NetBSD.org>
Scope: sys/
Notes: Port of the OpenBSD pmap including support for PA2.0 CPUs in
32-bit mode.
Branch: thorpej-atomic
Description: Implementation of an atomic memory operations API modeled
after the one in Solaris 10.
Status: Terminated; merged to -current
Start Date: Apr 11 2007
End Date: Nov 18 2007
Base tag: thorpej-atomic-base
Maintainer: Jason Thorpe <thorpej@netbsd.org>
Scope: src/common
src/sys
Notes: Base atomic primitives need to be implemented for
all of the supported architectures:
alpha DONE
arm DONE
hppa
i386 DONE
ia64
m68k DONE (except for 68010)
mips
ns32k
powerpc DONE except for membar_*()
powerpc64 DONE except for membar_*()
sh3
sparc DONE except for membar_*()
sparc64 DONE except for membar_*()
vax
x86_64 DONE
Tested:
alpha NO
arm NO
hppa NO
i386 NO
ia64 NO
m68k NO
mips NO
ns32k NO
powerpc NO
powerpc64 NO
sh3 NO
sparc NO
sparc64 NO
vax NO
x86_64 NO
TODO:
all - Need to replace mb_*() with membar_*().
- Audit MUTEX_CAS() and RWLOCK_CAS() uses
to see of membar_enter() is required here.
- Talk to ad@ -- figure out of non-atomic
mutex / rwlock release is actually safe.
arm - Consider using a RAS technique like
MIPS uses for _lock_cas() and the mutex
stubs. Possibly do more than one atomic
op as a RAS. Possibly implement mutex
stubs using the technique.
m68k - Need to do 68010 support.
i386 - Need to change when x86_patch() is called
so we can test ncpus.
powerpc - Figure out if we need barriers in the
atomic ops themselves (hopefully not!)
x86_64 - Need to change when x86_patch() is called
so we can test ncpus.
########################################################################
# Other:
########################################################################
Branch: magnum
Description: ?
Status: ?
Start Date:
End Date:
Base Tag: magnum-base
Maintainer: ?
Scope: kernel
Notes: