Tech Insider					     Technology and Trends


			      USENET Archives

From: i...@fg70.rz.uni-karlsruhe.de (Thomas Koenig)
Subject: Kernel wishlist, 1996-12-20
Date: 1996/12/20
Message-ID: <59evir$q98@fg70.rz.uni-karlsruhe.de>
X-Deja-AN: 205176778
content-type: text/plain; charset=iso-8859-1
organization: =?ISO-8859-1?Q?Universit=E4t_Karlsruhe_(TH),_Germany_?=
mime-version: 1.0
reply-to: Thomas.Koe...@ciw.uni-karlsruhe.de
newsgroups: comp.os.linux.development.system



Wishlist for Linux 2.2.0

Here's what people on linux-kernel and comp.os.linux.development.system
have been suggesting. Some items are rather hotly debated. I'd like
to thank everybody who offered suggestions and corrections to this
list.

I will post this list infrequently to the linux-kernel mailing list
and to comp.os.linux.development.system.

I'm also listing who's working on what, if I know about it. If you
want to drop me a line with additional info, I'll put it in. This
might be your E-Mail address, or the URL for a patch that people may
try out. It might be a good idea to talk to the people who've
already done something before you start a project :-)

Also, please be aware that not everything listed here necessarily is
a good idea. I'm no judge of what should to into the kernel and what
shouldn't.

I am also maintaining this list as a [1]web page.

This list is structured roughly along the main subdirectories of the
Linux kernel.

Documentation

* Moving of all the relevent README files into the Documention
directory

arch

* Make the system embeddable (see the [2]Linux 8086 project)
* HP-PA port

drivers

Generic things

* 32-bit or 64-bit minor/major device numbers
* revoke() system call (make sure nobody holds this device open)
* Drivers being able to throw away their init code once complete
(put the init code somewhere else?)
* Integrated PCMCIA support

Block devices and SCSI

* Support for more RAID levels
* Exclusive open mechanism for raw disks (<Andries.Brou...@cwi.nl>,
Grant Guenther <gr...@gear.torque.net>)
* physical/logical volume manager, shrinkable/extensible file
systems (like AIX)
* Modularization of ide.c and ide-cd.c
* Adaption of all CD-ROM drivers to generic interface
* SCSI device numbers should include drive IDs, not be consecutively
numbered (possibly like the SCSI devices in SysV)
* Caching a slow block device on a fast one (look at the [3]BCCF
project )
* SCSI-spindown patch (via idle)
* Networked raw devices (Linus clusters?)

Serial, parallel and console

* parallel port sound input driver
* Microchannel support
* Being able to run more than one parallel device at the same time
(zip drive, printer, ...) (<gr...@gear.torque.net>)
* Full support for EPP/ECP modes in the parallel port disk drivers
(possibly including PLIP) (EPP is almost done; contact
<pfeif...@cs.nmsu.edu>)
* Localtalk drivers, for the Appletalk stack
* Opening serial lines or changing the baud rate without raising any
modem control lines (DTR, RTS)
* Setting the interrupt trigger level for 16650s from the command
line
* Registering/unregistering transfer functions for the loop device
* Get a PPS (Pulse per second) signal from the serial port (Harald
Koenig's [4]k-dcf patch).
* Handle SAK and Ctrl-Alt-Del in raw keyboard mode (see Markus
Gutschke's <guts...@uni-muenster.de> [5]SAK patch)
* Better support for Plug'n Play cards (see [6]RedHat's web pages)
* Individual scrollback for each console
* Being able to use DOS drivers (Interface to dosemu?)
* Full integration of the sound driver
* Noblink patch

New drivers

* PC speaker patch
* Uniform pointing device support (contact
<vojt...@atrey.karlin.mff.cuni.cz>)
* Mouse support for non-console terminals
* Make up a standardized frame grabber interface (VFG-layer)
* Better scanner support (TWAIN interface?)

fs

New filesystem types

* hfs filesystem (Paul H. Hargrove <hargr...@sccm.stanford.edu>,
[7]HFS project.
* userfs filesystem
* [8]NTFS filesystem (works read-only)
* [9]CODA (distributed file system) port
* Joliet CD-Rom extensions (in Alpha; see the [10]Joliet project 
* VFAT-UMSDOS
* [11]FAT32 driver 
* Read-write UFS file system support (Jared Mauch,
<ja...@wolverine.hq.cic.net>)
* Being able to mount DriveSpace volumes under Linux
* NETBios

Existing systems

* Making atime a configurable option (per file system?) (Already
done, <ty...@mit.edu>)
* Different NFS stuff <o...@monad.swb.de>'s [12]Linux NFS probject :
+ Swap files over NFS
+ NFS write clustering/coalescing/biod
+ NFS V3 (RFC 1813)
+ In-kernel nfsd
+ Secure NFS
+ lockd
+ statd
* [13]Journaling file system 
* Access Control Lists and other security enhancements (POSIX.6
things, optional)
* Generic "mount one file system on top of another" option (e.g.
read from CD, write to HD); shadow filesystem.
* support 64-bit file size, according to the [14]Large File / File
System Support suggestion
* Opening a file by device/inode (for root only)
* A union file system
* Making mandatory locking a mount option (done;
<a...@lysaker.kvaerner.no>)
* Disable link() and rename() if the file if sticky bit is set on
the directory and user is not owner (symmetry with remove())
* Environment variables as part of symbolic links (may cause
security problems with interruptible paths)
* Change removable media without mount/umount (Stephen Tweedie's
[15]supermount patch)
* [16]File-level compression in EXT2 (in user space?)
* Transparent automounter (without symlinks, based on loopback,
maybe?)
* tmpfs, like Solaris
* Undelete command and/or versioned file system
* Turn on the ext2fs secure deletion feature

include

* Being able to compile from sources mounted read-only (Michael
Chastain <m...@duracef.shout.net>)
* Cleaning up the header files so that everything not needed in
userland goes into #ifdef __KERNEL__ (Michael Chastain
<m...@duracef.shout.net>)
* Putting constants / declarations that are only needed in a single
directory into that directory, and reserve include/linux for
global interfaces (Michael Chastain's <m...@duracef.shout.net>
[17]CDROM patches)
* Global min/max functions

init

* Allowing the video mode code at bootup to be optional
* Making the boot messages more configurable (see [18]Thomas
Quinot's work), for example assigning different colors to
different message levels, or leaving out some messages altogether.
* Making 80 chars the maximum line length during boot (optional)
* Cleanup of boot parameter syntax for insmod and lilo/loadlin
* Increasing the maximum length of boot parameters for all loaders
* [19]Serial console support
* Get memory size using INT 15h, see the [20]documentation about the
interface
* Memory test at bootup
* Booting from a RAID device (within limitations)

ipc

* POSIX.1b (aka POSIX.4) stuff (see [21]A Vision for Linux 2.2 --
POSIX.1b Compatibility and Real-Time Support by Markus Kuhn for a
good summary):
+ Improved signals (more signals, additional data, queued
signals, signal priorities)
+ Improved IPC (strings as shared memory names, semaphores)
+ Synchronous I/O
+ Better timers
+ Asynchronous I/O (possibly by using clone())
+ Better interrupt latency

kernel

* Minimalistic video code to make Linux more "aware" of the current
state (see the [22]GGI project)
* Update the kernel PLL to the current xntpd specs
* More flexible configuration through sysctl()
* General per-user resources (CPU, IP, memory quotas)
* Making all sorts of statistics available via /proc (for tools like
HP-UX Glance, or for putting into logfiles for later analysis)
* Making /proc/?stat a memory-mappable file with a "round" size for
faster access
* SIGSYS for i386
* Ethernet load balancing, for high-performance switches ([23]
BEOWULF project) 
* Optional core file versioning (core.pid, for example).
* More informative error messages for bad memory (the infamous
SIG11)
* Long uids and gids
* System call auditing (for real paranoids)
* signal stacks (done, not yet included;
<msm...@quix.robins.af.mil>)
* Finer-locked permissions for specific tasks
* Ability to change the scheduler at runtime, via loading a module
* Fully debugging a running kernel on Intel (can be done remotely
via the [24]gdbstuff package)
* Clearup of error messages
* Being able to prevent other users from seeing processes (option to
/proc)
* Allowing tasks in kernel mode to be preemted if they ask for it
* Allowing the kernel to use swappable memory
* Long-term stabilization of the module ABI
* FPU - based memcpy for Pentium / Pentium Pro
* Cx (for suitable x) security validation
* APM for non-laptops
* Allow process run by normal users to lock a few pages into memory
(limitable).
* Get the dumpable flag of a process
* Guaranteed stream throughput (for example, reserve 300 kB/sec for
reading a file from disk)
* MMX - based TCP checksumming code (possible)?
* Better support for non-intel x86 processors (Cyrix, ...)
([25]done; see here)

mm

* Deal with "out of VM" situations more gracefully
* real swapping (instead of paging) so multiple high memory usage
jobs can run concurrently
* Preemptive paging (copy pages to swap when the system is idle)
* Swap out page tables
* Shared pool of zero pages for processes
* Shared Memory-mapping of /dev/zero or a working MAP_ANONYMOUS
* Better memory management to get large continous DMA buffers
(contact <ja...@purplet.demon.co.uk>)
* Better kmalloc debugging; making kmalloc of other sizes (multiple
of 16) allocatable (almost done; <ja...@purplet.demon.co.uk>)
* Cleaner code for swap files (FAT now supports bmap())
* Using the PPro's 36-bit virtual addresses
* As an alternative to NFS swapping, a dedicated swap protocol

net

* PPP support for Appletalk (<b...@pht.com>'s [26]project)
* ACLs for inet ports (allow port 53 set to owner 'dns', for
example)
* Per-user IP accounting <airl...@skynet.ul.ie>
* Limiting TCP bandwidth (Done; Alan Cox <alan....@linux.org>'s
[27]shaper project)
* per user accounting and firewalling
* STREAMS support (possibly in userspace)
* Add support for the KIP protocol (in user space?)
* Secure RPC (for NFS, for example)
* Faster firewalling and routing, either with machine code via
module, or a lex-like table. (Is this faster?)
* Routing based on firewalling - like context
* /proc/net counters in 64 bit

References

1. http://www.uni-karlsruhe.de/~ig25/kernel-wishlist.html
2. http://www.uk.linux.org/Linux8086.html
3. http://satsuma.sys.uea.ac.uk/~ben/third.html
4. ftp://sol.wohnheim.uni-ulm.de/pub/linux/misc/dcf77-info-1.1.tar.gz
5. http://www.ccs.neu.edu/home/albert/SAK.patch.gz
6. http://www.redhat.com/linux-info/pnp/
7. http://www-sccm.stanford.edu/~hargrove/HFS/
8. http://www.informatik.hu-berlin.de/~loewis/ntfs/
9. http://www-cgi.cs.cmu.edu/afs/cs/project/coda/Web/coda.html
10. ftp://www-plateau.cs.berkeley.edu/pub/multimedia/linux/joliet/
11. http://www-plateau.cs.berkeley.edu/people/chaffee/fat32.html
12. ftp://fb0429.mathematik.th-darmstadt.de/pub/linux/okir/dontuse/
13. http://lucien.blight.com/~c-cook/prof/lfs/
14. http://www.sas.com/standards/large.file
15. ftp://linux.dcs.ed.ac.uk/pub/linux/supermount/
16. http://netspace.net.au/~reiter/e2compr.html
17. ftp://ftp.shout.net/pub/users/mec/
18. http://web.fdn.fr/~tquinot/linux-default-loglevel.html
19. ftp://ftp.cistron.nl/pub/os/linux/kernel/patches/v2.0/
linux-2.0.20-serial-cons-kmon.diff
20. http://www.uruk.org/grub/mem64mb.html
21. ftp://ftp.informatik.uni-erlangen.de/local/cip/mskuhn/misc/linux-posix.1b
22. http://synergy.caltech.edu/~ggi/
23. http://cesdis.gsfc.nasa.gov/linux-web/beowulf/beowulf.html
24. ftp://ftp.gcom.com/pub/linux/src/gdbstub/
25. http://www.ecsnet.com/
26. http://gandalf.pht.com/~brad/atalk/
27. ftp://shadow.cabi.net/pub/Linux/shaper-alpha-15.tar.gz

From: i...@fg70.rz.uni-karlsruhe.de (Thomas Koenig)
Subject: Kernel 2.2.0 wishlist
Date: 1996/10/01
Message-ID: <52r6bg$78v@fg70.rz.uni-karlsruhe.de>
X-Deja-AN: 186555712
distribution: local
organization: Mail -> News Gateway
reply-to: Thomas.Koe...@ciw.uni-karlsruhe.de
newsgroups: linux.dev.kernel


Wishlist for Linux 2.2.0

Now that Linux 2.1 is out, it's time for another round of Request For
Features.

Here's what people on linux-kernel have been suggesting, in no
particular order. Some items are rather hotly debated.

I'm also listing who's working on what, if I know about it. If you
want to drop me a line with additional info, I'll put it in. This
might be your E-Mail address, or the URL for a patch that people may
try out. It might be a good idea to talk to the people who've already
done something before you start a project :-)

First, user-visible things:
* Modularization of ide.c and ide-cd.c
* Minimalistic video code to make Linux more "aware" of the current
state
* Making the boot process less verbose as an option
* Colorizing the boot-up display (as an option, some people can't
stand colors :-)
* Making 80 chars the maximum line length during boot (optional)
* Shared Memory - mapping of /dev/zero or a working MAP_ANONYMOUS
* Make the system embeddable (see the [1]Linux 8086 project 
* [2]Journaling file system 
* Access Control Lists and other security enhancements (POSIX.6
things)
* Full Threads support using clone()
* Queued signals and other POSIX.1b (aka POSIX.4) stuff (see [3]A
Vision for Linux 2.2 -- POSIX.1b Compatibility and Real-Time
Support by Markus Kuhn for a good summary)
* signal stacks
* Undelete command and/or versioned file system
* Turn on the ext2fs secure deletion feature
* 32-bit or 64-bit minor/major device numbers
* STREAMS support (possibly in userspace)
* IPv6 (in progress)
* General per-user resources (CPU, IP, memory quotas)
* Limiting TCP bandwidth (Alan Cox
<iia...@lusers.are.not.humans.org>) see [4]the shaper project
* per user accounting and firewalling
* System call auditing (for real paranoids)
* Making atime a configurable option (per file system?)
* Moving of all the relevent README files into the Documention
directory
* Localtalk support for the Appletalk stack
* Allowing the video mode code at bootup to be optional
* Being able to run a parallel zip drive and a printer at the same
time (Grant Guenther, gr...@gear.torque.net)
* Ability to change the scheduler at runtime, via loading a module
* SCSI device numbers should include drive IDs, not be consecutively
numbered
* Microchannel support
* More flexible configuration through sysctl
* Integrated PCMCIA support
* hfs filesystem (Paul H. Hargrove <hargr...@sccm.stanford.edu>,
[5]http://www-sccm.stanford.edu/~hargrove/HFS/.
* userfs and NTFS filesystems
* physical/logical volume manager (like AIX)
* PC speaker patch
* parallel port sound input driver
* real swapping (instead of paging) so multiple high memory usage
jobs can run concurrently
* Preemptive paging
* A union file system
* Deal with "out of VM" situations more gracefully
* revoke() system call (make sure nobody holds this device open)
* Swap files over NFS
* Opening serial lines or changing the baud rate without raising any
modem control lines (DTR, RTS)
* Setting the interrupt trigger level for 16650s from the command
line
* Registering/unregistering transfer functions for the loop device
* Fully debugging a running kernel on Intel
* Support for more RAID levels
* Making mandatory locking a mount option
* Add support for the KIP protocol
* NFS write clustering/coalescing/biod (Linus)
* NFS V3 (RFC 1813)
* Caching a slow block device on a fast one (loot at the [6]BCCF
project )
* Handle SAK and Ctrl-Alt-Del in raw keyboard mode (see Markus
Gutschke's <guts...@uni-muenster.de> [7]SAK patch)
* Secure RPC (for NFS, for example)
* Allow process run by normal users to lock a few pages into memory
* Get the dumpable flag of a process
* Being able to prevent other users from seeing processes (option to
/proc)
* Better support for Plug'n Play cards (see [8]RedHat's web pages)
* Guaranteed stream throughput (for example, reserve 300 kB/sec for
reading a file from disk)
* Paging binaries run off CD-ROM and NFS to local swap
* Uniform pointing device support.
* Environment variables as part of symbolic links (may cause
security problems with interruptible paths)
* Generic "mount one file system on top of another" option
* Get memory size using INT 15h, see the [9]documentation about the
interface
* Update the kernel PLL to the current xntpd specs
* support 64-bit file size, according to the [10]Large File / File
System Support suggestion
* Read-write UFS file system support (Jared Mauch,
<ja...@wolverine.hq.cic.net>)
* Serial console support
* Exclusive open mechanism for raw disks (<Andries.Brou...@cwi.nl>,
Grant Guenther <gr...@gear.torque.net>)
* Full support for EPP/ECP modes in the parallel port disk drivers
* Cleanup of boot parameter syntax for insmod and lilo/loadlin
* Change removable media withour mount/umount (Stephen Tweedie's
[11]supermount patch)
* Get a PPS (Pulse per second) signal from the serial port (Harald
Koenig's [12]k-dcf patch).
* Make up a standardized frame grabber interface (VFG - layer)
* File - level compression in EXT2
* Noblink patch
* PC speaker sound patch
* Being able to mount DriveSpace volumes under Linux
* Shrinkable / extensible file system and logical volume manager

Second, internal kernel stuff:
* Adaption of all CD-ROM drivers to generic interface
* Drivers being able to throw away their init. code once complete
* Global min/max functions
* Faster dep (qdep, for example)
* Being able to compile from sources mounted read-only
* Better kmalloc debugging
* Cleaner code for swap files (FAT now supports bmap())
* Cleaning up the header files so that everything not needed in
userland goes into #ifdef __KERNEL__ (Michael Chastain
<m...@duracef.shout.net>)
* Better memory management to get large continous DMA buffers
* Remapping the kernel to a higher virtual address
(<Linus.Torva...@cs.Helsinki.fi>)

References

1. http://www.linux.org.uk/Linux8086.html
2. http://lucien.blight.com/~c-cook/prof/lfs/
3. ftp://ftp.informatik.uni-erlangen.de/local/cip/mskuhn/misc/linux-posix.1b
4. ftp://shadow.cabi.net/pub/Linux/shaper-alpha-15.tar.gz
5. http://www-sccm.stanford.edu/~hargrove/HFS/
6. http://satsuma.sys.uea.ac.uk/~ben/third.html
7. http://www.ccs.neu.edu/home/albert/SAK.patch.gz
8. http://www.redhat.com/pnp/
9. http://www.uruk.org/grub/mem64mb.html
10. http://www.sas.com/standards/large.file
11. ftp://linux.dcs.ed.ac.uk/pub/linux/supermount/
12. ftp://sol.wohnheim.uni-ulm.de/pub/linux/misc/dcf77-info-1.1.tar.gz

From: a...@lxorguk.ukuu.org.uk (Alan Cox)
Subject: Re: Kernel 2.2.0 wishlist
Date: 1996/10/09
Message-ID: <53hahr$j6h@lightning.swansea.linux.org.uk>#1/1
X-Deja-AN: 188557063
distribution: local
references: <52r6bg$78v@fg70.rz.uni-karlsruhe.de>
x-submitted-via: n...@ratatosk.yggdrasil.com (linux.* gateway)
x-hdr-sender: a...@lxorguk.ukuu.org.uk 
organization: UKUU - Free UK UUCP
x-env-sender: a...@lxorguk.ukuu.org.uk
newsgroups: linux.dev.kernel


In article <52r6bg$...@fg70.rz.uni-karlsruhe.de>,
Thomas Koenig <Thomas.Koe...@ciw.uni-karlsruhe.de> wrote:
> * Limiting TCP bandwidth (Alan Cox
> <iia...@lusers.are.not.humans.org>) see [4]the shaper project

Done.. and lusers.are.not.humans needs to move as the host it points to is
no more. Once 2.0.x is stable I'll send Linus a patch to drop the shaper in

> * Making atime a configurable option (per file system?)

Already a patch for this. Goes with needing a bigger directory cache

> * Localtalk support for the Appletalk stack
Thats been there for ages, we just have zero drivers for localtalk

> * Being able to run a parallel zip drive and a printer at the same
> time (Grant Guenther, gr...@gear.torque.net)
and a quickcam and a parallel port tape drive and..

> * Microchannel support
Just wants merging - and it would be good to merge this BEFORE 2.1.x
disappears off radically. Its been waiting to merge since about 0.99.5

> * Add support for the KIP protocol

KIP is a user space problem unless you want to drag a vast amount of cack
into kernel space. 

> * NFS write clustering/coalescing/biod (Linus)
[Olaf surely]

> * Secure RPC (for NFS, for example)
[Alexey was doing some good stuff on this]

> 1. http://www.linux.org.uk/Linux8086.html
www.uk.linux.org please - the other domain dies soon

Alan

-- 
UKUU free UUCP Project Swansea | Alan Cox, <alan....@linux.org>
+44 1792 422028 (Cabletel) | Custom Linux Software Projects.
Sonix 33.6K 24x7 | Linux Consultancy. Linux Networking.
Free mail/news feeds for almost all--------------------------------------

			        About USENET

USENET (Users’ Network) was a bulletin board shared among many computer
systems around the world. USENET was a logical network, sitting on top
of several physical networks, among them UUCP, BLICN, BERKNET, X.25, and
the ARPANET. Sites on USENET included many universities, private companies
and research organizations. See USENET Archives.

		       SCO Files Lawsuit Against IBM

March 7, 2003 - The SCO Group filed legal action against IBM in the State 
Court of Utah for trade secrets misappropriation, tortious interference, 
unfair competition and breach of contract. The complaint alleges that IBM 
made concentrated efforts to improperly destroy the economic value of 
UNIX, particularly UNIX on Intel, to benefit IBM's Linux services 
business. See SCO vs IBM.

The materials and information included in this website may only be used
for purposes such as criticism, review, private study, scholarship, or
research.

Electronic mail:			       WorldWideWeb:
   tech-insider@outlook.com			  http://tech-insider.org/