Kernel 2.2.0 wishlist

Thomas Koenig (ig25@fg70.rz.uni-karlsruhe.de)
1 Oct 1996 15:29:20 +0200


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
<iialan@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, grant@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 <hargrove@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 <gutschk@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,
<jared@wolverine.hq.cic.net>)
* Serial console support
* Exclusive open mechanism for raw disks (<Andries.Brouwer@cwi.nl>,
Grant Guenther <grant@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
<mec@duracef.shout.net>)
* Better memory management to get large continous DMA buffers
* Remapping the kernel to a higher virtual address
(<Linus.Torvalds@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