CVS commit: src/doc/roadmaps
Module Name:src Committed By: maya Date: Fri Jul 20 01:52:07 UTC 2018 Modified Files: src/doc/roadmaps: ports Log Message: throw in drmkms, mention riscv work by zmcgrew To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/doc/roadmaps/ports Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/ports diff -u src/doc/roadmaps/ports:1.7 src/doc/roadmaps/ports:1.8 --- src/doc/roadmaps/ports:1.7 Fri Jul 20 01:38:35 2018 +++ src/doc/roadmaps/ports Fri Jul 20 01:52:07 2018 @@ -1,4 +1,4 @@ -$NetBSD: ports,v 1.7 2018/07/20 01:38:35 maya Exp $ +$NetBSD: ports,v 1.8 2018/07/20 01:52:07 maya Exp $ NetBSD Ports Roadmap @@ -6,6 +6,11 @@ NetBSD Ports Roadmap This roadmap covers ports and port-specific issues, and also bus-level material even if it's not strictly port-specific. +The following elements, projects, and goals are considered strategic +priorities for the project: + + 0. DRMKMS update + The following elements, projects, and goals are not strategic priorities but are still important undertakings worth doing: @@ -22,12 +27,20 @@ is perhaps less than for other things: Explanations + 0. DRMKMS update + +The DRM drivers get old with time. The current drivers are from Linux 3.15, +having a newer version would be nice. + +- As of July 2018, maya is working on this. + 1. riscv and/or or1k ports We have some riscv code and a bit of or1k code, but neither is done. - - As of January 2017 nobody is known to be working on this. - - There is currently no clear timeframe or release target. + - As of July 2018, zmcgrew is working on riscv in a separate repository + https://github.com/zmcgrew/src/tree/riscv + Nobody is working on or1k. - Contact matt@ for further information.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: maya Date: Fri Jul 20 01:43:31 UTC 2018 Modified Files: src/doc/roadmaps: networking Log Message: phil is working on wifi, thanks phil! To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/doc/roadmaps/networking Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/networking diff -u src/doc/roadmaps/networking:1.13 src/doc/roadmaps/networking:1.14 --- src/doc/roadmaps/networking:1.13 Fri Jan 13 10:14:58 2017 +++ src/doc/roadmaps/networking Fri Jul 20 01:43:31 2018 @@ -1,4 +1,4 @@ -$NetBSD: networking,v 1.13 2017/01/13 10:14:58 dholland Exp $ +$NetBSD: networking,v 1.14 2018/07/20 01:43:31 maya Exp $ NetBSD Networking Roadmap = @@ -39,7 +39,7 @@ Status: committed, done Resync FreeBSD stack to get support for n, ac, VAP -Responsible: christos +Responsible: phil Status: started porting FreeBSD code Comment[christos]: This will add VAP support too, and needs changes to all the specific drivers.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: maya Date: Fri Jul 20 01:40:30 UTC 2018 Modified Files: src/doc/roadmaps: desktop Log Message: Nouveau is now in a release, hurray. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/doc/roadmaps/desktop Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/desktop diff -u src/doc/roadmaps/desktop:1.4 src/doc/roadmaps/desktop:1.5 --- src/doc/roadmaps/desktop:1.4 Sun Jan 22 19:47:00 2017 +++ src/doc/roadmaps/desktop Fri Jul 20 01:40:30 2018 @@ -1,4 +1,4 @@ -$NetBSD: desktop,v 1.4 2017/01/22 19:47:00 dholland Exp $ +$NetBSD: desktop,v 1.5 2018/07/20 01:40:30 maya Exp $ NetBSD Desktop Roadmap == @@ -51,7 +51,6 @@ into one of the following three broad ca The following elements, projects, and goals are relatively near-term: - 0. dmrkms for nvidia cards (will be in -8) 1. Don't ship twm as the default X window manager 2. Making removable media work using GNOME/KDE infrastructure 3. Making wireless config work using GNOME/KDE infrastructure @@ -81,15 +80,6 @@ Explanations - 0. drmkms for nvidia cards - -Until recently the nvidia drmkms driver (nouveau) was disabled by -default. This is no longer the case in -current and it is believed to -more or less work. This change will be in -8. It might also make it -into a future release of -7; it is not currently clear what would be -involved in that. - - 1. Don't ship twm as the default X window manager It's embarrassing that in 2016 we were still shipping twm as the
CVS commit: src/doc/roadmaps
Module Name:src Committed By: maya Date: Fri Jul 20 01:38:35 UTC 2018 Modified Files: src/doc/roadmaps: ports Log Message: Remove completed items. Go everyone! To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/doc/roadmaps/ports Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/ports diff -u src/doc/roadmaps/ports:1.6 src/doc/roadmaps/ports:1.7 --- src/doc/roadmaps/ports:1.6 Sat Oct 21 15:12:27 2017 +++ src/doc/roadmaps/ports Fri Jul 20 01:38:35 2018 @@ -1,4 +1,4 @@ -$NetBSD: ports,v 1.6 2017/10/21 15:12:27 maxv Exp $ +$NetBSD: ports,v 1.7 2018/07/20 01:38:35 maya Exp $ NetBSD Ports Roadmap @@ -6,18 +6,11 @@ NetBSD Ports Roadmap This roadmap covers ports and port-specific issues, and also bus-level material even if it's not strictly port-specific. -The following elements, projects, and goals are considered strategic -priorities for the project: - - 1. EFI boot for x86 - 2. xhci support (done and will be in -8) - 3. Get arm64/aarch64 working - The following elements, projects, and goals are not strategic priorities but are still important undertakings worth doing: - 4. riscv and/or or1k ports - 5. cheri port + 1. riscv and/or or1k ports + 2. cheri port The following elements, projects, and goals are perhaps less pressing; this doesn't mean one shouldn't work on them but the expected payoff @@ -29,33 +22,7 @@ is perhaps less than for other things: Explanations - - 1. EFI boot for x86 - -EFI boot is now often required for new x86 hardware. This is -effectively a mandatory item for -8. Fortunately, nonaka has most of -it done, though it's not yet committed. - - - As of January 2017 nobody is known to be working on this. - - There is currently no clear timeframe or release target. - - Contact agc for further information. - - - 2. xhci support - -xhci is also critical for new x86 hardware. skrll@ says this is done; -it will be -8. - - 3. Get arm64/aarch64 working - -We have some arm64 code but apparently it doesn't really work yet. - - - As of January 2017 nobody is known to be actively working on this. - - There is currently no clear timeframe or release target. - - Contact: ? (XXX) - - - 4. riscv and/or or1k ports + 1. riscv and/or or1k ports We have some riscv code and a bit of or1k code, but neither is done. @@ -64,7 +31,7 @@ We have some riscv code and a bit of or1 - Contact matt@ for further information. - 5. cheri port + 2. cheri port http://cheri-cpu.org There are a number of reasons to tackle this; it will serve as a code
CVS commit: src/doc/roadmaps/people
Module Name:src Committed By: kamil Date: Tue Jun 26 16:06:21 UTC 2018 Removed Files: src/doc/roadmaps/people: kamil Log Message: Remove roadmap/kamil -8 goals finished in the possible scope for 8.0RC2 -9 abandoned in that scope after research To generate a diff of this commit: cvs rdiff -u -r1.1 -r0 src/doc/roadmaps/people/kamil Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Thu Apr 12 19:12:25 UTC 2018 Modified Files: src/doc/roadmaps: storage Log Message: fix year for the tls-maxphys resync To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.25 src/doc/roadmaps/storage:1.26 --- src/doc/roadmaps/storage:1.25 Thu Apr 12 19:11:35 2018 +++ src/doc/roadmaps/storage Thu Apr 12 19:12:25 2018 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.25 2018/04/12 19:11:35 jdolecek Exp $ +$NetBSD: storage,v 1.26 2018/04/12 19:12:25 jdolecek Exp $ NetBSD Storage Roadmap == @@ -205,7 +205,7 @@ disk arrays and SSDs, but do not work wi The code is nearly done and just needs more testing and support in more drivers. - - On October 2018 jdolecek re-synced the branch, intention is to wrap + - On October 2017 jdolecek re-synced the branch, intention is to wrap this up for future netbsd-9 - Contact jdolecek or tls for further information.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Thu Apr 12 19:11:35 UTC 2018 Modified Files: src/doc/roadmaps: storage Log Message: update tls-maxphys To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.24 src/doc/roadmaps/storage:1.25 --- src/doc/roadmaps/storage:1.24 Thu Apr 12 19:08:02 2018 +++ src/doc/roadmaps/storage Thu Apr 12 19:11:35 2018 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.24 2018/04/12 19:08:02 jdolecek Exp $ +$NetBSD: storage,v 1.25 2018/04/12 19:11:35 jdolecek Exp $ NetBSD Storage Roadmap == @@ -205,9 +205,9 @@ disk arrays and SSDs, but do not work wi The code is nearly done and just needs more testing and support in more drivers. - - As of January 2017 nobody is known to be working on this. - - There is no clear timeframe or release target. - - Contact tls for further information. + - On October 2018 jdolecek re-synced the branch, intention is to wrap + this up for future netbsd-9 + - Contact jdolecek or tls for further information. 7. nvme suppport
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Thu Apr 12 19:08:02 UTC 2018 Modified Files: src/doc/roadmaps: storage Log Message: update the NVMe entry; perhaps time to consider good enough and remove from here? To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.23 src/doc/roadmaps/storage:1.24 --- src/doc/roadmaps/storage:1.23 Tue Oct 31 19:03:32 2017 +++ src/doc/roadmaps/storage Thu Apr 12 19:08:02 2018 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.23 2017/10/31 19:03:32 jdolecek Exp $ +$NetBSD: storage,v 1.24 2018/04/12 19:08:02 jdolecek Exp $ NetBSD Storage Roadmap == @@ -225,14 +225,10 @@ Semi-relatedly, it is also time for scsi - As of May 2016 a port of OpenBSD's driver has been commited. This will be in -8. - - The nvme driver is a backend to ld(4) which is MPSAFE, but we still - need to attend to I/O path bottlenecks. Better instrumentation - is needed. - - Flush cache commands via DIOCCACHESYNC currently doesn't wait for completion; - it must not poll since that corrupts command queue, but it should use - a condition variable to wait for the flush to actually finish - - There is no clear timeframe or release target for these points. - - Contact msaitoh or agc for further information. + - The nvme driver is a backend to ld(4) and is fully is MPSAFE, but we + still need to attend to I/O path bottlenecks like kern/53124. + Better instrumentation is needed. + - Contact msaitoh, agc, or jdolecek for further information. 8. lfs64
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Tue Oct 31 19:03:32 UTC 2017 Modified Files: src/doc/roadmaps: storage Log Message: bring the WAPBL entry more up-to-date and sound less desperate, there is not really much preventing it to be enabled by default for new installs again actually To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.22 src/doc/roadmaps/storage:1.23 --- src/doc/roadmaps/storage:1.22 Wed Apr 19 21:48:58 2017 +++ src/doc/roadmaps/storage Tue Oct 31 19:03:32 2017 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.22 2017/04/19 21:48:58 jdolecek Exp $ +$NetBSD: storage,v 1.23 2017/10/31 19:03:32 jdolecek Exp $ NetBSD Storage Roadmap == @@ -94,7 +94,8 @@ best option at this point is: disk early) has been examined by several people who know the code base and judged difficult. Also, some other problems have come to light more recently; e.g. PR 50725, and 45676. Still, it might be the best -way forward. +way forward. Some performance and stability issues were resolved +in netbsd-8, and more work is planned. + There is another journaling FFS; the Harvard one done by Margo Seltzer's group some years back. We have a copy of this, but as it was @@ -121,6 +122,13 @@ forward. Given the general manpower shor way is whatever looks best to someone who wants to work on the problem. + - There is no clear timeframe or release target; but given that WAPBL + has been disabled by default for new installs in -7 this problem + can reasonably be said to have become critical. + - jdolecek fixed some WAPBL stability issues, that work is included + in netbsd-8, could be possibly enough for making it default for new + installs again; there is kern/47030 which seems to be triggered by WAPBL + however - There has been some interest in the Harvard journaling FFS but no significant progress. Nobody is known to be working on or particularly interested in porting softupdates-with-journaling. And, while @@ -129,13 +137,8 @@ problem. realistic prospect of significant progress on that in the foreseeable future, and nobody else is known to have or be working on even that much. - - There is no clear timeframe or release target; but given that WAPBL - has been disabled by default for new installs in -7 this problem - can reasonably be said to have become critical. - - jdolecek is working on fixing WAPBL, goal is to get WAPBL fixed - enough to be safe to re-enable as default for -8 - - Contact joerg or martin regarding WAPBL; contact dholland regarding - the Harvard journaling FFS. + - Contact joerg, martin, or jdolecek regarding WAPBL; contact dholland + regarding the Harvard journaling FFS. 4. Getting zfs working for real
CVS commit: src/doc/roadmaps
Module Name:src Committed By: maxv Date: Sat Oct 21 15:12:28 UTC 2017 Modified Files: src/doc/roadmaps: ports Log Message: USER_LDT done. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/doc/roadmaps/ports Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/ports diff -u src/doc/roadmaps/ports:1.5 src/doc/roadmaps/ports:1.6 --- src/doc/roadmaps/ports:1.5 Sun Jan 22 19:29:38 2017 +++ src/doc/roadmaps/ports Sat Oct 21 15:12:27 2017 @@ -1,4 +1,4 @@ -$NetBSD: ports,v 1.5 2017/01/22 19:29:38 dholland Exp $ +$NetBSD: ports,v 1.6 2017/10/21 15:12:27 maxv Exp $ NetBSD Ports Roadmap @@ -16,9 +16,8 @@ priorities for the project: The following elements, projects, and goals are not strategic priorities but are still important undertakings worth doing: - 4. USER_LDT for amd64 - 5. riscv and/or or1k ports - 6. cheri port + 4. riscv and/or or1k ports + 5. cheri port The following elements, projects, and goals are perhaps less pressing; this doesn't mean one shouldn't work on them but the expected payoff @@ -56,19 +55,7 @@ We have some arm64 code but apparently i - Contact: ? (XXX) - 4. USER_LDT for amd64 - -The amd64 port is lacking the USER_LDT bits needed to be able to run -Wine. Adding these bits does not seem to be a particularly large job -(and some of the bits are in place already) but it persistently -doesn't get done. Money's been offered in the past, without result. - - - As of January 2017 nobody is known to be working on this. - - There is currently no clear timeframe or release target. - - Contact ? (XXX) for further information. - - - 5. riscv and/or or1k ports + 4. riscv and/or or1k ports We have some riscv code and a bit of or1k code, but neither is done. @@ -77,7 +64,7 @@ We have some riscv code and a bit of or1 - Contact matt@ for further information. - 6. cheri port + 5. cheri port http://cheri-cpu.org There are a number of reasons to tackle this; it will serve as a code
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Wed Apr 19 21:48:58 UTC 2017 Modified Files: src/doc/roadmaps: storage Log Message: ld(4) already improved to arbitrary ioctls, and nvme(4) updated to support both DIOCGCACHE and DIOCCACHESYNC To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.21 src/doc/roadmaps/storage:1.22 --- src/doc/roadmaps/storage:1.21 Fri Jan 13 10:14:58 2017 +++ src/doc/roadmaps/storage Wed Apr 19 21:48:58 2017 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.21 2017/01/13 10:14:58 dholland Exp $ +$NetBSD: storage,v 1.22 2017/04/19 21:48:58 jdolecek Exp $ NetBSD Storage Roadmap == @@ -228,11 +228,6 @@ Semi-relatedly, it is also time for scsi - Flush cache commands via DIOCCACHESYNC currently doesn't wait for completion; it must not poll since that corrupts command queue, but it should use a condition variable to wait for the flush to actually finish - - NVMe controllers supports write cache administration via GET/SET FEATURE, but - driver doesn't currently implement the cache ioctls, leading to somewhat - ugly dkctl(1) output; it would be fairly simple to add this, but would - require ld(4) attachment code changed to support passing arbitrary ioctls - to attachments - There is no clear timeframe or release target for these points. - Contact msaitoh or agc for further information.
CVS commit: src/doc/roadmaps/people
Module Name:src Committed By: kamil Date: Sat Jan 28 15:40:16 UTC 2017 Added Files: src/doc/roadmaps/people: kamil Log Message: Add personal TODO and research goals Things I want to finish for 8: - as much as possible from the LLDB, Swift, .NET and VirtualBox projects - more c11 in libc Things I want to research for 9: - turn system utilities into C libraries + add bindings for Lua - rebase Haiku stack on NetBSD + add Kit(s) accessing libsystem utilities To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/doc/roadmaps/people/kamil Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Added files: Index: src/doc/roadmaps/people/kamil diff -u /dev/null src/doc/roadmaps/people/kamil:1.1 --- /dev/null Sat Jan 28 15:40:16 2017 +++ src/doc/roadmaps/people/kamil Sat Jan 28 15:40:16 2017 @@ -0,0 +1,9 @@ +Things I want to finish for 8: + +- as much as possible from the LLDB, Swift, .NET and VirtualBox projects +- more c11 in libc + +Things I want to research for 9: + +- turn system utilities into C libraries + add bindings for Lua +- rebase Haiku stack on NetBSD + add Kit(s) for system utilities
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Sun Jan 22 19:47:00 UTC 2017 Modified Files: src/doc/roadmaps: desktop Log Message: Mention nvidia drmkms (will be in -8, people are arguing over -7) To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/doc/roadmaps/desktop Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/desktop diff -u src/doc/roadmaps/desktop:1.3 src/doc/roadmaps/desktop:1.4 --- src/doc/roadmaps/desktop:1.3 Fri Jan 13 10:44:27 2017 +++ src/doc/roadmaps/desktop Sun Jan 22 19:47:00 2017 @@ -1,4 +1,4 @@ -$NetBSD: desktop,v 1.3 2017/01/13 10:44:27 leot Exp $ +$NetBSD: desktop,v 1.4 2017/01/22 19:47:00 dholland Exp $ NetBSD Desktop Roadmap == @@ -51,6 +51,7 @@ into one of the following three broad ca The following elements, projects, and goals are relatively near-term: + 0. dmrkms for nvidia cards (will be in -8) 1. Don't ship twm as the default X window manager 2. Making removable media work using GNOME/KDE infrastructure 3. Making wireless config work using GNOME/KDE infrastructure @@ -80,6 +81,15 @@ Explanations + 0. drmkms for nvidia cards + +Until recently the nvidia drmkms driver (nouveau) was disabled by +default. This is no longer the case in -current and it is believed to +more or less work. This change will be in -8. It might also make it +into a future release of -7; it is not currently clear what would be +involved in that. + + 1. Don't ship twm as the default X window manager It's embarrassing that in 2016 we were still shipping twm as the
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Sun Jan 22 19:29:38 UTC 2017 Modified Files: src/doc/roadmaps: ports Log Message: Restore xhci support. It is not in a release yet. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/doc/roadmaps/ports Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/ports diff -u src/doc/roadmaps/ports:1.4 src/doc/roadmaps/ports:1.5 --- src/doc/roadmaps/ports:1.4 Wed Jan 18 18:39:56 2017 +++ src/doc/roadmaps/ports Sun Jan 22 19:29:38 2017 @@ -1,4 +1,4 @@ -NetBSD: ports,v 1.3 2017/01/18 18:22:13 dholland Exp $ +$NetBSD: ports,v 1.5 2017/01/22 19:29:38 dholland Exp $ NetBSD Ports Roadmap @@ -10,14 +10,15 @@ The following elements, projects, and go priorities for the project: 1. EFI boot for x86 - 2. Get arm64/aarch64 working + 2. xhci support (done and will be in -8) + 3. Get arm64/aarch64 working The following elements, projects, and goals are not strategic priorities but are still important undertakings worth doing: - 3. USER_LDT for amd64 - 4. riscv and/or or1k ports - 5. cheri port + 4. USER_LDT for amd64 + 5. riscv and/or or1k ports + 6. cheri port The following elements, projects, and goals are perhaps less pressing; this doesn't mean one shouldn't work on them but the expected payoff @@ -41,7 +42,12 @@ it done, though it's not yet committed. - Contact agc for further information. - 2. Get arm64/aarch64 working + 2. xhci support + +xhci is also critical for new x86 hardware. skrll@ says this is done; +it will be -8. + + 3. Get arm64/aarch64 working We have some arm64 code but apparently it doesn't really work yet. @@ -50,7 +56,7 @@ We have some arm64 code but apparently i - Contact: ? (XXX) - 3. USER_LDT for amd64 + 4. USER_LDT for amd64 The amd64 port is lacking the USER_LDT bits needed to be able to run Wine. Adding these bits does not seem to be a particularly large job @@ -62,7 +68,7 @@ doesn't get done. Money's been offered i - Contact ? (XXX) for further information. - 4. riscv and/or or1k ports + 5. riscv and/or or1k ports We have some riscv code and a bit of or1k code, but neither is done. @@ -71,7 +77,7 @@ We have some riscv code and a bit of or1 - Contact matt@ for further information. - 5. cheri port + 6. cheri port http://cheri-cpu.org There are a number of reasons to tackle this; it will serve as a code
CVS commit: src/doc/roadmaps
Module Name:src Committed By: skrll Date: Wed Jan 18 18:39:56 UTC 2017 Modified Files: src/doc/roadmaps: ports Log Message: Remove xhci... It exists. It works (ymmv). It can be improved, but it doesn't needed an entry here. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/doc/roadmaps/ports Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/ports diff -u src/doc/roadmaps/ports:1.3 src/doc/roadmaps/ports:1.4 --- src/doc/roadmaps/ports:1.3 Wed Jan 18 18:22:13 2017 +++ src/doc/roadmaps/ports Wed Jan 18 18:39:56 2017 @@ -1,4 +1,4 @@ -$NetBSD: ports,v 1.3 2017/01/18 18:22:13 dholland Exp $ +NetBSD: ports,v 1.3 2017/01/18 18:22:13 dholland Exp $ NetBSD Ports Roadmap @@ -10,15 +10,14 @@ The following elements, projects, and go priorities for the project: 1. EFI boot for x86 - 2. xhci support - 3. Get arm64/aarch64 working + 2. Get arm64/aarch64 working The following elements, projects, and goals are not strategic priorities but are still important undertakings worth doing: - 4. USER_LDT for amd64 - 5. riscv and/or or1k ports - 6. cheri port + 3. USER_LDT for amd64 + 4. riscv and/or or1k ports + 5. cheri port The following elements, projects, and goals are perhaps less pressing; this doesn't mean one shouldn't work on them but the expected payoff @@ -42,18 +41,7 @@ it done, though it's not yet committed. - Contact agc for further information. - 2. xhci support - -xhci is also critical for new x86 hardware. Enough has been committed -to be able to use USB on xhci machines; but (AIUI) the USB 3.0 -specific features mostly aren't implemented yet. We would like to get -this pulled into -7 - - - As of January 2017 ... who is working on this? XXX - - Contact jakllsch (?) for further information. - - - 3. Get arm64/aarch64 working + 2. Get arm64/aarch64 working We have some arm64 code but apparently it doesn't really work yet. @@ -62,7 +50,7 @@ We have some arm64 code but apparently i - Contact: ? (XXX) - 4. USER_LDT for amd64 + 3. USER_LDT for amd64 The amd64 port is lacking the USER_LDT bits needed to be able to run Wine. Adding these bits does not seem to be a particularly large job @@ -74,7 +62,7 @@ doesn't get done. Money's been offered i - Contact ? (XXX) for further information. - 5. riscv and/or or1k ports + 4. riscv and/or or1k ports We have some riscv code and a bit of or1k code, but neither is done. @@ -83,7 +71,7 @@ We have some riscv code and a bit of or1 - Contact matt@ for further information. - 6. cheri port + 5. cheri port http://cheri-cpu.org There are a number of reasons to tackle this; it will serve as a code
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Wed Jan 18 18:22:13 UTC 2017 Modified Files: src/doc/roadmaps: ports Log Message: Withdraw the 36-bit port item. While there's always interest in it when the idea comes up on the list, there's also a feeling that quixotic and/or crazy projects shouldn't be on roadmaps. Which seems reasonable. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/doc/roadmaps/ports Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/ports diff -u src/doc/roadmaps/ports:1.2 src/doc/roadmaps/ports:1.3 --- src/doc/roadmaps/ports:1.2 Fri Jan 13 13:40:44 2017 +++ src/doc/roadmaps/ports Wed Jan 18 18:22:13 2017 @@ -1,4 +1,4 @@ -$NetBSD: ports,v 1.2 2017/01/13 13:40:44 reinoud Exp $ +$NetBSD: ports,v 1.3 2017/01/18 18:22:13 dholland Exp $ NetBSD Ports Roadmap @@ -24,7 +24,7 @@ The following elements, projects, and go this doesn't mean one shouldn't work on them but the expected payoff is perhaps less than for other things: - 7. pdp10/risc36/odd-bitsize ports + [none presently] Explanations @@ -88,19 +88,3 @@ We have some riscv code and a bit of or1 http://cheri-cpu.org There are a number of reasons to tackle this; it will serve as a code quality lever. Also there's already a FreeBSD port to steal from. - - - 7. pdp10/risc36/odd-bitsize ports - -There's been a fair amount of loose talk over the years about doing a -port to a machine that's got 9-bit bytes, or is word-addressed, or -both. The PDP-10 is one such target; it's also been observed that a -more modern architecture would probably be more likely to allow a -vaguely performant FPGA implementation, and something tentatively -called "risc36" was conceived. - -This is both a quixotic retrocomputing project and also a quixotic -code quality project: making the NetBSD code base work on either -word-addressed machines or 9-bit/36-bit machines or both would be good -for it. However, it's also a rather large undertaking. -
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Sat Jan 14 20:50:15 UTC 2017 Modified Files: src/doc/roadmaps: mess Log Message: note that the first step on the buffercache is to disentangle the buffer cache and the buffer I/O path. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/doc/roadmaps/mess Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/mess diff -u src/doc/roadmaps/mess:1.1 src/doc/roadmaps/mess:1.2 --- src/doc/roadmaps/mess:1.1 Fri Jan 13 10:14:58 2017 +++ src/doc/roadmaps/mess Sat Jan 14 20:50:15 2017 @@ -1,4 +1,4 @@ -$NetBSD: mess,v 1.1 2017/01/13 10:14:58 dholland Exp $ +$NetBSD: mess,v 1.2 2017/01/14 20:50:15 dholland Exp $ NetBSD Messes and Tentacular Horrors Roadmap @@ -77,6 +77,10 @@ naming and terminology (things like BO_D reflects non-current assumptions about the way file system buffers should work. +The first step on this is to disentangle the buffer cache +(buffercache(9)) from the buffer I/O path (bufferio(9)) -- right now +they both abusively share the same struct buf. + - As of January 2017 nobody is currently working on this. - There is currently no clear timeframe or release target. - Contact dholland for further information.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: reinoud Date: Fri Jan 13 13:40:44 UTC 2017 Modified Files: src/doc/roadmaps: ports Log Message: The Cheri https:// link is not valid, replace by standard http:// To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/doc/roadmaps/ports Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/ports diff -u src/doc/roadmaps/ports:1.1 src/doc/roadmaps/ports:1.2 --- src/doc/roadmaps/ports:1.1 Fri Jan 13 10:14:58 2017 +++ src/doc/roadmaps/ports Fri Jan 13 13:40:44 2017 @@ -1,4 +1,4 @@ -$NetBSD: ports,v 1.1 2017/01/13 10:14:58 dholland Exp $ +$NetBSD: ports,v 1.2 2017/01/13 13:40:44 reinoud Exp $ NetBSD Ports Roadmap @@ -85,7 +85,7 @@ We have some riscv code and a bit of or1 6. cheri port -https://cheri-cpu.org +http://cheri-cpu.org There are a number of reasons to tackle this; it will serve as a code quality lever. Also there's already a FreeBSD port to steal from.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: leot Date: Fri Jan 13 10:44:27 UTC 2017 Modified Files: src/doc/roadmaps: desktop Log Message: Fix a typo To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/doc/roadmaps/desktop Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/desktop diff -u src/doc/roadmaps/desktop:1.2 src/doc/roadmaps/desktop:1.3 --- src/doc/roadmaps/desktop:1.2 Fri Jan 13 10:41:16 2017 +++ src/doc/roadmaps/desktop Fri Jan 13 10:44:27 2017 @@ -1,4 +1,4 @@ -$NetBSD: desktop,v 1.2 2017/01/13 10:41:16 leot Exp $ +$NetBSD: desktop,v 1.3 2017/01/13 10:44:27 leot Exp $ NetBSD Desktop Roadmap == @@ -277,7 +277,7 @@ all that much different either) are base number of properties that are not consistent with the Unix philosophy or design model. -First, Unix is about files, and like or or not, files in Unix are +First, Unix is about files, and like it or not, files in Unix are organized in a hierarchical namespace. The Windows-like desktops, like Windows, provide a file manager as an afterthought and the desktop workspace itself has no notion of current directory, no notion of
CVS commit: src/doc/roadmaps
Module Name:src Committed By: leot Date: Fri Jan 13 10:41:16 UTC 2017 Modified Files: src/doc/roadmaps: desktop Log Message: Fix a typo in a year (s/2007/2017/) To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/doc/roadmaps/desktop Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/desktop diff -u src/doc/roadmaps/desktop:1.1 src/doc/roadmaps/desktop:1.2 --- src/doc/roadmaps/desktop:1.1 Fri Jan 13 10:17:18 2017 +++ src/doc/roadmaps/desktop Fri Jan 13 10:41:16 2017 @@ -1,4 +1,4 @@ -$NetBSD: desktop,v 1.1 2017/01/13 10:17:18 dholland Exp $ +$NetBSD: desktop,v 1.2 2017/01/13 10:41:16 leot Exp $ NetBSD Desktop Roadmap == @@ -85,7 +85,7 @@ Explanations It's embarrassing that in 2016 we were still shipping twm as the default window system config. Heck, it was embarrassing in 2006. The work needed to move to ctwm has been largely done (by youri) and at -least some of it committed, but this still (as of January 2007) isn't +least some of it committed, but this still (as of January 2017) isn't enabled by default. - As of January 2017 nobody is actively working on this.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Fri Jan 13 10:17:18 UTC 2017 Added Files: src/doc/roadmaps: desktop Log Message: Update roadmaps, unilaterally, because most of these hadn't been touched since the pre-6.0 period and nobody else has been doing the work. There's a lot of things whose current state I don't know; please fill in. Also the stuff I've added is necessarily biased towards projects I think about, so please add more. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/doc/roadmaps/desktop Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Added files: Index: src/doc/roadmaps/desktop diff -u /dev/null src/doc/roadmaps/desktop:1.1 --- /dev/null Fri Jan 13 10:17:18 2017 +++ src/doc/roadmaps/desktop Fri Jan 13 10:17:18 2017 @@ -0,0 +1,336 @@ +$NetBSD: desktop,v 1.1 2017/01/13 10:17:18 dholland Exp $ + +NetBSD Desktop Roadmap +== + +This roadmap deals with desktop support. Note that "desktop support" +means several quite different things: + - issues pertaining to running the Windows-like Linux desktops + (e.g. GNOME, KDE, Mate, Trinity, as well as other similar things + like LXDE) on NetBSD in more or less their current form; + - issues pertaining to running these systems with NetBSD + infrastructure, for better system integration and to avoid + depending on unpopular packages like dbus and policykit; + - issues specific to developer-oriented desktops; + - other issues pertaining to using a NetBSD machine as one's desktop + login system, regardless of the UI; + - issues pertaining to running or developing a more Unix-oriented + desktop environment, which is kind of blue-sky for the time being. + +Also, "desktop support" and "laptop support" are closely related in +the sense that in the conventional wisdom laptops run more or less the +same user-facing software as desktops. Additional specifically laptop- +related issues, such as power management, are discussed in the +"mobile" roadmap (q.v.). + +Furthermore, many of the above issues can be ~orthogonally divided +into one of the following three broad categories: + + a. Providing new infrastructure for supporting facilities whose + needs are reasonably well understood but are not traditionally + handled by Unix and/or are not currently handled by NetBSD, or + where traditional/existing support is chronically defective. + Examples include font management, printing, mounting removable + media, and also things like support for location services. + + b. Providing new infrastructure for supporting facilities whose + needs are not in fact well understood. This tends to cover the + domains where we don't like the GNOME/KDE/Linux tools, like + dbus, as well as things that existing desktop environments fall + down on entirely, like integrating with large home directory + trees. + + c. Refactoring existing infrastructure (whether NetBSD-specific or + historical Unix) to integrate new facilities and software models + smoothly instead of bolting layers of crud on top of outdated + structure. Examples include revisiting the assumption that + logins happen on teletypes, and facing the need to restrict the + access of large applications rather than giving them all the + privileges of the user starting them. + + +The following elements, projects, and goals are relatively near-term: + + 1. Don't ship twm as the default X window manager + 2. Making removable media work using GNOME/KDE infrastructure + 3. Making wireless config work using GNOME/KDE infrastructure + 4. Sane font handling + 5. Get Eclipse running properly from pkgsrc + 6. Better printer management + 7. Work out a long-term plan for compositing, Wayland, and graphics +architecture issues + +The following elements, projects, and goals are longer-term: + + 8. Publish/subscribe sockets or IPC + 9. Better native RPC library and tools + 10. Native removable media handling + 11. Native wireless config + 12. User switching and secure attention key + 13. wscons graphics + +The following elements, projects, and goals are rather blue-sky so far: + + 14. Something akin to ARexx + 15. A more Unix-oriented root window/desktop basis + 16. Full console virtualization + + +Explanations + + + + 1. Don't ship twm as the default X window manager + +It's embarrassing that in 2016 we were still shipping twm as the +default window system config. Heck, it was embarrassing in 2006. The +work needed to move to ctwm has been largely done (by youri) and at +least some of it committed, but this still (as of January 2007) isn't +enabled by default. + + - As of January 2017 nobody is actively working on this. + - It would be silly at this point to release 8.0 without it, so +ideally someone will step up to get it finished and enabled. + - Contact: XXX please fill in + +
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Fri Jan 13 10:14:59 UTC 2017 Modified Files: src/doc/roadmaps: networking storage system Added Files: src/doc/roadmaps: mess mobile ports security verification Log Message: Update roadmaps, unilaterally, because most of these hadn't been touched since the pre-6.0 period and nobody else has been doing the work. There's a lot of things whose current state I don't know; please fill in. Also the stuff I've added is necessarily biased towards projects I think about, so please add more. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/doc/roadmaps/mess src/doc/roadmaps/mobile \ src/doc/roadmaps/ports src/doc/roadmaps/security \ src/doc/roadmaps/verification cvs rdiff -u -r1.12 -r1.13 src/doc/roadmaps/networking \ src/doc/roadmaps/system cvs rdiff -u -r1.20 -r1.21 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/networking diff -u src/doc/roadmaps/networking:1.12 src/doc/roadmaps/networking:1.13 --- src/doc/roadmaps/networking:1.12 Tue Dec 13 09:51:34 2016 +++ src/doc/roadmaps/networking Fri Jan 13 10:14:58 2017 @@ -1,4 +1,4 @@ -$NetBSD: networking,v 1.12 2016/12/13 09:51:34 rjs Exp $ +$NetBSD: networking,v 1.13 2017/01/13 10:14:58 dholland Exp $ NetBSD Networking Roadmap = @@ -19,6 +19,7 @@ The following features are expected to b 7. netboot from http 8. MP network stack (Layer 3 and below) 9. MP network stack (rest) +10. Infiniband We'll continue to update this roadmap as features and dates get firmed up. @@ -116,6 +117,13 @@ Make multi-threaded network stack. Get t Responsible: TBD Status: not started +10. Infiniband +-- + +We do not really have Infiniband support. We should; since it still +hasn't quite died, it probably isn't going to. + + Matt Thomas Alistair Crooks Sat Jan 14 11:44:46 PST 2012 @@ -123,3 +131,5 @@ Christos Zoulas Tue May 17 16:46:54 EDT 2016 Ryota Ozaki Wed May 18 18:07:43 JST 2016 +dholland +Fri Jan 13 00:53:46 EST 2017 Index: src/doc/roadmaps/system diff -u src/doc/roadmaps/system:1.12 src/doc/roadmaps/system:1.13 --- src/doc/roadmaps/system:1.12 Fri Jan 13 05:45:46 2017 +++ src/doc/roadmaps/system Fri Jan 13 10:14:58 2017 @@ -1,21 +1,29 @@ -$NetBSD: system,v 1.12 2017/01/13 05:45:46 dholland Exp $ +$NetBSD: system,v 1.13 2017/01/13 10:14:58 dholland Exp $ NetBSD System Roadmap = -This is a small roadmap document, and deals with the main system -aspects of the operating system. +This is a roadmap document dealing deals with core system aspects of +the operating system. -The following elements, projects, and goals will appear in NetBSD 8.0: +The following elements, projects, and goals are considered strategic +priorities for the project: -The following projects may make it into future releases: -3. Full kernel preemption for real-time threads +1. Tickless timing and scheduling (discussed in the mobile roadmap) +2. Long-term graphics architecture (discussed in the desktop roadmap) +8. Processor and cache topology aware scheduler + +The following elements, projects, and goals are not strategic +priorities but are still important undertakings worth doing: + +3. Full kernel preemption for real-time threads on non-x86 4. POSIX shared memory 6. Better resource controls 7. Improved observability: online crashdumps, remote debugging -8. Processor and cache topology aware scheduler -We'll continue to update this roadmap as features and dates get firmed up. +The following elements, projects, and goals are perhaps less pressing; +this doesn't mean one shouldn't work on them but the expected payoff +is perhaps less than for other things: Some explanations @@ -45,6 +53,8 @@ there were some concerns with the kernel different approach using wrapper functions on tmpfs is being aimed at for 6.0. +XXX: what's the current state? + Responsible: rmind Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.20 src/doc/roadmaps/storage:1.21 --- src/doc/roadmaps/storage:1.20 Thu Nov 10 21:28:15 2016 +++ src/doc/roadmaps/storage Fri Jan 13 10:14:58 2017 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.20 2016/11/10 21:28:15 jdolecek Exp $ +$NetBSD: storage,v 1.21 2017/01/13 10:14:58 dholland Exp $ NetBSD Storage Roadmap == @@ -52,7 +52,7 @@ is where it's at for remote block device be no compelling reason to move the target to the kernel or otherwise make major architectural changes. - - As of November 2015 nobody is known to be working on this. + - As of January 2017 nobody is known to be working on this. - There is currently no clear timeframe or release target. - Contact agc for further information. @@ -71,8 +71,9 @@ only step that has been taken is to impo next step is to update that import (since it was done a while ago now) and then wor
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Fri Jan 13 05:45:46 UTC 2017 Modified Files: src/doc/roadmaps: system Log Message: Remove items that were in -6. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/doc/roadmaps/system Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/system diff -u src/doc/roadmaps/system:1.11 src/doc/roadmaps/system:1.12 --- src/doc/roadmaps/system:1.11 Sun Jan 15 06:53:23 2012 +++ src/doc/roadmaps/system Fri Jan 13 05:45:46 2017 @@ -1,4 +1,4 @@ -$NetBSD: system,v 1.11 2012/01/15 06:53:23 dholland Exp $ +$NetBSD: system,v 1.12 2017/01/13 05:45:46 dholland Exp $ NetBSD System Roadmap = @@ -6,13 +6,7 @@ NetBSD System Roadmap This is a small roadmap document, and deals with the main system aspects of the operating system. -The following projects will appear in NetBSD 6.0: -1. 64-bit time values supported -2. Better Kernel Modules support -5. namei() tactical changes -9. namei() strategic changes -10. emap (ephemeral mapping) support for i386 and amd64 -11. support for mDNSResponder +The following elements, projects, and goals will appear in NetBSD 8.0: The following projects may make it into future releases: 3. Full kernel preemption for real-time threads @@ -27,32 +21,6 @@ We'll continue to update this roadmap as Some explanations = -1. 64-bit time_t support -- - -The Unix 32-bit time_t value will overflow in 2037 - any mortgage calculations -which use a time_t value are in danger of overflowing at the present time - -and to address this, 64-bit time_t values will be used to contain the number -of seconds since 1970. This was completed in 5.99.7 by Christos (with no libc -major bump - kudos and respect), and will be in 6.0. - -Responsible: christos - - -2. Better Kernel Module Support - -Starting with 5.99.2, the kernel support for modules was enhanced by -ad, and GENERIC was switched over to be a MODULAR kernel. Support -from booting from modules, like ffs, was introduced at the same time. -Some work has been done by Luke Mewburn in this area to define module -locations and paths so that effective kernel development can be done -using modules. Kernel modules have been moved out of base.tgz and a new -modules.tgz has been created. - -Responsible: ad, lukem - - 3. Full kernel preemption for real-time threads on non-x86 -- @@ -80,17 +48,6 @@ for 6.0. Responsible: rmind -5. Incremental namei improvements, Phase 1 --- - -In NetBSD 5.99.15, some changes were made to split the namei() routine -up into logical parts, so that changes can be made to the constituent -parts in a less intrusive way. This is in the repository now, and will -be in 6.0. - -Responsible: dholland - - 6. Better resource controls --- @@ -122,33 +79,5 @@ improvement. We will continue to monitor Responsible: rmind -9. Incremental namei improvements, Phase 2 --- - -Building on the namei() split which was introduced in 5.99.15 (see (5) -above), further changes will be introduced: see the changes to namei -outlined in Message-ID: <20080319053709.gb3...@netbsd.org> for more -information. This will simplify the locking and behavior of namei() -calls within the kernel to resolve path names within file systems. - -Responsible: dholland - - -10. Ephemeral Mapping -- - -Responsible: rmind - - -11. Multicast DNS and DNS Service Discovery - -mDNSResponder (also known as mdnsd on some systems) is a daemon invoked -at boot time to implement Multicast DNS and DNS Service Discovery. On Mac -OS X 10.6 (Snow Leopard), mDNSResponder is also the system-wide Unicast -DNS Resolver. Ty Sarna added support for mdnsd to NetBSD-current, and it -will appear in NetBSD 6.0. - - Alistair Crooks Sat Jan 14 11:40:49 PST 2012
CVS commit: src/doc/roadmaps
Module Name:src Committed By: rjs Date: Tue Dec 13 09:51:34 UTC 2016 Modified Files: src/doc/roadmaps: networking Log Message: Add a bit for Mobile IPv6. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/doc/roadmaps/networking Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/networking diff -u src/doc/roadmaps/networking:1.11 src/doc/roadmaps/networking:1.12 --- src/doc/roadmaps/networking:1.11 Wed May 18 09:12:04 2016 +++ src/doc/roadmaps/networking Tue Dec 13 09:51:34 2016 @@ -1,4 +1,4 @@ -$NetBSD: networking,v 1.11 2016/05/18 09:12:04 ozaki-r Exp $ +$NetBSD: networking,v 1.12 2016/12/13 09:51:34 rjs Exp $ NetBSD Networking Roadmap = @@ -46,8 +46,8 @@ the specific drivers. 2. Mobile IPv6 -- -Responsible: TBD -Status: not started +Responsible: rjs +Status: compiles, not debugged yet. Comment[christos]: XXX: Fill in the project description and justification. 3. network driver polling
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Thu Nov 10 21:28:15 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: update the wapbl entry - kern/47146 and kern/49175 are fixed To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.19 src/doc/roadmaps/storage:1.20 --- src/doc/roadmaps/storage:1.19 Fri Oct 28 20:30:37 2016 +++ src/doc/roadmaps/storage Thu Nov 10 21:28:15 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.19 2016/10/28 20:30:37 jdolecek Exp $ +$NetBSD: storage,v 1.20 2016/11/10 21:28:15 jdolecek Exp $ NetBSD Storage Roadmap == @@ -92,9 +92,8 @@ best option at this point is: + Fixing WAPBL (e.g. to flush newly allocated/newly written blocks to disk early) has been examined by several people who know the code base and judged difficult. Also, some other problems have come to light -more recently; e.g. PR 50725, PR 47146, and a problem where truncating -large sparse files takes ~forever in PR 49175. Also see PR 45676. Still, -it might be the best way forward. +more recently; e.g. PR 50725, and 45676. Still, it might be the best +way forward. + There is another journaling FFS; the Harvard one done by Margo Seltzer's group some years back. We have a copy of this, but as it was
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Fri Oct 28 20:30:37 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: adjust the nvme entry; the flush cache is now asynchronous, and be more specific for the get/set cache entry too To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.18 src/doc/roadmaps/storage:1.19 --- src/doc/roadmaps/storage:1.18 Wed Sep 21 20:32:47 2016 +++ src/doc/roadmaps/storage Fri Oct 28 20:30:37 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.18 2016/09/21 20:32:47 jdolecek Exp $ +$NetBSD: storage,v 1.19 2016/10/28 20:30:37 jdolecek Exp $ NetBSD Storage Roadmap == @@ -225,14 +225,14 @@ Semi-relatedly, it is also time for scsi - The nvme driver is a backend to ld(4) which is MPSAFE, but we still need to attend to I/O path bottlenecks. Better instrumentation is needed. - - Flush cache commands via DIOCCACHESYNC is currently implemented using polled - commands for simplicity, limiting speed to about 10 milliseconds due to use - of delay(9); investigate if it's worth changing this to a cv to avoid - the delay, especially for journalled/heavy fsync scenarios + - Flush cache commands via DIOCCACHESYNC currently doesn't wait for completion; + it must not poll since that corrupts command queue, but it should use + a condition variable to wait for the flush to actually finish - NVMe controllers supports write cache administration via GET/SET FEATURE, but driver doesn't currently implement the cache ioctls, leading to somewhat ugly dkctl(1) output; it would be fairly simple to add this, but would - require small changes to ld(4) attachment code + require ld(4) attachment code changed to support passing arbitrary ioctls + to attachments - There is no clear timeframe or release target for these points. - Contact msaitoh or agc for further information.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Wed Sep 21 20:32:47 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: update nvme entry to current reality To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.17 src/doc/roadmaps/storage:1.18 --- src/doc/roadmaps/storage:1.17 Fri Sep 16 15:02:23 2016 +++ src/doc/roadmaps/storage Wed Sep 21 20:32:47 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.17 2016/09/16 15:02:23 jdolecek Exp $ +$NetBSD: storage,v 1.18 2016/09/21 20:32:47 jdolecek Exp $ NetBSD Storage Roadmap == @@ -211,13 +211,12 @@ more drivers. nvme ("NVM Express") is a hardware interface standard for PCI-attached -SSDs. NetBSD now has a driver for these; however, it was ported from -OpenBSD and is not (yet) MPSAFE. This is, unfortunately, a fairly -serious limitation given the point and nature of nvme devices. - -Relatedly, the I/O path needs to be restructured to avoid software -bottlenecks on the way to an nvme device: they are fast enough that -things like disksort() do not make sense. +SSDs. NetBSD now has a driver for these. + +Driver is now MPSAFE and uses bufq fcfs (i.e. no disksort()) already, +so the most obvious software bottlenecks were treated. It still needs +more testing on real hardware, and it may be good to investigate some further +optimizations, such as DragonFly pbuf(9) or something similar. Semi-relatedly, it is also time for scsipi to become MPSAFE. @@ -226,6 +225,14 @@ Semi-relatedly, it is also time for scsi - The nvme driver is a backend to ld(4) which is MPSAFE, but we still need to attend to I/O path bottlenecks. Better instrumentation is needed. + - Flush cache commands via DIOCCACHESYNC is currently implemented using polled + commands for simplicity, limiting speed to about 10 milliseconds due to use + of delay(9); investigate if it's worth changing this to a cv to avoid + the delay, especially for journalled/heavy fsync scenarios + - NVMe controllers supports write cache administration via GET/SET FEATURE, but + driver doesn't currently implement the cache ioctls, leading to somewhat + ugly dkctl(1) output; it would be fairly simple to add this, but would + require small changes to ld(4) attachment code - There is no clear timeframe or release target for these points. - Contact msaitoh or agc for further information.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Fri Sep 16 15:02:23 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: volunteer for the ext3/ext4 also To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.16 src/doc/roadmaps/storage:1.17 --- src/doc/roadmaps/storage:1.16 Fri Sep 16 14:55:28 2016 +++ src/doc/roadmaps/storage Fri Sep 16 15:02:23 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.16 2016/09/16 14:55:28 jdolecek Exp $ +$NetBSD: storage,v 1.17 2016/09/16 15:02:23 jdolecek Exp $ NetBSD Storage Roadmap == @@ -320,10 +320,15 @@ or less work than doing an implementatio Note however that implementing ext3 has already defeated several people; this is a harder project than it looks. - - As of May 2016 there is a GSoC project to implement read-only ext4 - support, but (it not being summer yet) no particular progress. + - GSoc 2016 brought support for extents, and also ro support for dir + hashes; jdolecek also implemented several frequently used ext4 features + so most contemporary ext filesystems should be possible to mount + read-write + - still need rw dir_nhash and xattr (semi-easy), and eventually journalling + (hard) - There is no clear timeframe or release target. - - Contact ?? for further information. + - jdolecek is working on improving ext3/ext4 support (particularily + journalling) 14. Port hammer from Dragonfly
CVS commit: src/doc/roadmaps
Module Name:src Committed By: jdolecek Date: Fri Sep 16 14:55:29 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: I'm working on WAPBL fixes, adjust the entry To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.15 src/doc/roadmaps/storage:1.16 --- src/doc/roadmaps/storage:1.15 Tue May 17 21:03:36 2016 +++ src/doc/roadmaps/storage Fri Sep 16 14:55:28 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.15 2016/05/17 21:03:36 christos Exp $ +$NetBSD: storage,v 1.16 2016/09/16 14:55:28 jdolecek Exp $ NetBSD Storage Roadmap == @@ -93,8 +93,8 @@ best option at this point is: disk early) has been examined by several people who know the code base and judged difficult. Also, some other problems have come to light more recently; e.g. PR 50725, PR 47146, and a problem where truncating -large sparse files takes ~forever. Also see PR 45676. Still, it might -be the best way forward. +large sparse files takes ~forever in PR 49175. Also see PR 45676. Still, +it might be the best way forward. + There is another journaling FFS; the Harvard one done by Margo Seltzer's group some years back. We have a copy of this, but as it was @@ -121,9 +121,8 @@ forward. Given the general manpower shor way is whatever looks best to someone who wants to work on the problem. - - As of November 2015 nobody is working on fixing WAPBL. There has - been some interest in the Harvard journaling FFS but no significant - progress. Nobody is known to be working on or particularly + - There has been some interest in the Harvard journaling FFS but no + significant progress. Nobody is known to be working on or particularly interested in porting softupdates-with-journaling. And, while dholland has been mumbling for some time about a plan for a specific new file system to solve this problem, there isn't any @@ -133,6 +132,8 @@ problem. - There is no clear timeframe or release target; but given that WAPBL has been disabled by default for new installs in -7 this problem can reasonably be said to have become critical. + - jdolecek is working on fixing WAPBL, goal is to get WAPBL fixed + enough to be safe to re-enable as default for -8 - Contact joerg or martin regarding WAPBL; contact dholland regarding the Harvard journaling FFS.
CVS commit: src/doc/roadmaps/people
Module Name:src Committed By: christos Date: Wed May 18 15:27:17 UTC 2016 Added Files: src/doc/roadmaps/people: christos Log Message: Add my list of things to do for 8. To be expanded. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/doc/roadmaps/people/christos Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Added files: Index: src/doc/roadmaps/people/christos diff -u /dev/null src/doc/roadmaps/people/christos:1.1 --- /dev/null Wed May 18 11:27:17 2016 +++ src/doc/roadmaps/people/christos Wed May 18 11:27:17 2016 @@ -0,0 +1,6 @@ +Things I want to finish for 8: + +- import new file(1) +- get more ports to gcc-5.3/binutils-2.29 +- turn on ASLR/MPROTECT/SEGVGUARD on more ports +- debug issue with virtio/network getting stuffed
CVS commit: src/doc/roadmaps
Module Name:src Committed By: ozaki-r Date: Wed May 18 09:12:04 UTC 2016 Modified Files: src/doc/roadmaps: networking Log Message: Split "MP network stack" into two and make our targets clear To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/doc/roadmaps/networking Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/networking diff -u src/doc/roadmaps/networking:1.10 src/doc/roadmaps/networking:1.11 --- src/doc/roadmaps/networking:1.10 Tue May 17 20:53:53 2016 +++ src/doc/roadmaps/networking Wed May 18 09:12:04 2016 @@ -1,4 +1,4 @@ -$NetBSD: networking,v 1.10 2016/05/17 20:53:53 christos Exp $ +$NetBSD: networking,v 1.11 2016/05/18 09:12:04 ozaki-r Exp $ NetBSD Networking Roadmap = @@ -17,7 +17,8 @@ The following features are expected to b 5. integrated multicast dns / zeroconf 6. tcp support in libsa 7. netboot from http -8. MP network stack +8. MP network stack (Layer 3 and below) +9. MP network stack (rest) We'll continue to update this roadmap as features and dates get firmed up. @@ -97,16 +98,28 @@ Responsible: TBD Status: not started Comment[christos]: Not very interesting -8. net SMP work --- +8. net SMP work (Layer 3 and below) +--- -Make multi-threaded network stack +Make multi-threaded network stack. Targets are Layer 3 (IP forwarding), +Layer 2 (ARP, NDP, bridge, vlan and bpf) and some tunnel devices (gif, +ipsec and pppoe). Responsible: ozaki-r,knakahara Status: in progress +9. net SMP work (rest) +-- + +Make multi-threaded network stack. Get tasks other than the above targets down. + +Responsible: TBD +Status: not started + Matt Thomas Alistair Crooks Sat Jan 14 11:44:46 PST 2012 Christos Zoulas Tue May 17 16:46:54 EDT 2016 +Ryota Ozaki +Wed May 18 18:07:43 JST 2016
CVS commit: src/doc/roadmaps
Module Name:src Committed By: christos Date: Tue May 17 21:03:36 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: mention my last coda work To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.14 src/doc/roadmaps/storage:1.15 --- src/doc/roadmaps/storage:1.14 Sat May 14 17:32:50 2016 +++ src/doc/roadmaps/storage Tue May 17 17:03:36 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.14 2016/05/14 21:32:50 mlelstv Exp $ +$NetBSD: storage,v 1.15 2016/05/17 21:03:36 christos Exp $ NetBSD Storage Roadmap == @@ -31,12 +31,13 @@ priorities but are still important under 14. Port hammer from Dragonfly 15. afs maintenance 16. execute-in-place + 17. extended attributes for acl and capability storage The following elements, projects, and goals are perhaps less pressing; this doesn't mean one shouldn't work on them but the expected payoff is perhaps less than for other things: - 17. coda maintenance + 18. coda maintenance Explanations @@ -387,7 +388,17 @@ structurally and for performance analysi - Contact dholland for further information. -17. coda maintenance +17. use extended attributes for ACL and capability storage +-- + +Currently there is some support for extended attributes in ffs, +but nothing really uses it. I would be nice if we came up with +a standard format to store ACL's and capabilities like Linux has. +The various tools must be modified to understand this and be able +to copy them if requested. Also tools to manipulate the data will +need to be written. + +18. coda maintenance Coda only sort of works. [And I think it's behind relative to @@ -398,7 +409,8 @@ really be cleaned up. That or maybe it's - As of November 2015 nobody is known to be working on this. - There is no clear timeframe or release target. - There isn't anyone in particular to contact. - + - Circa 2012 christos made it work read-write and split it + into modules. Since then christos has not tested it. Alistair Crooks, David Holland Fri Nov 20 02:17:53 EST 2015
CVS commit: src/doc/roadmaps
Module Name:src Committed By: christos Date: Tue May 17 20:53:53 UTC 2016 Modified Files: src/doc/roadmaps: networking Log Message: reflect reality (through my ping glasses) To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/doc/roadmaps/networking Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/networking diff -u src/doc/roadmaps/networking:1.9 src/doc/roadmaps/networking:1.10 --- src/doc/roadmaps/networking:1.9 Sat Jan 14 21:56:17 2012 +++ src/doc/roadmaps/networking Tue May 17 16:53:53 2016 @@ -1,4 +1,4 @@ -$NetBSD: networking,v 1.9 2012/01/15 02:56:17 agc Exp $ +$NetBSD: networking,v 1.10 2016/05/17 20:53:53 christos Exp $ NetBSD Networking Roadmap = @@ -6,42 +6,65 @@ NetBSD Networking Roadmap This is a small roadmap document, and deals with the networking side of the operating system. -The following projects are expected to be included in NetBSD 6.0 -8. SMP-aware Network Packet Filter +The following projects are expected to be included in NetBSD 8.0 +0. SCTP The following features are expected to be in future releases: -1. Mobile IPv6 -2. SCTP +1. net80211 support [n/ac] +2. Mobile IPv6 3. network driver polling 4. ALTQ processing on input 5. integrated multicast dns / zeroconf 6. tcp support in libsa 7. netboot from http +8. MP network stack We'll continue to update this roadmap as features and dates get firmed up. - Some explanations = -2. SCTP +0. SCTP --- Add support for the SCTP for both IPv4 and IPv6. -Responsible: TBD +Responsible: rjs +Status: committed, done + +1. net80211 [n/ac] +-- + +Resync FreeBSD stack to get support for n, ac, VAP +Responsible: christos +Status: started porting FreeBSD code +Comment[christos]: This will add VAP support too, and needs changes to all +the specific drivers. + +2. Mobile IPv6 +-- + +Responsible: TBD +Status: not started +Comment[christos]: XXX: Fill in the project description and justification. 3. network driver polling - Responsible: matt +Status: not started +Comment[christos]: XXX: Fill in the project description and justification. 4. ALTQ processing for input Responsible: matt +Status: not started +Comment[christos]: The ALTQ code and interface is very messy and there +is a lot of code duplication. People (ozaki-r/knakahara) are working on +this as part as MP stack 5. multicast DNS / zeroconf @@ -50,6 +73,8 @@ Responsible: matt Add support for multicast DNS (name.local) Responsible: tsarna +Status: not started +Comment[christos]: XXX: Fill in the project description and justification. 6. tcp support in libsa @@ -58,6 +83,8 @@ Responsible: tsarna Add a tiny tcp implementation to libsa. Responsible: matt +Status: not started +Comment[christos]: XXX: Why? What's going to use it? 7. http netbooting @@ -67,18 +94,19 @@ Be able to use a HTTP server hosting a k read-only root device. Responsible: TBD +Status: not started +Comment[christos]: Not very interesting -8. SMP-aware Packet Filter --- - -A new packet filter which is SMP-aware has been written by rmind, as a -project funded by the NetBSD Foundation. zoltan has updated it for -IPv6, and various bits contributed by christos, dholland and martin. -This will be in 6.0 +8. net SMP work +-- -Responsible: rmind, zoltan, christos, dholland, martin +Make multi-threaded network stack +Responsible: ozaki-r,knakahara +Status: in progress Matt Thomas Alistair Crooks Sat Jan 14 11:44:46 PST 2012 +Christos Zoulas +Tue May 17 16:46:54 EDT 2016
CVS commit: src/doc/roadmaps
Module Name:src Committed By: mlelstv Date: Sat May 14 21:32:50 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: updated nvme entry To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.13 src/doc/roadmaps/storage:1.14 --- src/doc/roadmaps/storage:1.13 Thu May 5 06:17:45 2016 +++ src/doc/roadmaps/storage Sat May 14 21:32:50 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.13 2016/05/05 06:17:45 dholland Exp $ +$NetBSD: storage,v 1.14 2016/05/14 21:32:50 mlelstv Exp $ NetBSD Storage Roadmap == @@ -221,8 +221,9 @@ Semi-relatedly, it is also time for scsi - As of May 2016 a port of OpenBSD's driver has been commited. This will be in -8. - - However, the driver still needs to be made MPSAFE, and we still - need to attend to scsipi and various other I/O path bottlenecks. + - The nvme driver is a backend to ld(4) which is MPSAFE, but we still + need to attend to I/O path bottlenecks. Better instrumentation + is needed. - There is no clear timeframe or release target for these points. - Contact msaitoh or agc for further information.
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Thu May 5 06:17:45 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: mention some of the other known severe wapbl problems To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.12 src/doc/roadmaps/storage:1.13 --- src/doc/roadmaps/storage:1.12 Sun May 1 20:51:36 2016 +++ src/doc/roadmaps/storage Thu May 5 06:17:45 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.12 2016/05/01 20:51:36 dholland Exp $ +$NetBSD: storage,v 1.13 2016/05/05 06:17:45 dholland Exp $ NetBSD Storage Roadmap == @@ -90,7 +90,10 @@ best option at this point is: + Fixing WAPBL (e.g. to flush newly allocated/newly written blocks to disk early) has been examined by several people who know the code base -and judged difficult. Still, it might be the best way forward. +and judged difficult. Also, some other problems have come to light +more recently; e.g. PR 50725, PR 47146, and a problem where truncating +large sparse files takes ~forever. Also see PR 45676. Still, it might +be the best way forward. + There is another journaling FFS; the Harvard one done by Margo Seltzer's group some years back. We have a copy of this, but as it was
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Sun May 1 20:51:36 UTC 2016 Modified Files: src/doc/roadmaps: storage Log Message: Update: we got an nvme driver. Also mention the ext4 GSoC project. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.11 src/doc/roadmaps/storage:1.12 --- src/doc/roadmaps/storage:1.11 Fri Nov 20 08:13:41 2015 +++ src/doc/roadmaps/storage Sun May 1 20:51:36 2016 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.11 2015/11/20 08:13:41 dholland Exp $ +$NetBSD: storage,v 1.12 2016/05/01 20:51:36 dholland Exp $ NetBSD Storage Roadmap == @@ -206,11 +206,9 @@ more drivers. nvme ("NVM Express") is a hardware interface standard for PCI-attached -SSDs. NetBSD currently has no driver for these; unfortunately, while -both FreeBSD and OpenBSD do neither of their drivers is likely -directly suitable: the FreeBSD driver is severely overcomplicated and -the OpenBSD driver won't be MPSAFE. (And there isn't much point in a -non-MPSAFE nvme driver.) +SSDs. NetBSD now has a driver for these; however, it was ported from +OpenBSD and is not (yet) MPSAFE. This is, unfortunately, a fairly +serious limitation given the point and nature of nvme devices. Relatedly, the I/O path needs to be restructured to avoid software bottlenecks on the way to an nvme device: they are fast enough that @@ -218,8 +216,11 @@ things like disksort() do not make sense Semi-relatedly, it is also time for scsipi to become MPSAFE. - - As of November 2015 nobody is known to be working on this. - - There is no clear timeframe or release target. + - As of May 2016 a port of OpenBSD's driver has been commited. This + will be in -8. + - However, the driver still needs to be made MPSAFE, and we still + need to attend to scsipi and various other I/O path bottlenecks. + - There is no clear timeframe or release target for these points. - Contact msaitoh or agc for further information. @@ -313,7 +314,8 @@ or less work than doing an implementatio Note however that implementing ext3 has already defeated several people; this is a harder project than it looks. - - As of November 2015 nobody is known to be working on this. + - As of May 2016 there is a GSoC project to implement read-only ext4 + support, but (it not being summer yet) no particular progress. - There is no clear timeframe or release target. - Contact ?? for further information. @@ -396,3 +398,5 @@ really be cleaned up. That or maybe it's Alistair Crooks, David Holland Fri Nov 20 02:17:53 EST 2015 +Sun May 1 16:50:42 EDT 2016 (some updates) +
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Fri Nov 20 08:13:41 UTC 2015 Modified Files: src/doc/roadmaps: storage Log Message: Add two more items: tls-maxphys and nvme support. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.10 src/doc/roadmaps/storage:1.11 --- src/doc/roadmaps/storage:1.10 Fri Nov 20 07:20:21 2015 +++ src/doc/roadmaps/storage Fri Nov 20 08:13:41 2015 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.10 2015/11/20 07:20:21 dholland Exp $ +$NetBSD: storage,v 1.11 2015/11/20 08:13:41 dholland Exp $ NetBSD Storage Roadmap == @@ -16,25 +16,27 @@ priorities for the project: 3. A better journaling file system solution 4. Getting zfs working for real 5. Seamless full-disk encryption + 6. Finish tls-maxphys The following elements, projects, and goals are not strategic priorities but are still important undertakings worth doing: - 6. lfs64 - 7. Per-process namespaces - 8. lvm tidyup - 9. Flash translation layer - 10. Shingled disk support - 11. ext3/ext4 support - 12. Port hammer from Dragonfly - 13. afs maintenance - 14. execute-in-place + 7. nvme support + 8. lfs64 + 9. Per-process namespaces + 10. lvm tidyup + 11. Flash translation layer + 12. Shingled disk support + 13. ext3/ext4 support + 14. Port hammer from Dragonfly + 15. afs maintenance + 16. execute-in-place The following elements, projects, and goals are perhaps less pressing; this doesn't mean one shouldn't work on them but the expected payoff is perhaps less than for other things: - 15. coda maintenance + 17. coda maintenance Explanations @@ -183,7 +185,45 @@ on laptops in many circumstances. - Contact dholland for further information. -6. lfs64 +6. Finish tls-maxphys +- + +The tls-maxphys branch changes MAXPHYS (the maximum size of a single +I/O request) from a global fixed constant to a value that's probed +separately for each particular I/O channel based on its +capabilities. Large values are highly desirable for e.g. feeding large +disk arrays but do not work with all hardware. + +The code is nearly done and just needs more testing and support in +more drivers. + + - As of November 2015 nobody is known to be working on this. + - There is no clear timeframe or release target. + - Contact tls for further information. + + +7. nvme suppport + + +nvme ("NVM Express") is a hardware interface standard for PCI-attached +SSDs. NetBSD currently has no driver for these; unfortunately, while +both FreeBSD and OpenBSD do neither of their drivers is likely +directly suitable: the FreeBSD driver is severely overcomplicated and +the OpenBSD driver won't be MPSAFE. (And there isn't much point in a +non-MPSAFE nvme driver.) + +Relatedly, the I/O path needs to be restructured to avoid software +bottlenecks on the way to an nvme device: they are fast enough that +things like disksort() do not make sense. + +Semi-relatedly, it is also time for scsipi to become MPSAFE. + + - As of November 2015 nobody is known to be working on this. + - There is no clear timeframe or release target. + - Contact msaitoh or agc for further information. + + +8. lfs64 LFS currently only supports volumes up to 2 TB. As LFS is of interest @@ -197,7 +237,7 @@ version of LFS for large volumes is in t - Responsible: dholland -7. Per-process namespaces +9. Per-process namespaces - Support for per-process variation of the file system namespace enables @@ -210,8 +250,8 @@ somewhat hackish but low-footprint way t - Responsible: dholland -8. lvm tidyup -- +10. lvm tidyup +-- [agc says someone should look at our lvm stuff; XXX fill this in] @@ -220,8 +260,8 @@ somewhat hackish but low-footprint way t - Contact agc for further information. -9. Flash translation layer --- +11. Flash translation layer +--- SSDs ship with firmware called a "flash translation layer" that arbitrates between the block device software expects to see and the @@ -241,7 +281,7 @@ implementations that we might be able to - Contact dholland for further information. -10. Shingled disk support +12. Shingled disk support - Shingled disks (or more technically, disks with "shingled magnetic @@ -256,7 +296,7 @@ point we will want to support these thin - Contact dholland for further information. -11. ext3/ext4 support +13. ext3/ext4 support - We would like to be able to read and write Linux ext3fs and ext4fs @@ -278,7 +318,7 @@ people; this is a harder project than it - Contact ?? for further information. -12. Port hammer from Dragonfly +14. Port hammer from Dragonfly
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Fri Nov 20 07:20:21 UTC 2015 Modified Files: src/doc/roadmaps: storage Log Message: Update the storage roadmap. Please review/comment... To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.9 src/doc/roadmaps/storage:1.10 --- src/doc/roadmaps/storage:1.9 Sat Jan 14 22:06:16 2012 +++ src/doc/roadmaps/storage Fri Nov 20 07:20:21 2015 @@ -1,174 +1,358 @@ -$NetBSD: storage,v 1.9 2012/01/14 22:06:16 agc Exp $ +$NetBSD: storage,v 1.10 2015/11/20 07:20:21 dholland Exp $ NetBSD Storage Roadmap == This is a small roadmap document, and deals with the storage and file -systems side of the operating system. +systems side of the operating system. It discusses elements, projects, +and goals that are under development or under discussion; and it is +divided into three categories based on perceived priority. + +The following elements, projects, and goals are considered strategic +priorities for the project: + + 1. Improving iscsi + 2. nfsv4 support + 3. A better journaling file system solution + 4. Getting zfs working for real + 5. Seamless full-disk encryption + +The following elements, projects, and goals are not strategic +priorities but are still important undertakings worth doing: + + 6. lfs64 + 7. Per-process namespaces + 8. lvm tidyup + 9. Flash translation layer + 10. Shingled disk support + 11. ext3/ext4 support + 12. Port hammer from Dragonfly + 13. afs maintenance + 14. execute-in-place + +The following elements, projects, and goals are perhaps less pressing; +this doesn't mean one shouldn't work on them but the expected payoff +is perhaps less than for other things: -The following elements and projects are pencilled in for 6.0, but -please do not rely on them being there. + 15. coda maintenance -Features that will be in 6.0: -2. logical volume management -3. a native port of Sun's ZFS -4. ReFUSE, perfuse and pud -6. Support for flash devices - NAND, and flash file system -7. rump extensions -9. in-kernel iSCSI initiator -10. RAIDframe parity map -11. quota system re-work -Features that are planned for future releases: -1. devfs/udevfsd -5. web-based management tools for storage subsystems -8. virtualised disks in userland -12. lfs renovation +Explanations + -We'll continue to update this roadmap as features and dates get firmed up. - -Some explanations -= - -1. udevfsd --- - -There has always been discussion over devfs, and experience with it -seems mixed (to be kind). At the same time, carrying around a whole -populated /dev seems quite possible and effective, but maybe a bit -unwieldy. jmcneill's udevfsd addresses this in a different way, and -is currently in othersrc/external/bsd/udevfsd. Not planned for 6.0 -right now. - -Responsible: jmcneill - -2. Logical Volume Management - - -Based on the Linux lvm2 and devmapper software, with a new kernel component -for NetBSD written. Merged in 5.99.5 sources, will be in 6.0. - -Responsible: haad, martin - -3. Native port of Sun's ZFS - -Two Summer of Code projects have been held, concentrating on the -provision of ZFS support for NetBSD. Mostly completed by haad, and -building on ver's work, this is the port of Sun's ZFS, with -modifications to make it compile on NetBSD by ad@, and based on the -Sun code for the block layer. Discussions are still taking place to -get the design right for support for the openat(2) system call family, -and the correct architecture for reclaiming vnodes. - -The ZFS source code has been committed to the repository. - -Responsible: haad, ad, ver - -4. ReFUSE, perfuse and pud --- - -FUSE has two interfaces, the normal high-level one, and a lower-level -interface which is closer to the way standard file systems operate. -manu's perfuse adds the low-level functionality in the same way that -ReFUSE adds the high-level functionality. In addition, there is the -"pass to userspace device" framework added by pooka as part of rump. -All 3 will be in 6.0. - -Responsible: pooka, manu, agc - -5. Web-based Management tools for Storage Subsystems - - -Standard tools for managing the storage subsystems that NetBSD -provides, using a standard web-server as the basic user interface on -the storage device, allowing remote management by a standard web -browser. CIM and related functinoality are interesting datapoints in -this space, although credentials and authentication are always -challenges in this space. Will not make it into 6.0 - -Responsible: agc - -6. Support for flash devices - NAND, and flash file system --
CVS commit: src/doc/roadmaps
Module Name:src Committed By: dholland Date: Sun Jan 15 06:53:23 UTC 2012 Modified Files: src/doc/roadmaps: system Log Message: typo To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/doc/roadmaps/system Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/system diff -u src/doc/roadmaps/system:1.10 src/doc/roadmaps/system:1.11 --- src/doc/roadmaps/system:1.10 Sun Jan 15 03:11:13 2012 +++ src/doc/roadmaps/system Sun Jan 15 06:53:23 2012 @@ -1,4 +1,4 @@ -$NetBSD: system,v 1.10 2012/01/15 03:11:13 agc Exp $ +$NetBSD: system,v 1.11 2012/01/15 06:53:23 dholland Exp $ NetBSD System Roadmap = @@ -117,7 +117,7 @@ Improve the scheduler to make decisions according to the topology, to get better thread affinity and less cache thrashing, and thus improve overall performance in modern SMP systems. Code has been written, but did not show any performance -impreovment. We will continue to monitor this area. +improvement. We will continue to monitor this area. Responsible: rmind
CVS commit: src/doc/roadmaps
Module Name:src Committed By: agc Date: Sun Jan 15 03:11:13 UTC 2012 Modified Files: src/doc/roadmaps: system Log Message: Thanks to rmind for the feedback; explain the status of some roadmap items a bit more fully. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/doc/roadmaps/system Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/system diff -u src/doc/roadmaps/system:1.9 src/doc/roadmaps/system:1.10 --- src/doc/roadmaps/system:1.9 Sun Jan 15 02:49:12 2012 +++ src/doc/roadmaps/system Sun Jan 15 03:11:13 2012 @@ -1,4 +1,4 @@ -$NetBSD: system,v 1.9 2012/01/15 02:49:12 agc Exp $ +$NetBSD: system,v 1.10 2012/01/15 03:11:13 agc Exp $ NetBSD System Roadmap = @@ -38,6 +38,7 @@ major bump - kudos and respect), and wil Responsible: christos + 2. Better Kernel Module Support --- @@ -51,6 +52,7 @@ modules.tgz has been created. Responsible: ad, lukem + 3. Full kernel preemption for real-time threads on non-x86 -- @@ -59,7 +61,8 @@ fully multi-threaded and can therefore b support of lower context switch and dispatch times for real-time threads, full kernel preemption is being implemented. This has been implemented already for i386 and x86_64 (and is in 5.0), but needs to -be extended to support the ARM, MIPS and SuperH ports. +be extended to support ARM and other ports. MIPS has this, as does +PowerPC, but it is not yet enabled. Responsible: rmind @@ -67,9 +70,12 @@ Responsible: rmind 4. POSIX shared memory -- -Implement POSIX shared memory facilities, which can be used to create the -shared memory objects and add the memory locations to the address space of -a process. +Implement POSIX shared memory facilities, which can be used to create +the shared memory objects and add the memory locations to the address +space of a process. Changes were proposed on tech-kern, although +there were some concerns with the kernel implementation, and so a +different approach using wrapper functions on tmpfs is being aimed at +for 6.0. Responsible: rmind @@ -110,7 +116,8 @@ Implement the detection of the topology Improve the scheduler to make decisions about thread migration according to the topology, to get better thread affinity and less cache thrashing, and thus improve overall performance in modern SMP -systems. +systems. Code has been written, but did not show any performance +impreovment. We will continue to monitor this area. Responsible: rmind
CVS commit: src/doc/roadmaps
Module Name:src Committed By: agc Date: Sun Jan 15 02:56:17 UTC 2012 Modified Files: src/doc/roadmaps: networking Log Message: bring the networking roadmap up to date. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/doc/roadmaps/networking Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/networking diff -u src/doc/roadmaps/networking:1.8 src/doc/roadmaps/networking:1.9 --- src/doc/roadmaps/networking:1.8 Sat Sep 26 05:36:22 2009 +++ src/doc/roadmaps/networking Sun Jan 15 02:56:17 2012 @@ -1,4 +1,4 @@ -$NetBSD: networking,v 1.8 2009/09/26 05:36:22 tsarna Exp $ +$NetBSD: networking,v 1.9 2012/01/15 02:56:17 agc Exp $ NetBSD Networking Roadmap = @@ -7,7 +7,9 @@ This is a small roadmap document, and de side of the operating system. The following projects are expected to be included in NetBSD 6.0 +8. SMP-aware Network Packet Filter +The following features are expected to be in future releases: 1. Mobile IPv6 2. SCTP 3. network driver polling @@ -16,9 +18,6 @@ The following projects are expected to b 6. tcp support in libsa 7. netboot from http -We currently expect to branch 6.0 in the March 2010 timeframe, with a view -to a 6.0 release later in 2010. - We'll continue to update this roadmap as features and dates get firmed up. @@ -30,16 +29,21 @@ Some explanations Add support for the SCTP for both IPv4 and IPv6. +Responsible: TBD + + 3. network driver polling - Responsible: matt + 4. ALTQ processing for input Responsible: matt + 5. multicast DNS / zeroconf --- @@ -47,6 +51,7 @@ Add support for multicast DNS (name.loca Responsible: tsarna + 6. tcp support in libsa --- @@ -54,14 +59,26 @@ Add a tiny tcp implementation to libsa. Responsible: matt + 7. http netbooting -- Be able to use a HTTP server hosting a kernel and/or disk image as a read-only root device. -Responsible: ??? +Responsible: TBD + +8. SMP-aware Packet Filter +-- + +A new packet filter which is SMP-aware has been written by rmind, as a +project funded by the NetBSD Foundation. zoltan has updated it for +IPv6, and various bits contributed by christos, dholland and martin. +This will be in 6.0 + +Responsible: rmind, zoltan, christos, dholland, martin + Matt Thomas Alistair Crooks -Sun 25 Jan 2009 21:06:42 PST +Sat Jan 14 11:44:46 PST 2012
CVS commit: src/doc/roadmaps
Module Name:src Committed By: agc Date: Sun Jan 15 02:49:13 UTC 2012 Modified Files: src/doc/roadmaps: system Log Message: sync the system roadmap with reality To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/doc/roadmaps/system Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/system diff -u src/doc/roadmaps/system:1.8 src/doc/roadmaps/system:1.9 --- src/doc/roadmaps/system:1.8 Tue Nov 17 21:09:54 2009 +++ src/doc/roadmaps/system Sun Jan 15 02:49:12 2012 @@ -1,4 +1,4 @@ -$NetBSD: system,v 1.8 2009/11/17 21:09:54 agc Exp $ +$NetBSD: system,v 1.9 2012/01/15 02:49:12 agc Exp $ NetBSD System Roadmap = @@ -6,26 +6,20 @@ NetBSD System Roadmap This is a small roadmap document, and deals with the main system aspects of the operating system. -The following projects are already in NetBSD-current and will appear -in NetBSD 6.0: - +The following projects will appear in NetBSD 6.0: 1. 64-bit time values supported 2. Better Kernel Modules support 5. namei() tactical changes +9. namei() strategic changes 10. emap (ephemeral mapping) support for i386 and amd64 11. support for mDNSResponder -The following projects are expected to be included in NetBSD 6.0 - +The following projects may make it into future releases: 3. Full kernel preemption for real-time threads 4. POSIX shared memory 6. Better resource controls 7. Improved observability: online crashdumps, remote debugging 8. Processor and cache topology aware scheduler -9. namei() strategic changes - -We currently expect to branch 6.0 in the March 2010 timeframe, with a view -to a 6.0 release later in 2010. We'll continue to update this roadmap as features and dates get firmed up. @@ -69,6 +63,7 @@ be extended to support the ARM, MIPS and Responsible: rmind + 4. POSIX shared memory -- @@ -78,6 +73,7 @@ a process. Responsible: rmind + 5. Incremental namei improvements, Phase 1 -- @@ -88,18 +84,25 @@ be in 6.0. Responsible: dholland + 6. Better resource controls --- A resource provisioning and control framework that extends beyond the traditional Unix process limits. +Responsible: TBD + + 7. Improved observability: online crashdumps, remote debugging -- XXX crashdumps while the system is running XXX firewire support in libkvm +Responsible: TBD + + 8. Processor and cache topology aware scheduler --- @@ -111,6 +114,7 @@ systems. Responsible: rmind + 9. Incremental namei improvements, Phase 2 -- @@ -140,4 +144,4 @@ will appear in NetBSD 6.0. Alistair Crooks -Thu Nov 5 07:47:34 PST 2009 +Sat Jan 14 11:40:49 PST 2012
CVS commit: src/doc/roadmaps
Module Name:src Committed By: agc Date: Sun Jan 15 02:45:42 UTC 2012 Modified Files: src/doc/roadmaps: virtualization Log Message: bring the virtualization roadmap up to date. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/doc/roadmaps/virtualization Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/virtualization diff -u src/doc/roadmaps/virtualization:1.4 src/doc/roadmaps/virtualization:1.5 --- src/doc/roadmaps/virtualization:1.4 Tue Sep 15 21:07:58 2009 +++ src/doc/roadmaps/virtualization Sun Jan 15 02:45:42 2012 @@ -1,4 +1,4 @@ -$NetBSD: virtualization,v 1.4 2009/09/15 21:07:58 agc Exp $ +$NetBSD: virtualization,v 1.5 2012/01/15 02:45:42 agc Exp $ NetBSD Virtualization Roadmap = @@ -6,15 +6,15 @@ NetBSD Virtualization Roadmap This is a small roadmap document, and deals with the virtualization side of the operating system. +Features that will be in 6.0: 1. NetBSD/usermode -2. virtualization jails via secmodel -3. iSCSI booting -4. iSCSI device cloning 5. Xen domU migration, suspend and resume 6. Xen balloon driver support -We currently expect to branch 6.0 in the March 2010 timeframe, with a view -to a 6.0 release later in 2010. +Features which may make future releases: +2. virtualization jails via secmodel +3. iSCSI booting +4. iSCSI device cloning We'll continue to update this roadmap as features and dates get firmed up. @@ -28,9 +28,11 @@ Some explanations NetBSD/usermode is an port of NetBSD to a POSIX-compatible user-space, with the intention that it should be possible to run the usermode version of NetBSD on any POSIX-compatible operating system. This code -has been committed to the repository, but more work is needed. +has been committed to the repository by jmcneill, and updated by reinoud +and jmcneill. usermode can now boot up to X11, can use a vnc console, +and is under active development now. This is most definitely in 6.0. -Responsible: jmcneill +Responsible: jmcneill, reinoud 2. Virtualization Jails via secmodel @@ -38,7 +40,7 @@ Responsible: jmcneill One novel way of creating jails for virtualization is to use a new secmodel (part of the kauth framework), to isolate processes into jail-based virtual machines. This is the basis of a paper given by -bad@ at AsiaBSDcon in March 2008. +bad@ at AsiaBSDcon in March 2008. This will not make 6.0 Responsible: bad @@ -48,7 +50,7 @@ Responsible: bad In order to make Xen domains migration-friendly, the storage that the domain uses must be based on some form of network-centric storage, either NFS, or a SAN or IP-SAN. For IP-SANs, iSCSI booting will be used. This -is dependent on the in-kernel iSCSI initiator project completing. +is dependent on the in-kernel iSCSI initiator project completing. This will not make 6.0 Responsible: agc @@ -58,7 +60,7 @@ Responsible: agc To minimise the storage requirements for multiple domU booting, using a standard root filesystem or block device for the domU is required, along with some form of copy-on-write mechanism to preserve any modifications -that are made. +that are made. This will not make 6.0 Responsible: agc @@ -67,8 +69,8 @@ Responsible: agc Xen domU migration is where a domU domain is moved from one dom0 to another dom0 on the same vlan (to avoid networking problems, the -virtual arp address migrates with the domU itself). jym is actively -working on this, and preliminary results are good. +virtual arp address migrates with the domU itself). jym has committed +this code, and it will be in 6.0 Responsible: jym, bouyer @@ -77,11 +79,11 @@ Responsible: jym, bouyer The balloon driver allows more memory to be added to a running Xen domU instance; this allows extra memory to be used by the domU for resource -peak needs. cherry has made a preliminary balloon driver - some testing -is needed before it can be committed. +peak needs. cherry has made a preliminary balloon driver and this has been +further updated and tested by jym. This will be in 6.0. -Responsible: cherry +Responsible: jym, cherry Alistair Crooks -Tue 15 Sep 2009 08:06:34 PDT +Sat Jan 14 11:38:50 PST 2012
CVS commit: src/doc/roadmaps
Module Name:src Committed By: agc Date: Sat Jan 14 22:06:16 UTC 2012 Modified Files: src/doc/roadmaps: storage Log Message: Bring the storage roadmap up to date wrt 6.0 and features. A huge thank you to dholland for his help on this. This still has some updates to happen for post-6.0 features; they will be added RSN. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/doc/roadmaps/storage Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.8 src/doc/roadmaps/storage:1.9 --- src/doc/roadmaps/storage:1.8 Tue Nov 17 21:09:54 2009 +++ src/doc/roadmaps/storage Sat Jan 14 22:06:16 2012 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.8 2009/11/17 21:09:54 agc Exp $ +$NetBSD: storage,v 1.9 2012/01/14 22:06:16 agc Exp $ NetBSD Storage Roadmap == @@ -12,38 +12,35 @@ please do not rely on them being there. Features that will be in 6.0: 2. logical volume management 3. a native port of Sun's ZFS +4. ReFUSE, perfuse and pud +6. Support for flash devices - NAND, and flash file system 7. rump extensions +9. in-kernel iSCSI initiator 10. RAIDframe parity map +11. quota system re-work -Features that are planned for 6.0: -1. devfs -4. ReFUSE-lowlevel +Features that are planned for future releases: +1. devfs/udevfsd 5. web-based management tools for storage subsystems -6. support for flash devices - NAND and MMC/SD 8. virtualised disks in userland -9. in-kernel iSCSI initiator - -We currently expect to branch 6.0 in the March 2010 timeframe, with a view -to a 6.0 release later in 2010. +12. lfs renovation We'll continue to update this roadmap as features and dates get firmed up. Some explanations = -1. devfs -- +1. udevfsd +-- -Devfs will allow device special files (the files used to access -devices) to be created dynamically as and when they are attached to -the system. This will greatly reduce the number of files in a /dev -directory and removes the need to run the MAKEDEV script when support -for new devices is added to the NetBSD kernel. NetBSD's devfs -implementation will also allow multiple instances of the file system -to be mounted simultaneously, which is very useful for chroot jails. -Please contact core@ if you are interested in devfs development. +There has always been discussion over devfs, and experience with it +seems mixed (to be kind). At the same time, carrying around a whole +populated /dev seems quite possible and effective, but maybe a bit +unwieldy. jmcneill's udevfsd addresses this in a different way, and +is currently in othersrc/external/bsd/udevfsd. Not planned for 6.0 +right now. -Responsible: mjf +Responsible: jmcneill 2. Logical Volume Management @@ -68,35 +65,41 @@ The ZFS source code has been committed t Responsible: haad, ad, ver -4. ReFUSE-lowlevel --- +4. ReFUSE, perfuse and pud +-- FUSE has two interfaces, the normal high-level one, and a lower-level -interface which is closer to the way standard file systems operate. This -adds the low-level functionality in the same way that ReFUSE adds the -high-level functionality +interface which is closer to the way standard file systems operate. +manu's perfuse adds the low-level functionality in the same way that +ReFUSE adds the high-level functionality. In addition, there is the +"pass to userspace device" framework added by pooka as part of rump. +All 3 will be in 6.0. -Responsible: pooka, agc +Responsible: pooka, manu, agc 5. Web-based Management tools for Storage Subsystems -Standard tools for managing the storage subsystems that NetBSD provides, -using a standard web-server as the basic user interface on the storage -device, allowing remote management by a standard web browser. +Standard tools for managing the storage subsystems that NetBSD +provides, using a standard web-server as the basic user interface on +the storage device, allowing remote management by a standard web +browser. CIM and related functinoality are interesting datapoints in +this space, although credentials and authentication are always +challenges in this space. Will not make it into 6.0 Responsible: agc -6. Support for flash devices - NAND and MMC/SD --- +6. Support for flash devices - NAND, and flash file system +-- -The NetBSD Foundation is interested in having a file system which is -optimised to work with today's flash devices, including SSDs both with -wear-levelling functionality and without, as well as support for NAND, -and MMC/SD devices. Please get in touch with core@ if you're interested -in helping out with this area of development. +ahoka has have contributed ma
CVS commit: src/doc/roadmaps
Module Name:src Committed By: agc Date: Tue Nov 17 21:09:54 UTC 2009 Modified Files: src/doc/roadmaps: storage system Log Message: Update with status for some projects. Add some new projects, and sync with reality. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/doc/roadmaps/storage src/doc/roadmaps/system Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.7 src/doc/roadmaps/storage:1.8 --- src/doc/roadmaps/storage:1.7 Fri Oct 2 07:43:01 2009 +++ src/doc/roadmaps/storage Tue Nov 17 21:09:54 2009 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.7 2009/10/02 07:43:01 cegger Exp $ +$NetBSD: storage,v 1.8 2009/11/17 21:09:54 agc Exp $ NetBSD Storage Roadmap == @@ -9,13 +9,17 @@ The following elements and projects are pencilled in for 6.0, but please do not rely on them being there. -1. devfs +Features that will be in 6.0: 2. logical volume management 3. a native port of Sun's ZFS +7. rump extensions +10. RAIDframe parity map + +Features that are planned for 6.0: +1. devfs 4. ReFUSE-lowlevel 5. web-based management tools for storage subsystems 6. support for flash devices - NAND and MMC/SD -7. rump extensions 8. virtualised disks in userland 9. in-kernel iSCSI initiator @@ -103,6 +107,7 @@ Responsible: pooka + 8. Virtualised disks in Userland @@ -111,6 +116,7 @@ Responsible: jmcneill + 9. In-kernel iSCSI Initiator @@ -122,5 +128,20 @@ Responsible: core +10. RAIDframe parity map + + +Jed Davis successfully completed a Summer of Code project to implement +parity map zones for RAIDframe. Parity mapping drastically reduces +the amount of time spent rewriting parity after an unclean shutdown by +keeping better track of which regions might have had outstanding +writes. Enabled by default; can be disabled on a per-set basis, or +tuned, with the new raidctl(8) commands. + +Merged in 5.99.22 sources, and will be in 6.0. A separate set of +patches is available for NetBSD-5. + +Responsible: jld + Alistair Crooks -Tue 15 Sep 2009 08:44:14 PDT +Tue Nov 17 07:17:20 PST 2009 Index: src/doc/roadmaps/system diff -u src/doc/roadmaps/system:1.7 src/doc/roadmaps/system:1.8 --- src/doc/roadmaps/system:1.7 Mon Sep 21 19:41:23 2009 +++ src/doc/roadmaps/system Tue Nov 17 21:09:54 2009 @@ -1,4 +1,4 @@ -$NetBSD: system,v 1.7 2009/09/21 19:41:23 agc Exp $ +$NetBSD: system,v 1.8 2009/11/17 21:09:54 agc Exp $ NetBSD System Roadmap = @@ -6,13 +6,19 @@ This is a small roadmap document, and deals with the main system aspects of the operating system. -The following projects are expected to be included in NetBSD 6.0 +The following projects are already in NetBSD-current and will appear +in NetBSD 6.0: 1. 64-bit time values supported 2. Better Kernel Modules support +5. namei() tactical changes +10. emap (ephemeral mapping) support for i386 and amd64 +11. support for mDNSResponder + +The following projects are expected to be included in NetBSD 6.0 + 3. Full kernel preemption for real-time threads 4. POSIX shared memory -5. namei() tactical changes 6. Better resource controls 7. Improved observability: online crashdumps, remote debugging 8. Processor and cache topology aware scheduler @@ -46,7 +52,8 @@ from booting from modules, like ffs, was introduced at the same time. Some work has been done by Luke Mewburn in this area to define module locations and paths so that effective kernel development can be done -using modules. +using modules. Kernel modules have been moved out of base.tgz and a new +modules.tgz has been created. Responsible: ad, lukem @@ -116,6 +123,21 @@ Responsible: dholland +10. Ephemeral Mapping +- + +Responsible: rmind + + +11. Multicast DNS and DNS Service Discovery +--- + +mDNSResponder (also known as mdnsd on some systems) is a daemon invoked +at boot time to implement Multicast DNS and DNS Service Discovery. On Mac +OS X 10.6 (Snow Leopard), mDNSResponder is also the system-wide Unicast +DNS Resolver. Ty Sarna added support for mdnsd to NetBSD-current, and it +will appear in NetBSD 6.0. + Alistair Crooks -Mon 21 Sep 2009 08:39:16 BST +Thu Nov 5 07:47:34 PST 2009
CVS commit: src/doc/roadmaps
Module Name:src Committed By: tsarna Date: Sat Sep 26 05:36:22 UTC 2009 Modified Files: src/doc/roadmaps: networking Log Message: Claim the multicast DNS project. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/doc/roadmaps/networking Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/networking diff -u src/doc/roadmaps/networking:1.7 src/doc/roadmaps/networking:1.8 --- src/doc/roadmaps/networking:1.7 Tue Sep 15 21:07:58 2009 +++ src/doc/roadmaps/networking Sat Sep 26 05:36:22 2009 @@ -1,4 +1,4 @@ -$NetBSD: networking,v 1.7 2009/09/15 21:07:58 agc Exp $ +$NetBSD: networking,v 1.8 2009/09/26 05:36:22 tsarna Exp $ NetBSD Networking Roadmap = @@ -45,7 +45,7 @@ Add support for multicast DNS (name.local) -Responsible: ??? +Responsible: tsarna 6. tcp support in libsa ---
CVS commit: src/doc/roadmaps
Module Name:src Committed By: agc Date: Mon Sep 21 19:41:23 UTC 2009 Modified Files: src/doc/roadmaps: system Log Message: Clarify a couple of entries in the system roadmap To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/doc/roadmaps/system Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/system diff -u src/doc/roadmaps/system:1.6 src/doc/roadmaps/system:1.7 --- src/doc/roadmaps/system:1.6 Tue Sep 15 21:07:58 2009 +++ src/doc/roadmaps/system Mon Sep 21 19:41:23 2009 @@ -1,4 +1,4 @@ -$NetBSD: system,v 1.6 2009/09/15 21:07:58 agc Exp $ +$NetBSD: system,v 1.7 2009/09/21 19:41:23 agc Exp $ NetBSD System Roadmap = @@ -33,7 +33,8 @@ The Unix 32-bit time_t value will overflow in 2037 - any mortgage calculations which use a time_t value are in danger of overflowing at the present time - and to address this, 64-bit time_t values will be used to contain the number -of seconds since 1970. +of seconds since 1970. This was completed in 5.99.7 by Christos (with no libc +major bump - kudos and respect), and will be in 6.0. Responsible: christos @@ -49,13 +50,17 @@ Responsible: ad, lukem -3. Full kernel preemption for real-time threads +3. Full kernel preemption for real-time threads on non-x86 +-- -With the revamp of the kernel concurrency model, much of the kernel is fully -multi-threaded and can therefore be preempted at any time. In support of -lower context switch and dispatch times for real-time threads, full kernel -preemption is being implemented. +With the revamp of the kernel concurrency model, much of the kernel is +fully multi-threaded and can therefore be preempted at any time. In +support of lower context switch and dispatch times for real-time +threads, full kernel preemption is being implemented. This has been +implemented already for i386 and x86_64 (and is in 5.0), but needs to +be extended to support the ARM, MIPS and SuperH ports. + +Responsible: rmind 4. POSIX shared memory -- @@ -71,7 +76,8 @@ In NetBSD 5.99.15, some changes were made to split the namei() routine up into logical parts, so that changes can be made to the constituent -parts in a less intrusive way. +parts in a less intrusive way. This is in the repository now, and will +be in 6.0. Responsible: dholland @@ -101,14 +107,15 @@ 9. Incremental namei improvements, Phase 2 -- -Implement the rest of the changes to namei outlined in Message-ID: -<20080319053709.gb3...@netbsd.org>. Simplify the locking and behavior -of namei() calls within the kernel to resolve path names within file -systems. +Building on the namei() split which was introduced in 5.99.15 (see (5) +above), further changes will be introduced: see the changes to namei +outlined in Message-ID: <20080319053709.gb3...@netbsd.org> for more +information. This will simplify the locking and behavior of namei() +calls within the kernel to resolve path names within file systems. Responsible: dholland Alistair Crooks -Tue 15 Sep 2009 08:02:11 PDT +Mon 21 Sep 2009 08:39:16 BST
CVS commit: src/doc/roadmaps
Module Name:src Committed By: agc Date: Tue Sep 15 21:07:59 UTC 2009 Modified Files: src/doc/roadmaps: networking storage system virtualization Log Message: Update the NetBSD roadmaps to reflect recent changes. Please contact core if you have other major projects and requirements that you would like to see included. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/doc/roadmaps/networking cvs rdiff -u -r1.4 -r1.5 src/doc/roadmaps/storage cvs rdiff -u -r1.5 -r1.6 src/doc/roadmaps/system cvs rdiff -u -r1.3 -r1.4 src/doc/roadmaps/virtualization Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/roadmaps/networking diff -u src/doc/roadmaps/networking:1.6 src/doc/roadmaps/networking:1.7 --- src/doc/roadmaps/networking:1.6 Mon Jan 26 05:09:25 2009 +++ src/doc/roadmaps/networking Tue Sep 15 21:07:58 2009 @@ -1,4 +1,4 @@ -$NetBSD: networking,v 1.6 2009/01/26 05:09:25 agc Exp $ +$NetBSD: networking,v 1.7 2009/09/15 21:07:58 agc Exp $ NetBSD Networking Roadmap = @@ -16,9 +16,8 @@ 6. tcp support in libsa 7. netboot from http -The timescales for 6.0 are not known at the present time, but we would -expect to branch 6.0 late in 2009, with a view to a 6.0 release in -early 2010. +We currently expect to branch 6.0 in the March 2010 timeframe, with a view +to a 6.0 release later in 2010. We'll continue to update this roadmap as features and dates get firmed up. Index: src/doc/roadmaps/storage diff -u src/doc/roadmaps/storage:1.4 src/doc/roadmaps/storage:1.5 --- src/doc/roadmaps/storage:1.4 Mon Jan 26 05:09:25 2009 +++ src/doc/roadmaps/storage Tue Sep 15 21:07:58 2009 @@ -1,4 +1,4 @@ -$NetBSD: storage,v 1.4 2009/01/26 05:09:25 agc Exp $ +$NetBSD: storage,v 1.5 2009/09/15 21:07:58 agc Exp $ NetBSD Storage Roadmap == @@ -6,39 +6,28 @@ This is a small roadmap document, and deals with the storage and file systems side of the operating system. -NetBSD 5.0 will ship with the following storage elements in place: - -1. puffs/putter -2. ReFUSE -3. rump -4. RAIDframe -5. iSCSI target -6. iSCSI initiator -7. cgd -8. fss -9. journalling functionality for ffs -10. read/write support for UDF file systems - The following elements and projects are pencilled in for 6.0, but please do not rely on them being there. -11. devfs -12. logical volume management -13. a native port of Sun's ZFS -14. ReFUSE-lowlevel -15. web-based management tools for storage subsystems -16. support for flash devices - NAND and MMC/SD - -The timescales for 6.0 are not known at the present time, but we would -expect to branch 6.0 late in 2009, with a view to a 6.0 release in -early 2010. +1. devfs +2. logical volume management +3. a native port of Sun's ZFS +4. ReFUSE-lowlevel +5. web-based management tools for storage subsystems +6. support for flash devices - NAND and MMC/SD +7. rump extensions +8. virtualised disks in userland +9. in-kernel iSCSI initiator + +We currently expect to branch 6.0 in the March 2010 timeframe, with a view +to a 6.0 release later in 2010. We'll continue to update this roadmap as features and dates get firmed up. Some explanations = -11. devfs +1. devfs - Devfs will allow device special files (the files used to access @@ -48,35 +37,35 @@ for new devices is added to the NetBSD kernel. NetBSD's devfs implementation will also allow multiple instances of the file system to be mounted simultaneously, which is very useful for chroot jails. +Please contact core@ if you are interested in devfs development. Responsible: mjf -9. Journalling Functionality for FFS -- - -Contributed by Wasabi Systems, Inc, technical review on tech-kern -in March 2008, merged to HEAD in July 2008, will be in NetBSD 5.0. - -12. Logical Volume Management -- +2. Logical Volume Management + Based on the Linux lvm2 and devmapper software, with a new kernel component for NetBSD written. Merged in 5.99.5 sources, will be in 6.0. Responsible: haad, martin -13. Native port of Sun's ZFS - +3. Native port of Sun's ZFS +--- + +Two Summer of Code projects have been held, concentrating on the +provision of ZFS support for NetBSD. Mostly completed by haad, and +building on ver's work, this is the port of Sun's ZFS, with +modifications to make it compile on NetBSD by ad@, and based on the +Sun code for the block layer. Discussions are still taking place to +get the design right for support for the openat(2) system call family, +and the correct architecture for reclaiming vnodes. -Mostly completed by ad@, this is the FreeBSD port of Sun's ZFS, with -modifications to make it compile on NetBSD 5.0 by ad@, and based on -the original Sun code for the block layer, rather than the GEOM-based