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
-layer.
+The ZFS source code has been committed to the repository.
 
-Responsible: ad, many others
+Responsible: haad, ad, ver
 
-14. ReFUSE-lowlevel
--------------------
+4. ReFUSE-lowlevel
+------------------
 
 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
@@ -85,8 +74,8 @@
 
 Responsible: pooka, agc
 
-15. Web-based Management tools for Storage Subsystems
------------------------------------------------------
+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
@@ -94,6 +83,44 @@
 
 Responsible: agc
 
+6. Support for flash devices - NAND and MMC/SD
+----------------------------------------------
+
+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.
+
+Responsible: TBD
+
+7. RUMP Extensions
+------------------
+
+Rump support has been in NetBSD for 2 releases now, and continues to be
+developed actively. Recent additions have included cgd support, and smbfs
+client support.
+
+Responsible: pooka
+
+8. Virtualised disks in Userland
+--------------------------------
+
+For better support of virtualization, a library which provides a consistent 
+view of virtualized disk images has been developed by jmcneill.
+
+Responsible: jmcneill
+
+9. In-kernel iSCSI Initiator
+----------------------------
+
+NetBSD has had a userland implementation of an iSCSI initiator since
+NetBSD 4.99.35, based on ReFUSE.  There is a possibility that an
+in-kernel initiator may be available - please contact core if you are
+interested in this functionality.
+
+Responsible: core
+
 
 Alistair Crooks
-Sun 25 Jan 2009 20:55:12 PST
+Tue 15 Sep 2009 08:44:14 PDT

Index: src/doc/roadmaps/system
diff -u src/doc/roadmaps/system:1.5 src/doc/roadmaps/system:1.6
--- src/doc/roadmaps/system:1.5	Mon Jan 26 05:09:25 2009
+++ src/doc/roadmaps/system	Tue Sep 15 21:07:58 2009
@@ -1,4 +1,4 @@
-$NetBSD: system,v 1.5 2009/01/26 05:09:25 agc Exp $
+$NetBSD: system,v 1.6 2009/09/15 21:07:58 agc Exp $
 
 NetBSD System Roadmap
 =====================
@@ -6,39 +6,20 @@
 This is a small roadmap document, and deals with the main system
 aspects of the operating system.
 
-NetBSD 5.0 will ship with the following main changes to the system:
-
-1. Modularized scheduler
-2. Real-time scheduling classes and priorities
-3. Processor sets, processor affinity and processor control
-4. Multiprocessor optimized scheduler
-5. High-performance 1:1 threading implementation
-6. Pushback of the global kernel lock
-7. New kernel concurrency model
-8. Multiprocessor optimized memory allocators
-9. POSIX asynchronous I/O and message queues
-10. In-kernel linker
-11. SysV IPC tuneables
-12. Improved observability: minidumps, lockstat and tprof
-13. Power management framework
-
-The following element has been added to the NetBSD-current tree, and will be
-in NetBSD 6.0
-
-14. 64-bit time values supported
-
 The following projects are expected to be included in NetBSD 6.0
 
-15. Full kernel preemption for real-time threads
-16. POSIX shared memory
-17. namei() tactical changes
-18. Better resource controls
-19. Improved observability: online crashdumps, remote debugging
-20. Processor and cache topology aware scheduler
-
-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. 64-bit time values supported
+2. Better Kernel Modules support
+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
+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.
 
@@ -46,146 +27,7 @@
 Some explanations
 =================
 
-1. Modularized scheduler
-------------------------
-
-Traditionally the only method of control on process scheduling was the
-'nice' value assigned to each process.  The scheduler interface has been
-redesiged to allow for pluggable schedulers, selected at compile time.
-At the current time, there are no plans to switch schedulers at run-time,
-since there is little appreciable gain to be had from that, and the extra
-performance hit to provide this functionality is thought not to be worth
-it.
-
-The in-kernel scheduler interface has been enhanced to provide a framework
-for adding new schedulers, called the common scheduler framework - more
-information can be found in the csf(9) manual page.
-
-Responsible: ad, dsieger, rmind, yamt
-
-2. Real-time scheduling classes and priorities
-----------------------------------------------
-
-The scheduler has been extended to allow provide multiple new priority
-bands, including real-time.  POSIX standard interfaces for controlling
-thread priority and scheduling class have been implemented, along with
-a command line tool to allow control by the system administrator.
-
-3. Processor sets, processor affinity and processor control
------------------------------------------------------------
-
-A Solaris and HP-UX compatible interface for defining and controlling
-processor sets has been added.  Processor sets allow applications and
-the administrator complete flexibility in partitioning CPU resources
-among applications, down to thread-level granularity.
-
-Linux compatibile interface controlling processor affinity, similar
-in spirit to processor sets, is provided.
-
-A new utility to control CPU status (cpuctl) is provided.  cpuctl
-allows the administrator to enable and disable individual CPUs at
-the software level, while the system is running.  It is expected that
-this will in time be extended to support full dynamic reconfiguration,
-in concert with a hypervisor such as Xen.
-
-4. Multiprocessor optimized scheduler
--------------------------------------
-
-An intelligent, pluggable scheduler named M2 that is optimized for
-multiprocessor systems, supports POSIX real-time extensions,
-time-sharing class, and implements thread affinity.
-
-5. High-performance 1:1 threading implementation
-------------------------------------------------
-
-A new lightweight 1:1 threading implementation, replacing the M:N based
-implementation found in NetBSD 4.0 and earlier.  The new implementation is
-more correct according to POSIX thread standards, and provides a massive
-performance boost to threaded workloads in both uni- and multi-processor
-configurations.
-
-6. Pushback of the global kernel lock
--------------------------------------
-
-Previously, most access to the kernel was single threaded on multiprocessor
-systems by the global kernel_lock.  The kernel_lock has been pushed back to
-to the device driver and wire-protocol layers, providing a significant
-performance boost on heavily loaded multiprocessor systems.
-
-7. New kernel concurrency model
--------------------------------
-
-The non-preemptive spinlock and "interrupt priority level" synchronization
-model has been replaced wholesale with a hybrid thread/interrupt model.  A
-full range of new, lightweight synchronization primitives are available to
-the kernel programmer, including: adaptive mutexes, reader/writer locks,
-memory barriers, atomic operations, threaded soft interrupts, generic cross
-calls, workqueues, priority inheritance, and per-CPU storage.
-
-8. Multiprocessor optimized memory allocators
----------------------------------------------
-
-The memory allocators in both the kernel and user space are now fully
-optimized for multiprocessor systems and eliminate the performance
-degradation typically associated with memory allocators in an MP setting.
-
-9. POSIX asynchronous I/O and message queues
----------------------------------------------
-
-A full implementation of the POSIX asynchronous I/O and message
-queue facilities is now available.
-
-10. In-kernel linker
---------------------
-
-A in-kernel ELF object linker has been added, and a revamped kernel module
-infrastructure developed to accompany it.  It is expected that the kernel
-will become completely modular over time, while continuing to retain the
-ability to link to a single binary image for embedded and hobby systems.
-
-11. SysV IPC tuneables
-----------------------
-
-Parameters for the SVR3-compatible IPC mechanisms can now be tuned
-completely at runtime.
-
-12. Improved observability: minidumps, lockstat and tprof
----------------------------------------------------------
-
-The x86 architecture now supports mini crash-dumps as a support aid for
-kernel debugging. Only memory contents actively in use by the kernel at
-the time of crash are dumped to and recovered from disk, an improvement
-over the traditional scheme where the complete contents of memory is
-dumped to disk.
-
-The lockstat and tprof commands have been addded to the system. lockstat
-provides a high-resolution description of lock activity in a running system.
-
-tprof uses sample based profiling in conjuction with the available
-performance counters in order to better profile system activity.
-
-13. Power management framework
-------------------------------
-
-A new power management framework has been introduced that improves
-handling of device power state transitions. As power management support
-is now integrated with the auto-configuration subsystem, the kernel can
-ensure that a parent device is powered on before attempting to access
-the device.
-
-With these changes comes an updated release of the Intel ACPI
-Component Architecture and an x86 emulator which assists in restoring
-uninitialized display adapters.
-
-Leveraging this work, the i386 and amd64 kernels now support suspend
-to RAM in uni- and multi-processor configurations on ACPI-capable
-machines. This support has been successfully tested on a wide variety of
-laptops, including (but not limited to) recent systems from Dell, IBM/Lenovo,
-Fujitsu, Toshiba, and Sony.
-
-Responsible: jmcneill, joerg
-
-14. 64-bit time_t support
+1. 64-bit time_t support
 -------------------------
 
 The Unix 32-bit time_t value will overflow in 2037 - any mortgage calculations
@@ -195,16 +37,28 @@
 
 Responsible: christos
 
-15. Full kernel preemption for real-time threads
-------------------------------------------------
+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.
+
+Responsible: ad, lukem
+
+3. Full kernel preemption for real-time threads
+-----------------------------------------------
 
 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.
 
-16. POSIX shared memory
------------------------
+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
@@ -212,30 +66,29 @@
 
 Responsible: rmind
 
-17. Incremental namei improvements, Phase 1
--------------------------------------------
+5. Incremental namei improvements, Phase 1
+------------------------------------------
 
-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. This phase simplifies the majority of calls to namei().
+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.
 
 Responsible: dholland
 
-18. Better resource controls
-----------------------------
+6. Better resource controls
+---------------------------
 
 A resource provisioning and control framework that extends beyond the
 traditional Unix process limits.
 
-19. Improved observability: online crashdumps, remote debugging
----------------------------------------------------------------
+7. Improved observability: online crashdumps, remote debugging
+--------------------------------------------------------------
 
 XXX crashdumps while the system is running
 XXX firewire support in libkvm
 
-20. Processor and cache topology aware scheduler
-------------------------------------------------
+8. Processor and cache topology aware scheduler
+-----------------------------------------------
 
 Implement the detection of the topology of the processors and caches. 
 Improve the scheduler to make decisions about thread migration
@@ -245,8 +98,8 @@
 
 Responsible: rmind
 
-29. Incremental namei improvements, Phase 2
--------------------------------------------
+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
@@ -257,6 +110,5 @@
 
 
 
-Andrew Doran
 Alistair Crooks
-Sun 25 Jan 2009 21:03:04 PST
+Tue 15 Sep 2009 08:02:11 PDT

Index: src/doc/roadmaps/virtualization
diff -u src/doc/roadmaps/virtualization:1.3 src/doc/roadmaps/virtualization:1.4
--- src/doc/roadmaps/virtualization:1.3	Mon Jan 26 05:09:25 2009
+++ src/doc/roadmaps/virtualization	Tue Sep 15 21:07:58 2009
@@ -1,4 +1,4 @@
-$NetBSD: virtualization,v 1.3 2009/01/26 05:09:25 agc Exp $
+$NetBSD: virtualization,v 1.4 2009/09/15 21:07:58 agc Exp $
 
 NetBSD Virtualization Roadmap
 =============================
@@ -6,25 +6,15 @@
 This is a small roadmap document, and deals with the virtualization
 side of the operating system.
 
-NetBSD 5.0 will ship with the following virtualization elements in
-place:
+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
 
-1. Xen 3 Dom0		[i386/amd64]
-2. Xen 3 DomU		[i386/amd64]
-3. Xen 3 PAE DomU	[i386]
-
-The following projects are expected to be included in NetBSD 6.0
-
-4. NetBSD/usermode
-5. virtualization jails via secmodel
-6. iSCSI booting
-7. iSCSI device cloning
-8. Xen domU migration, suspend and resume
-9. Xen balloon driver support
-
-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.
 
@@ -32,35 +22,37 @@
 Some explanations
 =================
 
-4. NetBSD/usermode
+1. NetBSD/usermode
 ------------------
 
-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.
+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.
 
 Responsible: jmcneill
 
-5. Virtualization Jails via secmodel
+2. Virtualization Jails via secmodel
 ------------------------------------
 
 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 to appear
-in the AsiaBSDcon proceedings in March 2008.
+jail-based virtual machines. This is the basis of a paper given by
+bad@ at AsiaBSDcon in March 2008.
 
 Responsible: bad
 
-6. iSCSI booting
+3. iSCSI booting
 ----------------
 
 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.
+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.
 
 Responsible: agc
 
-7. iSCSI device cloning
+4. iSCSI device cloning
 -----------------------
 
 To minimise the storage requirements for multiple domU booting, using
@@ -70,24 +62,26 @@
 
 Responsible: agc
 
-8. Xen domU migration, suspend and resume
+5. Xen domU migration, suspend and resume
 -----------------------------------------
 
 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).
+virtual arp address migrates with the domU itself). jym is actively
+working on this, and preliminary results are good.
 
-Responsible: bouyer
+Responsible: jym, bouyer
 
-9. Xen balloon driver support
+6. Xen balloon driver support
 -----------------------------
 
 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.
+peak needs. cherry has made a preliminary balloon driver - some testing
+is needed before it can be committed.
 
-Responsible: bouyer, cherry?
+Responsible: cherry
 
 
 Alistair Crooks
-Sun 25 Jan 2009 21:07:42 PST
+Tue 15 Sep 2009 08:06:34 PDT

Reply via email to