BRANCHES revision 1.271 1 # $NetBSD: BRANCHES,v 1.271 2008/12/11 02:25:26 snj Exp $
2 #
3 # This file contains a list of branches that exist in the NetBSD CVS
4 # tree and their current state.
5 #
6 # This list is necessarily incomplete.
7 #
8 # Within reason, developers may create branch and version tags at any
9 # time for any purpose. To avoid name collisions, private tags should
10 # have names which begin with the developer's NetBSD login name
11 # followed by a - or _ character (e.g., thorpej_scsipi,
12 # thorpej-signal)
13 #
14 # Any branch or version tag not listed here should be assumed to be
15 # private to the developer who created it. It is inappropriate for
16 # anyone other than that developer to commit, move tags, or otherwise
17 # modify the contents of the branch.
18 #
19 # Please update this file when a new branch is ready for consumption
20 # by folks other than the maintainer, or when the use or status of an
21 # existing branch changes significantly.
22 #
23 # Format:
24 # Branch: name of branch
25 # Description: Purpose and intention of the branch
26 # Status: Active/Terminated/Dormant
27 # Start Date: date first instantiated
28 # End Date: date it was Terminated/made_Dormant, if any
29 # Base Tag: netbsd-1-5-base, etc.
30 # Maintainer: Somebody to blame.
31 # Scope: Portion of the tree covered.
32 # Notes: Various other info, perhaps explanation of special tags,
33 # who-may-commit policies, etc.
34 #
35 # There are four sections to this file:
36 # Release branches
37 # Individual developers' branches (Active/Dormant)
38 # Individual developers' branches (Terminated), and
39 # other
40 #
41 # Entries within each section should be alphabetized.
42 #
43
44
45 # Release branches:
46
47 Branch: comdex-fall-1999
48 Description: Special release branch for pre-1.5 release at
49 Fall 1999 COMDEX.
50 Status: Terminated
51 Start Date:
52 End Date:
53 Base Tag: comdex-fall-1999-base
54 Maintainer: ?
55 Scope: Entire tree.
56 Notes:
57
58 Branch: netbsd-0-9
59 Description: The NetBSD 0.9 release branch
60 Status: Terminated
61 Start Date:
62 End Date:
63 Base Tag: netbsd-0-9-base
64 Maintainer: Release Engineering <releng (a] NetBSD.org>
65 Scope: Entire tree.
66 Notes: Subsidiary tags of: netbsd-0-9-ALPHA, netbsd-0-9-ALPHA2,
67 netbsd-0-9-BETA, netbsd-0-9-RELEASE.
68 Commits restricted to release engineering.
69
70 Branch: netbsd-1-0
71 Description: The NetBSD 1.0 release branch
72 Status: Terminated
73 Start Date:
74 End Date:
75 Base Tag: netbsd-1-0-base
76 Maintainer: Release Engineering <releng (a] NetBSD.org>
77 Scope: Entire tree.
78 Notes:
79 Commits restricted to release engineering.
80
81 Branch: netbsd-1-1
82 Description: The NetBSD 1.1 release branch
83 Status: Terminated
84 Start Date:
85 End Date:
86 Base Tag: netbsd-1-1-base
87 Maintainer: Release Engineering <releng (a] NetBSD.org>
88 Scope: Entire tree.
89 Notes:
90 Commits restricted to release engineering.
91
92 Branch: netbsd-1-2
93 Description: The NetBSD 1.2 release branch
94 Status: Terminated
95 Start Date:
96 End Date:
97 Base Tag: netbsd-1-2-base
98 Maintainer: Release Engineering <releng (a] NetBSD.org>
99 Scope: Entire tree.
100 Notes:
101 Commits restricted to release engineering.
102
103 Branch: netbsd-1-3
104 Description: The NetBSD 1.3 release branch
105 Status: Terminated
106 Start Date:
107 End Date:
108 Base Tag: netbsd-1-3-base
109 Maintainer: Release Engineering <releng (a] NetBSD.org>
110 Scope: Entire tree.
111 Notes:
112 Commits restricted to release engineering.
113
114 Branch: netbsd-1-4
115 Description: The NetBSD 1.4 release branch
116 Status: Terminated
117 Start Date: 1 Apr 2000
118 End Date:
119 Base Tag: netbsd-1-4-base
120 Maintainer: 1.4 Release Engineering <releng-1-4 (a] NetBSD.org>
121 Scope: Entire tree.
122 Notes:
123 Commits restricted to release engineering.
124
125 Branch: netbsd-1-5
126 Description: The NetBSD 1.5 release branch
127 Status: Terminated
128 Start Date: 20 Jun 2000
129 End Date: 26 Jan 2005
130 Base Tag: netbsd-1-5-base
131 Maintainer: 1.5 Release Engineering <releng-1-5 (a] NetBSD.org>
132 Scope: Entire tree.
133 Notes:
134 Commits restricted to release engineering.
135
136 Branch: netbsd-1-6
137 Description: The NetBSD 1.6 release branch
138 Status: Terminated
139 Start Date: 22 May 2002
140 End Date:
141 Base Tag: netbsd-1-6-base
142 Maintainer: 1.6 Release Engineering <releng-1-6 (a] NetBSD.org>
143 Scope: Entire tree.
144 Notes:
145 Commits restricted to Release Engineering.
146
147 Branch: netbsd-2
148 Description: The NetBSD 2 release branch
149 Status: Terminated
150 Start Date: 23 Dec 2004
151 End Date:
152 Base Tag: netbsd-2-base
153 Maintainer: 2 Release Engineering <releng-2 (a] NetBSD.org>
154 Scope: Entire tree. (src + xsrc)
155 Notes:
156 Commits restricted to Release Engineering.
157
158 Branch: netbsd-2-0
159 Description: Originally the NetBSD 2.0 release branch and now the branch
160 tracking security/critical fixes for the NetBSD 2.0 series
161 Status: Terminated
162 Start Date: 28 Mar 2004 and changed for security/critical function on
163 23 Dec 2004
164 End Date:
165 Base Tag: netbsd-2-0-base
166 Maintainer: 2.0 Release Engineering <releng-2-0 (a] NetBSD.org>
167 Scope: Entire tree. (src + xsrc)
168 Notes: Branch was re-purposed to security/critical change function
169 once 2.0 released. See netbsd-2 for current branch to track
170 NetBSD 2 tree.
171 Commits restricted to Release Engineering.
172
173 Branch: netbsd-2-1
174 Description: Tracking security/critical fixes for NetBSD 2.1
175 Status: Terminated
176 Start Date: 26 Oct 2005
177 End Date:
178 Base Tag: netbsd-2-1-RELEASE
179 Maintainer: 2 Release Engineering <releng-2 (a] NetBSD.org>
180 Scope: Entire tree. (src + xsrc)
181 Notes: Branch contains only security/critical fixes to
182 NetBSD 2.1. For new features, use netbsd-2 branch.
183 Commits restricted to Release Engineering.
184
185 Branch: netbsd-3
186 Description: The NetBSD 3 release branch
187 Status: Active
188 Start Date: 16 Mar 2005
189 End Date:
190 Base Tag: netbsd-3-base
191 Maintainer: 3 Release Engineering <releng-3 (a] NetBSD.org>
192 Scope: Entire tree. (src + xsrc)
193 Notes:
194 Commits restricted to Release Engineering.
195
196 Branch: netbsd-4
197 Description: The NetBSD 4 release branch
198 Status: Active
199 Start Date: 8 Aug 2006
200 End Date:
201 Base Tag: netbsd-4-base
202 Maintainer: 4 Release Engineering <releng-4 (a] NetBSD.org>
203 Scope: Entire tree. (src + xsrc)
204 Notes:
205 Commits restricted to Release Engineering.
206
207 Branch: netbsd-5
208 Description: The NetBSD 5 release branch
209 Status: Active
210 Start Date: 31 Oct 2008
211 End Date:
212 Base Tag: netbsd-5-base
213 Maintainer: 5.0 Release Engineering <releng-5 (a] NetBSD.org>
214 Scope: Entire tree. (src + xsrc)
215 Notes:
216 Commits restricted to Release Engineering.
217
218 ########################################################################
219 # Individual developers' branches (Active/Dormant):
220 ########################################################################
221
222 Branch: ad-audiomp
223 Description: Add MP locking to the audio drivers
224 Status: Terminated
225 Start Date: 28 February 2007
226 End Date: 7 December 2008
227 Base Tag: ad-audiomp-base
228 Maintainer: Andrew Doran <ad (a] NetBSD.org>
229 Scope: kernel
230 Notes: Making the audio drivers MP safe is necessary before efforts
231 can be made to make the VM system MP safe. About 1/2 of the
232 drivers are converted, the remaining 1/2 need more changes.
233
234 As of import this is snapshot of work in progress and so
235 may not compile; in particular the midi changes are very
236 much "in progress". The audio component has been tested
237 and verified to work with emuxki and auvia. There may
238 be a locking issue in the ac97 code at boot.
239
240 The are two locks per device instance, an ISR lock and
241 a character device lock. The ISR lock replaces calls to
242 splaudio()/splx(), and will be held across calls to device
243 methods which were called at splaudio() before (e.g.
244 trigger_output). The character device lock is held across
245 calls to nearly all of the methods, excluding some only
246 used for initialization, e.g. get_locks. This needs to be
247 documented at merge time.
248
249 To test on a multi way x86 system, search for "mpsafe" in
250 x86/x86/intr.c and change IPL_SCHED to IPL_AUDIO. Run a job
251 that will acquire the ISR lock (depends on the hardware, but
252 "while true; do mixerctl -a > /dev/null; done" may suffice).
253 Play audio, run lockstat and verify that that there is
254 contention on the ISR lock.
255
256 Branch: ad-audiomp2
257 Description: Add MP locking to the audio drivers
258 Status: Active
259 Start Date: 7 December 2008
260 End Date:
261 Base Tag: ad-audiomp2-base
262 Maintainer: Andrew Doran <ad (a] NetBSD.org>
263 Scope: kernel
264 Notes: Ressurect ad-audiomp, make the audio drivers MP safe.
265
266 Branch: bjh21-hydra
267 Description: Simtec Hydra support and ARM SMP in general
268 Status: Dormant
269 Start Date: 18 Oct 2002
270 End Date:
271 Base Tag: bjh21-hydra-base
272 Maintainer: Ben Harris <bjh21 (a] NetBSD.org>
273 Scope: sys/arch/arm sys/arch/acorn32
274 Notes: This code was on a branch because it involves changes to
275 cpuswitch.S which would otherwise make merging the
276 nathanw_sa branch difficult.
277
278 Branch: chris-arm-intr-rework
279 Description: Rework arm interrupt handling code
280 Status: Active
281 Start Date: 11 Aug 2007
282 End Date:
283 Base Tag: chris-arm-intr-rework-base
284 Maintainer: Chris Gilbert <chris (a] NetBSD.org>
285 Scope: sys/arch/arm sys/arch/cats (other arm archs to follow)
286 Notes: Rework arm interrupt code to provide a shared set of interrupt
287 routines, and allow improvements to be shared across all arm
288 based hardware.
289
290 Branch: cube-autoconf
291 Description: Renovate autoconf(9) API
292 Status: Active
293 Start Date: 11 Dec 2007
294 End Date:
295 Base Tag: cube-autoconf-base
296 Maintainer: Quentin Garnier <cube (a] NetBSD.org>
297 Scope: kernel usr.bin/config (and some other userland bits)
298 Notes: Address a number of issues the current autoconf(9) API has.
299
300 Branch: gmcgarry_ctxsw
301 Description: Separate scheduler from context-switch code
302 Status: Dormant
303 Start Date: 18 December 2002
304 End Date:
305 Base Tag: gmcgarry_ctxsw_base
306 Maintainer: Gregory McGarry <gmcgarry (a] NetBSD.org>
307 Scope: kernel
308 Notes: Removing knowledge of the scheduler and its run queues
309 from the machine-dependent context switch code is the
310 first step in cleaning up the scheduler. It is necessary
311 for the newlock branch, making the scheduler SMP friendly,
312 adding real-time scheduler extensions, and reducing the
313 number of code paths for LWP and proc switching.
314
315 Branch: gmcgarry_ucred
316 Description: Integrate and encapsulate user credentials
317 Status: Dormant
318 Start Date: 18 December 2002
319 End Date:
320 Base Tag: gmcgarry_ucred_base
321 Maintainer: Gregory McGarry <gmcgarry (a] NetBSD.org>
322 Scope: kernel
323 Notes: merge pcred and ucred and poolify
324
325 Branch: haad-dm
326 Description: Add support for LVM to NetBSD
327 Status: Active
328 Start Date: 7 July 2008
329 End Date:
330 Base Tag: haad-dm-base
331 Maintainer: Adam Hamsik <haad (a] NetBSD.org>
332 Scope: kernel
333 Notes: LVM support is based on Linux lvm2tools,
334 libdevmapper library and NetBSD device-mapper
335 driver.
336
337 Branch: hpcarm-cleanup
338 Description: Fix build problems for hpcarm
339 Status: Active
340 Start Date: 31 July 2007
341 End Date:
342 Base Tag: hpcarm-cleanup-base
343 Maintainer: Robert Swindells <rjs (a] NetBSD.org>
344 Scope: kernel
345 Notes: Modify SA11x0 interrupt code to match PXA2x0 equivalent.
346
347 Branch: itohy-usb1
348 Description: USB stack overhaul, mostly DMA related
349 Status: Active
350 Start Date: 22 May 2007
351 End Date:
352 Base Tag: itohy-usb1-base
353 Maintainer: ITOH Yasufumi <itohy (a] NetBSD.org>
354 Scope: kernel
355 Notes: To check out the kernel source tree,
356 1. check out checkout script
357 cvs checkout -ritohy-usb1 src/sys/dev/usb/filelist
358 2. update files in the branch
359 sh -e src/sys/dev/usb/filelist
360
361 Branch: kame
362 Description: KAME Project
363 Status: Dormant
364 Start Date: 28 Jun 1999
365 End Date:
366 Base Tag:
367 Maintainer: Jun-ichiro itojun Hagino <itojun (a] NetBSD.org>
368 Scope: kernel
369 Notes: http://www.kame.net
370 Used for "reference" purposes for early part of KAME
371 integration effort. The branch is not actively used, as I
372 (itojun) use patch(1) and diff(1) for the KAME syncs.
373
374 Branch: keiichi-mipv6
375 Description: Developing Mobile IPv6 function
376 Status: Active
377 Start Date: 21 Feb 2008
378 End Date:
379 Base Tag: keiichi-mipv6-base
380 Maintainer: Keiichi Shima <keiichi (a] netbsd.org>
381 Scope: sys, sbin, libc/net, distrib/sets, share/man/
382 Notes: http://www.mobileip.jp/
383 Work on developing Mobile IPv6/NEMO BS functions and
384 related MIPv6 based advanced functions on NetBSD.
385 Please consult keiichi for joining this activity.
386
387 Branch: kent-audio2
388 Description: In-kernel audio mixer
389 Status: Active
390 Start Date: Sun Jan 16 2005
391 End Date:
392 Base Tag: kent-audio2-base
393 Maintainer: TAMURA Kent <kent (a] NetBSD.org>
394 Scope: kernel (audio device drivers)
395 Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
396 Please consult with the maintainer before committing
397 to this branch.
398 This branch is not expected to be compilable yet.
399
400 Branch: matt-timespec
401 Description: Convert the kernel to struct timespec as its primary time
402 storage mechanism.
403 Status: Inactive
404 Start Date: 2005-02-19
405 End Date:
406 Base Tag:
407 Maintainer: Matt Thomas <matt (a] NetBSD.org>
408 Scope: kernel
409 Notes:
410
411 Branch: matt-mips64
412 Description: Rototill the mips code to support LP64 mips and N32/N64 ABIs
413 Status: Active
414 Start Date: 2007-07-17
415 End Date:
416 Base Tag: matt-mips64-base
417 Maintainer: Matt Thomas <matt (a] NetBSD.org>
418 Scope: kernel & userland
419 Notes:
420
421 Branch: mjf-devfs2
422 Description: device file system supporting dynamic device nodes
423 Status: Active
424 Start Date: 21 February 2008
425 End Date:
426 Base Tag: mjf-devfs2-base
427 Maintainer: Matt Fleming <mjf (a] NetBSD.org>
428 Scope: kernel and userland
429 Notes: This branch will move away from the static device nodes that
430 are created with MAKEDEV scripts and allow nodes to be created
431 and removed dynamically as devices are attached and detached
432 from the machine.
433
434 Branch: mjf-ufs-trans
435 Description: file system transactions for ufs
436 Status: Active
437 Start Date: 12 March 2007
438 End Date:
439 Base Tag: mjf-ufs-trans-base
440 Maintainer: Matt Fleming <mjf (a] NetBSD.org>
441 Scope: kernel
442 Notes:
443
444 Branch: nick-hppapmap
445 Description: Update of hppa pmap with OpenBSD code.
446 Status: Active
447 Start Date: 27 October 2008
448 End Date:
449 Base Tag: nick-hppapmap-base
450 Maintainer: Nick Hudson <skrll (a] NetBSD.org>
451 Scope: sys/
452 Notes: Port of the OpenBSD pmap including support for PA2.0 CPUs in
453 32-bit mode.
454
455 Branch: nick-net80211-sync
456 Description: sync of net80211 with FreeBSD
457 Status: Active
458 Start Date: 21 February 2008
459 End Date:
460 Base Tag: nick-net80211-base
461 Maintainer: Nick Hudson <skrll (a] NetBSD.org>
462 Scope: sys/
463 Notes: Sync'ing net80211 with FreeBSD and drivers update. The branch is
464 currently only the kernel, but will likely extend to some userland
465 areas.
466
467 Branch: pkgviews
468 Description: package views, enabling multiple conflicting packages to co-exist
469 Status: Active
470 Start Date: 22 July 2002
471 End Date:
472 Base Tag: pkgviews
473 Maintainer: Alistair Crooks <agc (a] NetBSD.org>
474 Scope: pkgsrc, basesrc/usr.sbin/pkg_install
475 Notes: A more flexible infrastructure for third-party packages by
476 allowing multiple conflicting packages and versions to co-exist
477 within the same tree
478
479 Branch: rpaulo-netinet-merge-pcb
480 Description: merge in6pcb with inpcb
481 Status: Dormant
482 Start Date: Wed Feb 01 2006
483 End Date:
484 Base Tag: rpaulo-netinet-merge-pcb-base
485 Maintainer: Rui Paulo <rpaulo (a] NetBSD.org>
486 Scope: src/sys
487 Notes: No longer active due to the lack of time. If you plan to
488 continue this branch, sys/netinet/in_pcb.h already contains
489 the proposed structure layout (which was roughly discussed
490 in the tech-net mailing list).
491 I also defined INP_*() macros to mimicate FreeBSD's inpcb
492 locking style, but currently they do nothing and are not
493 yet called at the correct places (needs discussion about
494 kernel fine-grained locking).
495 To continue this branch, one needs to read all the relevant
496 inpcb/in6pcb source files and change the function names,
497 structure names, structure fields according to the new
498 layout (in6pcb is gone).
499 Don't try to build a kernel from this branch because it won't
500 work. The missing pieces required to do a complete build
501 were not committed because they were incomplete and generated
502 panics.
503 You shouldn't need to worry about KAME syncs because
504 they did most of them by now.
505 After the work is done, you are required to test the branch
506 (before the merge to -current) with an interop IPv6 test.
507 More info at: http://www.tahi.org/
508
509 Branch: rtr-xorg-branch
510 Description: xorg & static build alterations to src/x11
511 Status: Active
512 Start Date: Nov 15 2004
513 End Date:
514 Base tag: rtr-xorg-branch-base
515 Maintainer: Tyler R. Retzlaff <rtr (a] NetBSD.org>
516 Scope: x11
517 distrib/sets/lists
518 share/mk/bsd.x11.mk
519 share/mk/bsd.own.mk
520 etc/mtree/NetBSD.dist
521 Notes: Requires parts of xsrc/xfree (HEAD)
522 xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd
523 Requires xorg (XORG-6_8_1)
524
525 Branch: wrstuden-fixsa
526 Description: Fix a number of issues present with Scheduler Activations.
527 Status: Active
528 Start Date: 15 May 2007
529 End Date:
530 Base Tag: wrstuden-fixsa-base
531 Maintainer: Bill Stouder-Studenmund <wrstuden (a] NetBSD.org>
532 Scope: src, though all the interesting stuff is in the kernel
533 or lib/libpthread or maybe gdb.
534 Notes: This branch is based off of the netbsd-4 branch!
535 This branch is intended to stage improvements for the
536 Scheduler Activations system for NetBSD 4. Improvements
537 include not allocating memory while preparing to tsleep(),
538 reducing inappropriate upcall delivery (hopefully also
539 eliminating the need to mlock stacks), and being
540 able to pthread_kill() running threads. At this date,
541 most goals have been achieved. This branch also includes
542 fixes to gdb to support working with threaded apps.
543
544 Branch: wrstuden-revivesa
545 Description: Fix a number of issues present with Scheduler Activations.
546 Status: Active
547 Start Date: 10 May 2008
548 End Date:
549 Base Tag: wrstuden-revivesa-base
550 Maintainer: Bill Stouder-Studenmund <wrstuden (a] NetBSD.org>
551 Scope: src, though all the interesting stuff is in the kernel
552 Notes: This branch is intended to revive Scheduler Activations
553 in -current in the 5.0 era. This branch's main goal is
554 to re-add syscall compatability so that SA-based libpthread
555 programs can run with a -current kernel. 1:1 threading will
556 remain the NetBSD-default. This branch will re-add necessary
557 upcall support, and will also serve as a chance to clean
558 out cruft that had accumulated in the implementation over
559 time.
560
561 Branch: yamt-kmem
562 Description:
563 - separate kernel va allocation from kernel fault handling.
564 - make kmem_alloc interrupt-safe.
565 Status: Active
566 Start Date: Sun Dec 9 2007
567 End Date:
568 Base Tag: yamt-kmem-base3
569 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
570 Scope: src/sys (src/common is tagged but not branched)
571 Notes:
572 todo:
573 - investigate if PMAP_PREFER equivalent can be done
574 with vmem_xalloc. find a tester with hardware for it.
575 - g/c replaced code, including kmapent and malloc.
576 - consider to remove other submaps. eg. mb_map
577
578 Branch: yamt-nfs-mp
579 Description: make nfs client mp-safe
580 Status: Active
581 Start Date: Sun Apr 27 2008
582 End Date:
583 Base Tag: yamt-nfs-mp-base2
584 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
585 Scope: src/sys (src/common is tagged but not branched)
586 Notes:
587
588 Branch: reinoud-bufcleanup
589 Description: implement and evaluate struct buf usage cleanup strategies.
590 Ideas currently in mind (preference for b):
591 a)
592 1. use of bio_ops per buffer.
593 2. allow chaining/overloading of functions in bio_ops
594 and provide some private context.
595 3. extend the bio_ops with commonly used functionality
596 like pending action counting, custom context passing,
597 last minute processing of buffer data, buffer cache
598 etc.
599 4. investigate the use of the kcont()
600 continuation-passing framework for async io
601 completion notification for bufs
602 ...
603 b)
604 1. all sequencing use of B_CALL replaced by
605 device-threads, if possible generic code around BUFQ
606 2. possibly use kcont() for async IO finished signaling
607 3. counter of pending and queued actions requestable
608 by IOCTL interface?
609 4. implement `last minute buffer fixup' calls and maybe
610 even finished I/O calls as vnode operations
611 ...
612 Status: Active
613 Start Date: Thu Mar 15 2007
614 End Date:
615 Base Tag: reinoud-bufcleanup-base
616 Maintainer: Reinoud Zandijk <reinoud (a] NetBSD.org>
617 Scope: src/sys and src/common
618 Notes: Used as experiment sandbox and if successful hopefully one day
619 to be integrated.
620
621 Branch: thorpej-atomic
622 Description: Implementation of an atomic memory operations API modeled
623 after the one in Solaris 10.
624 Status: Active
625 Start Date: Apr 11 2007
626 End Date:
627 Base tag: thorpej-atomic-base
628 Maintainer: Jason Thorpe <thorpej (a] netbsd.org>
629 Scope: src/common
630 src/sys
631 Notes: Base atomic primitives need to be implemented for
632 all of the supported architectures:
633
634 alpha DONE
635 arm DONE
636 hppa
637 i386 DONE
638 ia64
639 m68k DONE (except for 68010)
640 mips
641 ns32k
642 powerpc DONE except for membar_*()
643 powerpc64 DONE except for membar_*()
644 sh3
645 sparc DONE except for membar_*()
646 sparc64 DONE except for membar_*()
647 vax
648 x86_64 DONE
649
650 Tested:
651
652 alpha NO
653 arm NO
654 hppa NO
655 i386 NO
656 ia64 NO
657 m68k NO
658 mips NO
659 ns32k NO
660 powerpc NO
661 powerpc64 NO
662 sh3 NO
663 sparc NO
664 sparc64 NO
665 vax NO
666 x86_64 NO
667
668 TODO:
669
670 all - Need to replace mb_*() with membar_*().
671
672 - Audit MUTEX_CAS() and RWLOCK_CAS() uses
673 to see of membar_enter() is required here.
674
675 - Talk to ad@ -- figure out of non-atomic
676 mutex / rwlock release is actually safe.
677
678 arm - Consider using a RAS technique like
679 MIPS uses for _lock_cas() and the mutex
680 stubs. Possibly do more than one atomic
681 op as a RAS. Possibly implement mutex
682 stubs using the technique.
683
684 m68k - Need to do 68010 support.
685
686 i386 - Need to change when x86_patch() is called
687 so we can test ncpus.
688
689 powerpc - Figure out if we need barriers in the
690 atomic ops themselves (hopefully not!)
691
692 x86_64 - Need to change when x86_patch() is called
693 so we can test ncpus.
694
695 ########################################################################
696 # Individual developers' branches (Terminated):
697 ########################################################################
698
699 Branch: bouyer-scsipi
700 Description: Integration of atapi support
701 Status: Terminated
702 Start Date:
703 End Date:
704 Base Tag:
705 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
706 Scope: kernel
707 Notes: Superseded by thorpej_scsipi
708
709 Branch: bouyer-xen2
710 Description: update xen port to xen 2.0, with support for domain0 operations
711 Status: Terminated
712 Start Date: Dec 13 2004
713 End Date: Mar 10 2005
714 Base Tag: netbsd-2-base
715 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
716 Scope: src/sys/arch/xen
717 Notes:
718
719 Branch: bouyer-xenamd64
720 Description: add amd64 support to Xen and rework some parts to share more code between Xen and others
721 Status: Terminated
722 Start Date: 18 Oct 2007
723 End Date: 22 Nov 2007
724 Base Tag: bouyer-xenamd64-base
725 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
726 Scope: kernel
727 Notes:
728
729 Branch: bouyer-xeni386
730 Description: switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support
731 Status: Terminated
732 Start Date: 10 Dec 2007
733 End Date: 23 Jan 2008
734 Base Tag: bouyer-xeni386-base
735 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
736 Scope: kernel
737 Notes:
738
739 Branch: chap-midi
740 Description: Renovation of MIDI support
741 Status: Terminated; merged to -current
742 Start Date: 19 May 2006
743 End Date: 30 Jun 2006
744 Base Tag: chap-midi-base
745 Maintainer: Chapman Flack <chap (a] NetBSD.org>
746 Scope: sys, share/man, usr.bin
747 Notes:
748
749 Branch: chs-ubc
750 Description: Unified Buffer Cache
751 Status: Terminated
752 Start Date:
753 End Date:
754 Base Tag: chs-ubc-base
755 Maintainer: Chuck Silvers <chs (a] NetBSD.org>
756 Scope: kernel
757 Notes:
758
759 Branch: chs-ubc2
760 Description: Unified Buffer Cache
761 Status: Terminated; merged to -current
762 Start Date:
763 End Date:
764 Base Tag: chs-ubc2-base, chs-ubc2-newbase
765 Maintainer: Chuck Silvers <chs (a] NetBSD.org>
766 Scope: kernel
767 Notes:
768
769 Branch: cjs-build-against-obj-dir
770 Description: ?
771 Status: ?
772 Start Date:
773 End Date:
774 Base Tag:
775 Maintainer: Curt Sampson <cjs (a] NetBSD.org>
776 Scope: Entire tree.
777 Notes:
778
779 Branch: eeh-paddr_t
780 Description: use separate types for virtual vs. physical addresses
781 Status: Terminated; merged to -current
782 Start Date:
783 End Date:
784 Base Tag: eeh-paddr_t-base
785 Maintainer: Eduardo Horvath <eeh (a] NetBSD.org>
786 Scope: kernel
787 Notes: This is needed to support 32-bit kernels on sparc64.
788
789 Branch: elad-kernelauth
790 Description: Native NetBSD implementation of Apple's kernel authorization
791 based on TN2127. This is a "clean-room" implementation to
792 avoid any licensing issues.
793 Status: Terminated; merged to -current
794 Start Date: Tue Mar 7 2006
795 End Date: Mon May 15 2006
796 Base Tag: elad-kernelauth-base
797 Maintainer: Elad Efrat <elad (a] NetBSD.org>
798 Scope: src/sys, src/share/man/man9/Makefile,
799 src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
800 Notes:
801
802 Branch: fvdl-softdep
803 Description: FFS soft dependencies
804 Status: Terminated; merged to -current
805 Start Date:
806 End Date:
807 Base Tag: fvdl-softdep-base
808 Maintainer: Frank van der Linden <fvdl (a] NetBSD.org>
809 Scope: kernel
810 Notes:
811
812 Branch: gehenna-devsw
813 Description: auto-generation of devsw table
814 Status: Terminated
815 Start Date: 16 May 2002
816 End Date: 6 Sep 2002
817 Base Tag: gehenna-devsw-base
818 Maintainer: MAEKAWA Masahide <gehenna (a] NetBSD.org>
819 Scope: syssrc
820 Notes: The goal is to get rid of the existing device switch tables in
821 port-dependent conf.c and to generate them dynamically by
822 config(8).
823
824 Branch: is-newarp
825 Description: ARP for non-Ethernet
826 Status: Terminated; merged before NetBSD 1.3
827 Start Date: 1996/10/13
828 End Date: 1997/03/15
829 Base Tag: is-newarp-base
830 Maintainer: Ignatios Souvatzis <is (a] NetBSD.org>
831 Scope: kernel
832 Notes:
833
834 Branch: jmcneill-pm
835 Description: Power management framework overhaul, ACPI improvements
836 Status: Terminated; merged before NetBSD 5.0
837 Start Date: 3 Aug 2007
838 End Date: 9 Dec 2007
839 Base Tag: jmcneill-pm-base
840 Maintainer: Jared D. McNeill <jmcneill (a] NetBSD.org>
841 Scope: kernel
842 Notes:
843
844 Branch: kenh-if-detach
845 Description: Interface detach support.
846 Status: ?
847 Start Date:
848 End Date:
849 Base Tag: kenh-if-detach-base
850 Maintainer: Ken Hornstein <kenh (a] NetBSD.org>
851 Scope: kernel
852 Notes:
853
854 Branch: kent-audio1
855 Description: Audio converter pipeline
856 Status: Terminated; merged to -current
857 Start Date: Tue Dec 7 2004
858 End Date: Tue Jan 11 2005
859 Base Tag: kent-audio1-base
860 Maintainer: TAMURA Kent <kent (a] NetBSD.org>
861 Scope: kernel (audio device drivers)
862 Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
863 Please consult with the maintainer before committing
864 to this branch.
865
866 Branch: kqueue
867 Description: kqueue kernel event notification mechanism (from FreeBSD)
868 Status: Terminated; merged to -current
869 Start Date: Tue Jul 10 23:08:38 EST 2001
870 End Date: Tue Oct 24 09:14:14 GMT 2002
871 Base Tag: kqueue-base
872 Maintainer: Jaromir Dolecek <jdolecek (a] NetBSD.org>
873 Scope: kernel, libc/sys, share/man/man9, usr.bin/fstat
874 Notes: Integration of FreeBSD's kqueue(2) mechanism, with various
875 local internal changes to better suit NetBSD, and
876 enhancements such as looking up filters by name or
877 number, and dynamic registration of "user" filters.
878 The work is complete as is, but is awaiting more
879 feedback from various kernel gurus before going mainline.
880
881 Branch: ktrace-lwp
882 Description: ktrace support for lwp ids.
883 Status: Terminated; merged to -current
884 Start Date: Wed Jul 2 15:27:30 UTC 2003
885 End Date: Sun Dec 11 12:25:29 UTC 2005
886 Base Tag: ktrace-lwp-base
887 Maintainer: Darren Reed <darrenr (a] NetBSD.org>
888 Scope: sys
889 Notes:
890
891 Branch: marc-pcmcia
892 Description: PCMCIA support
893 Status: Terminated; merged to -current
894 Start Date:
895 End Date:
896 Base Tag: marc-pcmcia-base, marc-pcmcia-bp
897 Maintainer: Marc Horowitz <marc (a] NetBSD.org>
898 Scope: kernel
899 Notes:
900
901 Branch: matt-armv6
902 Description: Rototill the arm code to support features present in the
903 v6 of the ARM Architecture. Additionally, clean up things
904 along the way to use common practices.
905 Status: Terminated; merged to -current
906 Start Date: 2007-08-27
907 End Date: 2008-04-27
908 Base Tag: matt-armv6-base
909 Maintainer: Matt Thomas <matt (a] NetBSD.org>
910 Scope: kernel & userland
911 Notes:
912
913 Branch: minoura_x68k_bus_h
914 Description: bus_space(9) and bus_dma(9) implementation for x68k
915 Status: Terminated; merged to -current
916 Start Date: 23 Dec 1998
917 End Date: 16 Mar 1999
918 Base Tag: minoura_x68k_bus_h-base
919 Maintainer: Minoura Makoto <minoura (a] NetBSD.org>
920 Scope: sys/arch/x68k
921 Notes:
922
923 Branch: minoura-xpg4dl
924 Description: Citrus Project locale subsystem
925 Status: Terminated; (partly) merged to -current
926 Start Date: 28 March 2000
927 End Date:
928 Base Tag: minoura-xpg4dl-base
929 Maintainer: Minoura Makoto <minoura (a] NetBSD.org>
930 Scope: basesrc, syssrc, sharesrc
931 Notes: Citrus Project is developing dynamically-loadable, codeset-
932 independent locale subsystem. Part of the implementation
933 (LC_CTYPE) called XPG4DL is now integrated to -current.
934
935 Branch: mjf-devfs
936 Description: device file system supporting dynamic device nodes
937 Status: Terminated
938 Start Date: 12 November 2007
939 End Date: 21 February 2008
940 Base Tag: mjf-devfs-base
941 Maintainer: Matt Fleming <mjf (a] NetBSD.org>
942 Scope: kernel and userland
943 Notes: This branch will move away from the static device nodes that
944 are created with MAKEDEV scripts and allow nodes to be created
945 and removed dynamically as devices are attached and detached
946 from the machine.
947
948 Branch: mrg-vm-swap
949 Description: dynamic swap allocation, swap-to-files support
950 Status: Terminated; abandoned for mrg-vm-swap2
951 Start Date: 12 February 1997
952 End Date: 15 March 1997
953 Base Tag: [none]
954 Maintainer: Matthew R. Green <mrg (a] NetBSD.org>
955 Scope: kernel
956 Notes:
957
958 Branch: mrg-vm-swap2
959 Description: dynamic swap allocation, swap-to-files support
960 Status: Terminated; merged to -current
961 Start Date: 4 May 1997
962 End Date: 12 June 1997
963 Base Tag: mrg-vm-swap2-base
964 Maintainer: Matthew R. Green <mrg (a] NetBSD.org>
965 Scope: kernel
966 Notes:
967
968 Branch: nathanw_sa
969 Description: Scheduler activations
970 Status: Terminated; merged to -current
971 Start Date: 5 March 2001
972 End Date: 18 January 2003
973 Base Tag: nathanw_sa_base
974 Maintainer: Nathan Williams <nathanw (a] NetBSD.org>
975 Scope: kernel, libc, libkvm, libpthread, libpthread_dbg, include,
976 bin/ps usr.bin/systat usr.bin/top usr.bin/w
977 gnu/dist/toolchain/gdb gnu/usr.bin/gdb
978 Notes: The idea of scheduler activations is described in the
979 classic paper by Anderson et al., in ACM Transactions
980 a on Computer Systems volume 10 issue 1 (1992),which
981 can be found at
982 http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
983 Many ideas in the implementation are based on the
984 implementation of scheduler activations added to Mach
985 3.0 and described by Davis et al. in the University of
986 Washington CS tech report 92-08-93, which can be found
987 at
988 ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
989
990 My USENIX paper on the subject can be found at
991 http://web.mit.edu/nathanw/www/usenix/
992
993 Please consult with the maintainer before committing
994 to this branch.
995 Other tags starting with nathanw_sa reserved for
996 branch management and are not guaranteed to be stable.
997
998 Trunk tagged with "nathanw_sa_before_merge" prior to
999 merging branch down to trunk. Branch tagged with
1000 "nathanw_sa_end" to indicate the ending revision of
1001 the branch.
1002
1003 Branch: newlock
1004 Description: New locking primitives, based on Solaris's
1005 Status: Terminated
1006 Start Date: March 9, 2002
1007 End Date: February 12, 2007
1008 Base Tag: newlock-base
1009 Maintainer: Jason R. Thorpe <thorpej (a] NetBSD.org>
1010 Scope: Kernel
1011 Notes: The goal is to replace the existing lockmgr() and
1012 simple_lock() based locking mechanisms with the
1013 primitives found in Solaris: mutexes and rwlocks.
1014 Superseded by the newlock2 branch.
1015
1016 Branch: newlock2
1017 Description: New locking primitives, based on Solaris's
1018 Status: Terminated
1019 Start Date: September 9, 2006
1020 End Date: February 12, 2007
1021 Base Tag: newlock2-base
1022 Maintainer: Andrew Doran <ad (a] NetBSD.org>
1023 Scope: Kernel
1024 Notes: As per the newlock branch, however given the amount of time
1025 the original branch has lain dormant, a new one has been
1026 created. Goals:
1027 - Implement new locking primitives on most-used ports.
1028 - Minor locking improvements.
1029 - Remove spinlockmgr().
1030
1031 Branch: nick-csl-alignment
1032 Description: Provide correctly aligned __cpu_simple_lock_t for hppa
1033 Status: Terminated
1034 Start Date: 2007-07-18
1035 End Date:
1036 Base Tag: nick-csl-alignment-base5
1037 Maintainer: Nick Hudson <skrll (a] NetBSD.org>
1038 Scope: sys, lib/libpthread, lib/libpthread_dbg
1039 Notes:
1040
1041 Branch: perseant-lfsv2
1042 Description: LFS incompatible on-disk data structure changes
1043 Status: Terminated
1044 Start Date: 27 June 2001
1045 End Date: 16 July 2001
1046 Base Tag: perseant-lfsv2-base
1047 Maintainer: Konrad Schroder <perseant (a] NetBSD.org>
1048 Scope: basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
1049 Notes: This branch should be short-lived, I expect to merge as soon
1050 as the data structures required for unremove are in and tested.
1051
1052 Branch: ppcoea-renovation
1053 Description: General renovation and cleanup of all OEA PowerPC ports.
1054 Status: Terminated; merged to -current
1055 Start Date: 30 April 2007
1056 End Date: 15 October 2007
1057 Base Tag: ppcoea-renovation-base
1058 Maintainer: Tim Rightnour <garbled (a] netbsd.org>
1059 Scope: src/sys/arch
1060 Notes: This branch is for a general cleanup of all OEA-based PowerPC
1061 ports. OEA (Operating Environment Architecture) PowerPC refers
1062 to the 601, 603, 604, and similar chips. Specifically, not the
1063 403/401 and other embedded chips. The general concept is to get
1064 them all compiling, and sharing as much code as possible. All
1065 developers are welcome to commit to this branch.
1066
1067 Branch: thorpej-devvp
1068 Description: replace dev_t with struct vnode * in devsw entry points
1069 Status: Terminated
1070 Start Date: Sep 6 2001
1071 End Date: ???
1072 Base Tag: thorpej-devvp-base
1073 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1074 Scope: syssrc
1075 Notes: Kernels built from this branch are not expected
1076 to function correctly at this time.
1077
1078 Ports known to compile on this branch:
1079 alpha
1080 i386
1081
1082 Branch: peter-altq
1083 Description: New ALTQ framework:
1084 - sync with KAME sources
1085 - share mtag/name mapping functions
1086 - separate altq + pf attachment
1087 Status: Terminated; merged to -current
1088 Start Date: March 16, 2006
1089 End Date: October 12, 2006
1090 Base Tag: peter-altq-base
1091 Maintainer: Peter Postma <peter (a] NetBSD.org>,
1092 Martin Husemann <martin (a] NetBSD.org>,
1093 Matthias Scheler <tron (a] NetBSD.org>
1094 Scope: dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
1095 Notes: Only the first item in the description was finished
1096 in this branch.
1097
1098 Branch: sommerfeld_i386mp_1
1099 Description: Multiprocessor support for i386 using Intel MP BIOS.
1100 Status: Terminated; merged to -current
1101 Start Date: 21 Feb 2000
1102 End Date: 01 Oct 2002
1103 Base Tag: sommerfeld_i386mpbase_1
1104 Maintainer: Bill Sommerfeld <sommerfeld (a] NetBSD.org>
1105 Scope: sys/arch/i386
1106 Notes:
1107 Code committed to the branch has booted to multiuser
1108 on at least one system.
1109
1110 Not guaranteed to compile against mainline since -current
1111 may have changed incompatibly with the last branch update;
1112 use "cvs update -D" to roll-back the rest of the tree to match.
1113
1114 Please get explicit permission from the maintainer
1115 before each commit, or your changes will be backed out.
1116 Other tags starting with sommerfeld_ are private to
1117 the developer and are guaranteed to be unstable.
1118 Only the maintainer should move tags.
1119
1120 Note that this branch uses a DIFFERENT scheme for
1121 syncing with the mainline. the maintainer uses some private
1122 scripts for keeping them in sync; if you make commits
1123 to the branch to "resynchronize" things, you'll
1124 probably do it wrong; instead, ask the maintainer to
1125 resynchronize things.
1126
1127 See sys/arch/i386/TODO on the branch for a list of known
1128 issues with the branch.
1129
1130 Branch: thorpej-mips-cache
1131 Description: overhaul MIPS cache support code
1132 Status: Terminated; merged to -current
1133 Start Date: Oct 23 2001
1134 End Date: Nov 14 2001
1135 Base Tag: thorpej-mips-cache-base
1136 Scope: syssrc
1137 Notes: This branch needs more debugging, testing, and more
1138 ports need to be converted to the new world order.
1139
1140 The following processors have had cache ops
1141 written:
1142
1143 * R2000/R3000 (cache_r3k) -- light testing,
1144 needs to be beat on a lot more to make
1145 sure it's working.
1146
1147 * R4000/R4400 (cache_r4k) -- mhitch (a] NetBSD.org
1148 tracked down a bug, which has been fixed.
1149
1150 Confirmed working on R4000-with-L2.
1151
1152 Confirmed working on R4400-no-L2 and
1153 R4400-with-L2.
1154
1155 * R4600/R5000 (cache_r5k) -- shin (a] NetBSD.org
1156 has committed fixes to this code.
1157
1158 Confirmed working on R4600 v2 (SGI IP-22 with
1159 no SysAD L2 cache).
1160
1161 Confirmed working on RM5260 (Algorithmics P-5064).
1162
1163 * TX39 (cache_tx39) -- uch (a] NetBSD.org has
1164 committed fixes to this code. Awaiting
1165 confirmation that it is working properly.
1166
1167 * R5900 (cache_r5900) -- uch (a] NetBSD.org has
1168 written this code and tested it on a
1169 PlayStation 2.
1170
1171 The following ports have been updated to compile (and
1172 use optimized-for-processor bus_dma routines). Those
1173 that have been tested and work are marked with [WORKING].
1174
1175 * algor [WORKING]
1176
1177 * arc [WORKING]
1178
1179 * pmax [WORKING]
1180
1181 * playstation2 [WORKING]
1182 Needs optimized bus_dmamap_sync().
1183
1184 * hpcmips [need verification that this is working]
1185 Needs optimized bus_dmamap_sync().
1186
1187 * sgimips [WORKING]
1188 Needs optimized bus_dmamap_sync().
1189
1190 * cobalt [need testing]
1191
1192 * mipsco [need testing]
1193
1194 * newsmips [need testing]
1195
1196 Branch: thorpej_scsipi
1197 Description: SCSI/ATAPI midlayer rewrite.
1198 Status: Terminated; merged to -current
1199 Start Date:
1200 End Date: Apr 25 2001
1201 Base Tag: thorpej_scsipi_base, thorpej_scsipi_nbase
1202 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>,
1203 Jason Thorpe <thorpej (a] NetBSD.org>
1204 Scope: syssrc
1205 Notes: When a change from -current is pulled up please move the
1206 thorpej_scsipi_base tag to the revision you're syncing with.
1207 thorpej_scsipi_nbase is private to maintainer (only
1208 used when syncing the whole branch with HEAD).
1209 Just before the merge, syssrc has been tagged with
1210 thorpej_scsipi_beforemerge
1211
1212 Branch: thorpej-signal
1213 Description: ?
1214 Status: ?
1215 Start Date:
1216 End Date:
1217 Base Tag: thorpej-signal-base
1218 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1219 Scope: kernel
1220 Notes:
1221
1222 Branch: thorpej-setroot
1223 Description: ?
1224 Status: Terminated; merged to -current
1225 Start Date:
1226 End Date:
1227 Base Tag:
1228 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1229 Scope: kernel
1230 Notes:
1231
1232 Branch: simonb-timecounters
1233 Description: Port FreeBSD timecounters to NetBSD
1234 Status: Terminated
1235 Start Date: Sat Feb 04 2006
1236 End Date: Wed Jun 07 2006
1237 Base Tag: simonb-timecounters-base
1238 Maintainer: Simon Burge <simonb (a] NetBSD.org>,
1239 Frank Kardel <kardel (a] NetBSD.org>
1240 Scope: sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
1241 Notes: early (partial conversion) commit to -current
1242 ok'ed by core@ on 20060605 for testing and further
1243 simplified conversion
1244
1245 Branch: simonb-wapbl
1246 Description: Wasabi's journaling filesystem support
1247 Status: Terminated; merged to -current
1248 Start Date: Tue Jun 10 2008
1249 End Date: Thu Jul 31 2008
1250 Base Tag: simonb-wapbl-base
1251 Maintainer: Simon Burge <simonb (a] NetBSD.org>
1252 Scope: src/distrib/sets/lists/comp src/distrib/utils/sysinst
1253 src/include
1254 src/sbin/fsck_ffs src/sbin/fsdb src/sbin/mount_ffs
1255 src/sbin/tunefs src/usr.sbin/dumpfs src/sys
1256 Notes: Still has a number of issues:
1257 - Some heavy workload performance issues on SMP machines.
1258 Work around this issue by turning on WAPBL_DEBUG_SERIALIZE
1259 in rev 1.1.2.11 of vfs_wapbl.c.
1260 - Removing large files (sparse only?) takes a long time.
1261 Eg, a file created with
1262 dd if=/dev/zero of=foox bs=1 count=1 seek=11261748520550
1263 takes 0:00.00 to remove on my test box without logging and
1264 0:22.25 to remove with logging. No disk IO during this...
1265 - sysinst should use in-fs logs now, not end-of-partition logs.
1266
1267 Branch: vmlocking
1268 Description: Make VM and file system framework MP safe
1269 Status: Terminated
1270 Start Date: 13 March 2007
1271 End Date: 4 December 2007
1272 Base Tag: vmlocking-base
1273 Maintainer: Andrew Doran <ad (a] NetBSD.org>
1274 Scope: kernel
1275 Notes: Superseded by vmlocking2 branch.
1276
1277 Branch: vmlocking2
1278 Description: Make VM and file system framework MP safe
1279 Status: Terminated
1280 Start Date: 4 December 2007
1281 End Date: 2 January 2008
1282 Base Tag: vmlocking2-base3
1283 Maintainer: Andrew Doran <ad (a] NetBSD.org>
1284 Scope: kernel
1285 Notes: Goals:
1286
1287 - Make VM system / trap handling MP safe.
1288 - Replace simplelocks with mutexes.
1289 - Make file system framework MP safe.
1290
1291 Status by architecture:
1292
1293 alpha done
1294 i386 done
1295 amd64 done
1296 mips done
1297 sparc need pmap/trap locking changes
1298 sparc64 done
1299 arm done
1300 powerpc done
1301 hppa done
1302 sh3 done
1303 m68k done
1304 xen need pmap/trap locking changes
1305
1306 Remaining MI work to do:
1307
1308 - Check aliased vnode handling. There may be problems.
1309
1310 Remaining problems:
1311
1312 - LFS stalls due to v_numoutput leak.
1313
1314 Branch: wrstuden-devbsize
1315 Description: Modify buffer cache to deal with different devices having
1316 different block sizes. Also DEV_BSIZE would go away.
1317 Status: Terminated
1318 Start Date: Aug or Sept 1999
1319 End Date: 1 Apr 2000
1320 Base tag: wrstuden-devbsize-base
1321 Maintainer: Bill Studenmund <wrstuden (a] NetBSD.org>
1322 Scope: kernel
1323 Notes: No longer active due to lack of time, and introduction
1324 of UBC. In terms of UBC, the primary cache for
1325 file data is the VM cache, which needs to operate
1326 in terms of VM pages. As no existing device has native
1327 pages the same size as our VM pages, there already is
1328 a mapping going on between the VM system and the
1329 underlying blocks. So it would be easier and cleaner
1330 to adjust that to deal w/ different block sizes.
1331 Also with UBC, all i/o is in terms of bytes at an offset
1332 with a certain length, so the exact block size isn't a big
1333 deal.
1334
1335 Any other wrstuden-devbsize tag may (and should) go away.
1336
1337 Branch: yamt-idlelwp
1338 Description: idle lwp, and some changes depending on it.
1339
1340 1. separate context switching and thread scheduling.
1341 (cf. gmcgarry_ctxsw)
1342 2. implement idle lwp.
1343 3. clean up related MD/MI interfaces.
1344 4. make scheduler(s) modular.
1345
1346 Status: Terminated; merged to -current
1347 Start Date: Fri Feb 17 2007
1348 End Date: Thu May 17 2007
1349 Base Tag: yamt-idlelwp-base8
1350 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1351 Scope: src/sys (src/common is tagged but not branched)
1352 Notes:
1353 Status of ports:
1354 alpha [ Done, UP tested, MP not tested ]
1355 i386 [ Done, tested ]
1356 amd64 [ Done, tested ]
1357 mips [ Done, both MIPS1 and MIPS3 tested]
1358 sparc [ Done, UP tested, MP might have
1359 some problem after newlock2 merge ]
1360 sparc64 [ Done, tested ]
1361 arm [ Done, SA1 tested. See PR 36548 ]
1362 macppc/powerpc [ Done, OEA tested ]
1363 hppa [ Done, tested ]
1364 sh3 [ Done, tested ]
1365 vax [ Done, UP tested, MP untested ]
1366 m68k [ Done, tested on several ports ]
1367 ns32k [ broken ]
1368 ia64 [ broken ]
1369 pdp10 [ broken ]
1370
1371 How to adapt a port?
1372
1373 - unify cpu_switch, cpu_exit, cpu_switchto into
1374 a single cpu_switchto. see cpu_switchto.9.
1375
1376 - implement cpu_idle. see cpu_idle.9.
1377
1378 - add a flag argument to cpu_need_resched.
1379 handle RESCHED_IMMED flag, which means "cause a preemption
1380 as soon as possible." eg. in the case of MULTIPROCESSOR,
1381 send an IPI to the target cpu.
1382
1383 - "curlwp == NULL" is not a valid check for idle state anymore.
1384 use "(curlwp->l_flag & LW_IDLE) != 0" instead. curlwp is
1385 almost always non-NULL, with exceptions like early on boot.
1386
1387 - remove idle pcbs.
1388
1389 - (if MULTIPROCESSOR) tweak processor trampoline code.
1390
1391 - (if MULTIPROCESSOR) call mi_cpu_attach when attaching
1392 secondary processors.
1393
1394 - (if schedhz!=0) call schedclock regardless of the value of
1395 curlwp.
1396
1397 - of course, update MD users of scheduler/switching API.
1398
1399 Branch: yamt-lazymbuf
1400 Description: change the way to share mbuf external storage so that
1401 it can work without kernel_lock.
1402 Status: Terminated; merged to -current
1403 Start Date: Wed Jul 6 2005
1404 End Date: Mon Mar 24 2008
1405 Base Tag: yamt-lazymbuf-base14
1406 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1407 Scope: src/sys (src/common is tagged but not branched)
1408 Notes:
1409
1410 Branch: yamt-km, yamt-km-doc
1411 Description: simplify/improve kernel memory management and bootstrap
1412 Status: Terminated; merged to -current
1413 Start Date: Tue Jan 25 2005
1414 End Date: Fri Apr 1 2005
1415 Base Tag: yamt-km-base{,2,3,4}, yamt-km-doc-base
1416 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1417 Scope: yamt-km: src/sys
1418 yamt-km-doc: src/share/man/man9/uvm.9
1419 Notes: http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
1420
1421 the followings are per-port status.
1422 (account names mean "tested by".)
1423
1424 works enough to go to multiuser:
1425 alpha, i386, xen (yamt@)
1426 pc532 (simonb@)
1427 alpha, i386, mac68k, macppc, pmax, shark,
1428 sparc, sparc64, sun3, x68k (chs@)
1429 cobalt, dreamcast, hp300, news68k, newsmips,
1430 sun3x (tsutsui@)
1431 amiga (mhitch@)
1432 cats, hp700 (skrll@)
1433 xen (bouyer@)
1434
1435 known to have the same problem as trunk:
1436 vax (chs@, stuck while running kvm_mkdb)
1437
1438 known to have a problem:
1439 luna68k (and, if any, other m68k ports which use TTR)
1440 needs to be revisited.
1441 -> for luna68k, although not tested,
1442 Sysmap has been moved to avoid kva conflict with
1443 I/O ranges.
1444
1445 buildable:
1446 src/sys/arch/acorn26/conf/GENERIC
1447 src/sys/arch/acorn32/conf/GENERIC
1448 src/sys/arch/algor/conf/P6032
1449 src/sys/arch/alpha/conf/GENERIC
1450 src/sys/arch/alpha/conf/GENERIC.MP
1451 src/sys/arch/amd64/conf/GENERIC
1452 src/sys/arch/amd64/conf/GENERIC.MP
1453 src/sys/arch/amiga/conf/GENERIC
1454 src/sys/arch/arc/conf/GENERIC
1455 src/sys/arch/atari/conf/MILAN-PCIIDE
1456 src/sys/arch/bebox/conf/GENERIC
1457 src/sys/arch/cats/conf/GENERIC
1458 src/sys/arch/cesfic/conf/GENERIC
1459 src/sys/arch/cobalt/conf/GENERIC
1460 src/sys/arch/dreamcast/conf/GENERIC
1461 src/sys/arch/evbarm/conf/TS7200
1462 src/sys/arch/evbppc/conf/WALNUT
1463 src/sys/arch/evbsh3/conf/COMPUTEXEVB
1464 src/sys/arch/evbsh5/conf/CAYMAN64
1465 src/sys/arch/hp300/conf/GENERIC
1466 src/sys/arch/hp700/conf/GENERIC
1467 src/sys/arch/hpcarm/conf/JORNADA728
1468 src/sys/arch/hpcmips/conf/GENERIC
1469 src/sys/arch/hpcsh/conf/GENERIC
1470 src/sys/arch/hpcsh/conf/HPW650PA
1471 src/sys/arch/i386/conf/GENERIC
1472 src/sys/arch/i386/conf/GENERIC.MP
1473 src/sys/arch/i386/conf/XEN0
1474 src/sys/arch/i386/conf/XENU
1475 src/sys/arch/ibmnws/conf/GENERIC
1476 src/sys/arch/iyonix/conf/GENERIC
1477 src/sys/arch/luna68k/conf/GENERIC
1478 src/sys/arch/mac68k/conf/GENERIC
1479 src/sys/arch/macppc/conf/GENERIC
1480 src/sys/arch/macppc/conf/GENERIC.MP
1481 src/sys/arch/mipsco/conf/GENERIC
1482 src/sys/arch/mmeye/conf/GENERIC
1483 src/sys/arch/mvme68k/conf/GENERIC
1484 src/sys/arch/netwinder/conf/GENERIC
1485 src/sys/arch/news68k/conf/GENERIC
1486 src/sys/arch/newsmips/conf/GENERIC
1487 src/sys/arch/next68k/conf/GENERIC
1488 src/sys/arch/ofppc/conf/GENERIC
1489 src/sys/arch/pc532/conf/GENERIC
1490 src/sys/arch/pmax/conf/GENERIC
1491 src/sys/arch/prep/conf/GENERIC
1492 src/sys/arch/sandpoint/conf/GENERIC
1493 src/sys/arch/sbmips/conf/GENERIC
1494 src/sys/arch/sgimips/conf/GENERIC32_IP3x
1495 src/sys/arch/shark/conf/GENERIC
1496 src/sys/arch/sparc/conf/GENERIC
1497 src/sys/arch/sparc/conf/GENERIC.MP
1498 src/sys/arch/sparc64/conf/GENERIC
1499 src/sys/arch/sparc64/conf/GENERIC.MP
1500 src/sys/arch/sun2/conf/GENERIC
1501 src/sys/arch/sun3/conf/GENERIC
1502 src/sys/arch/vax/conf/GENERIC
1503 src/sys/arch/vax/conf/GENERIC.MP
1504 src/sys/arch/x68k/conf/GENERIC
1505
1506 src/sys/arch/playstation2/conf/GENERIC
1507
1508 Branch: yamt-pdpolicy
1509 Description: play with page replacement policy
1510 - separate page replacement policy from the rest of kernel
1511 - implement alternative replacement policy
1512 - related read-ahead adjustment?
1513 Status: Terminated; merged to -current
1514 Start Date: Sun Mar 5 2006
1515 End Date: Sat Sep 16 2006
1516 Base Tag: yamt-pdpolicy-base9
1517 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1518 Scope: src/sys (src/common is tagged but not branched)
1519 Notes:
1520
1521 Branch: yamt-pf42
1522 Description: import newer pf from OpenBSD 4.2
1523 Status: Terminated; merged to -current
1524 Start Date: Sat Apr 19 2008
1525 End Date: Wed Jun 18 2008
1526 Base Tag: yamt-pf42-base4
1527 Maintainer: Peter Postma <peter (a] NetBSD.org>,
1528 YAMAMOTO Takashi <yamt (a] NetBSD.org>
1529 Scope: src
1530 Notes: see sys/dist/pf/net/TODO
1531
1532 Branch: yamt-readahead
1533 Description: play with file readahead
1534 Status: Terminated; merged to -current
1535 Start Date: Mon Nov 14 2005
1536 End Date: Wed Nov 30 2005
1537 Base Tag: yamt-readahead-base3
1538 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1539 Scope: src/sys
1540 Notes:
1541
1542 Branch: yamt-uio_vmspace
1543 Description: uio_lwp/uio_segflg -> uio_vmspace
1544 Status: Terminated; merged to -current
1545 Start Date: Mon Dec 31 2005
1546 End Date: Wed Mar 1 2006
1547 Base Tag: yamt-uio_vmspace-base5
1548 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1549 Scope: src/sys
1550 Notes:
1551
1552 Branch: yamt-splraiseipl
1553 Description: finish implementing splraiseipl (and makeiplcookie).
1554 http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
1555
1556 - completes workqueue(9) and netbt.
1557 - fix PR/33218.
1558
1559 Status: Terminated; merged to -current
1560 Start Date: Mon Sep 18 2006
1561 End Date: Fri Dec 22 2006
1562 Base Tag: yamt-splraiseipl-base5
1563 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1564 Scope: src/sys (src/common is tagged but not branched)
1565 Notes:
1566 tested (by who):
1567 alpha (yamt)
1568 alpha (pavel)
1569 amd64 (reported privately)
1570 cobalt (tsutsui)
1571 ews4800mips (tsutsui)
1572 hp300 (tsutsui)
1573 hpcarm (reported privately)
1574 i386 (yamt)
1575 macppc (tsutsui)
1576 news68k (tsutsui)
1577 sgimips(IP32) (tsutsui)
1578 sparc(sun4c) (tsutsui)
1579 sun2 (tsutsui)
1580 sun3 (tsutsui)
1581 sun3x (tsutsui)
1582 xen (yamt)
1583
1584 compile-tested:
1585 acorn26
1586 acorn32
1587 algor
1588 amiga
1589 arc
1590 atari
1591 bebox
1592 cats
1593 cesfic
1594 dreamcast
1595 evbarm
1596 evbmips
1597 evbppc(marvell)
1598 evbppc(ibm4xx)
1599 evbsh3
1600 hp700
1601 hpcmips
1602 hpcsh
1603 ia64
1604 ibmnws
1605 iyonix
1606 landisk
1607 luna68k
1608 mac68k
1609 mmeye
1610 mvme68k
1611 mvmeppc
1612 mipsco
1613 netwinder
1614 newsmips
1615 next68k
1616 ofppc
1617 pc532
1618 pmax
1619 pmppc
1620 prep
1621 sandpoint
1622 sbmips
1623 shark
1624 sparc
1625 sparc64
1626 vax
1627 x68k
1628 zaurus
1629
1630 not tested:
1631 pdp10 (i don't know how to build)
1632 sh5 (not buildable with an unrelated problem.)
1633
1634 compile CAYMAN64/netbsd32_sa.o
1635 cc1: warnings being treated as errors
1636 /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
1637 /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
1638 --- netbsd32_sa.o ---
1639 *** [netbsd32_sa.o] Error code 1
1640 1 error
1641
1642 notyet:
1643 amigappc
1644 playstation2
1645
1646 Branch: yamt-vop
1647 Description: remove several VOPs
1648 Status: Terminated; merged to -current
1649 Start Date: Wed Oct 19 2005
1650 End Date: Wed Nov 2 2005
1651 Base Tag: yamt-vop-base3
1652 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1653 Scope: src/sys
1654 Notes: http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
1655
1656 Branch: yamt-x86pmap
1657 Description: merge i386 and amd64 pmap
1658 Status: Terminated; merged to -current
1659 Start Date: Mon Sep 24 2007
1660 End Date: Fri Oct 19 2007
1661 Base Tag: yamt-x86pmap-base4
1662 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1663 Scope: src/sys (src/common is tagged but not branched)
1664 Notes:
1665
1666 Branch: gdamore-uart
1667 Description: Add register table support to com driver.
1668 Status: Active
1669 Start Date: 14 June 2006
1670 End Date: 13 July 2006
1671 Base Tag: gdamore-uart-base
1672 Maintainer: Garrett D'Amore <gdamore (a] NetBSD.org>
1673 Scope: kernel
1674 Notes: Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
1675 com support, and also removes a nasty hack from Atheros com.
1676
1677 ########################################################################
1678 # Other:
1679 ########################################################################
1680
1681 Branch: magnum
1682 Description: ?
1683 Status: ?
1684 Start Date:
1685 End Date:
1686 Base Tag: magnum-base
1687 Maintainer: ?
1688 Scope: kernel
1689 Notes:
1690
1691