2.5 'what to expect'
In preparation for the flood of testers as we approach 2.6pre, I thought I'd give this doc another airing to be sure that it isn't missing anything important.. (Plus I've been meaning to post an update for a while, and 42 sounded like a good number).
Dave
The post-halloween document. v0.42
(aka, 2.5 - what to expect)
Dave Jones <[email protected]>
(Updated as of 2.5.75)This document explains some of the new functionality to be found in the 2.5 Linux kernel, some pitfalls you may encounter, and also points out some new features which could really use testing.
Note, that "contact [email protected]" below also implies that you should also
cc: [email protected].
Latest version of this document can always be found at
http://www.codemonkey.org.uk/post-halloween-2.5.txt
Thanks to many [far too many to list] people for valuable feedback.
Note, that this document is somewhat x86-centric, but most features documented here affect all platforms anyway.
Spanish translation at:
http://www.terra.es/personal/diegocg/post-halloween-2.5.es.txt
Applying patches.
~~~~~~~~~~~~~~~~~
- In 2.4 and previous kernels, the recommended way to apply patches was to use a command line such as ...
gzip -cd patchXX.gz | patch -p0
In 2.5, Linus started adding an extra path element to the diffs, so using -p1 in the untarred 'to be patched' directory is necessary.
Known gotchas.
~~~~~~~~~~~~~~
Certain known bugs are being reported over and over. Here are the workarounds.
- Blank screen after decompressing kernel?
Make sure your .config has
CONFIG_INPUT=y, CONFIG_VT=y, CONFIG_VGA_CONSOLE=y and CONFIG_VT_CONSOLE=y A lot of people have discovered that taking their .config from 2.4 and running make oldconfig to pick up new options leads to problems, notably with CONFIG_VT not being set.
- An additional bug biting some people is that NICs fail to receive packets (usually notable by a NIC not getting a DHCP lease for eg, despite being sent one by the server). Booting with "noapic" "acpi=off" or a combination of both fixes this for most people. Additional breakage reports should go to Jeff Garzik <[email protected]>
- (Possibly linked to above bug) VIA APIC routing is currently broken. boot with 'noapic'.
- Can't load any modules? You need updated tools (See modules section below).
Regressions.
~~~~~~~~~~~~
(Things not expected to work just yet)
- The hptraid/promise RAID drivers are currently non functional, and will probably be converted to use device-mapper.
- Some filesystems still need work (Intermezzo, UFS, HFS, HPFS..)
- A number of drivers don't compile currently due to them needing various work to convert them to the new APIs
- UMSDOS fs is currently missing, pending rewrite.
- The format of /proc/stat changed, which could break some applications that still depend on the old layout.
Currently the only known application to break is the java 'DOTS' app. (http://bugme.osdl.org/show_bug.cgi?id=277)
- Some people seem to have trouble running rpm, most notably Red Hat 9 users. This is a known bug of rpm.
Workaround: run "export LD_ASSUME_KERNEL=2.2.5", before running rpm.
Deprecated features.
~~~~~~~~~~~~~~~~~~~~
- khttpd is gone.
- Older Direct Rendering Manager (DRM) support (For XFree86 4.0) has been removed. Upgrade to XFree86 4.1.0 or higher.
- LVM1 has been removed. See Device-mapper below.
- boot time root= parsing changed.
ramdisks are now ram<n> instead of rd<n> and cm206 is cm206cd (instead of cm206).
- The system call table is no longer exported. Any module that relied on this previously will no longer work.
- Soundmodem hamradio support has been removed. Its functionality has been superceded by a userspace replacement.
http://www.baycom.org/~tom/ham/soundmodem
- Direct booting from floppy is no longer supported.
You should now use a boot loader program instead.
- Callout tty devices (/dev/cua) have been deprecated since 2.1.90pre2. Support is now removed.
Modules.
~~~~~~~~
- The in-kernel module loader got reimplemented.
- You need replacement module utilities from
http://www.kernel.org/pub/linux/kernel/people/rusty/modules/
- A backwards compatible set of module utilities is also available from the same URL in RPM format.
- Debian sid users can 'apt-get install module-init-tools'
- Modules now free stuff marked with __init or __initdata.
- For Red Hat users, there's another pitfall in "/etc/rc.sysinit". During startup, the script sets up the binary used to dynamically load modules stored at "/proc/sys/kernel/modprobe". The initscript looks for "/proc/ksyms", but since it doesn't exist in 2.5 kernels, the binary used is "/sbin/true" instead.
This, eventually, will keep modules from working. Red Hat users will have to patch the "/etc/rc.sysinit" script to set "/proc/sys/kernel/modprobe" to "/sbin/modprobe", even when "/proc/ksyms" doesn't exist.
Kernel build system.
~~~~~~~~~~~~~~~~~~~~
- The build system is much improved compared to 2.4.
You should notice quicker builds, and less spontaneous rebuilds of files on subsequent builds from already built trees.
- There are new graphical config tools.
"make xconfig" now requires the qt libraries.
"make gconfig" uses gtk libraries.
- Make menuconfig/oldconfig has no user-visible changes other than speed, whilst numerous improvements have been made.
- Several new debug targets exist: 'allyesconfig' 'allnoconfig' 'allmodconfig'.
- Note: The new configuration system is not CML2 related.
- Also note: Whilst some ideas were taken from it, Keith Owens' kbuild-2.5 project was not integrated.
- "make" is now the preferred command, without a target; it does <arch-zimage> and modules.
- "make -jN" is now the preferred parallel-make execution.
Do not bother to provide "MAKE=xxx"
- The build is now much less verbose. If you want to see exactly what's going on, try "make V=1" or set KBUILD_VERBOSE=1 in your environment.
- 'make kernel/mm.o' will build the named file, provided a corresponding source exists. This also works for (non-composite) modules. (FIXME: broken for modules right now?)
- 'make kernel/' will compile all files in a subdirectory and below.
- There is no need to run 'make dep' at any stage.
- 'make help' provides a list of typical targets, including debugging targets.
IO subsystem.
~~~~~~~~~~~~~
- You should notice considerable throughput improvements over 2.4 due to much reworking of the block and the memory management layers.
- Report any regressions in this area to Jens Axboe <[email protected]> and Andrew Morton <[email protected]>.
- Several different IO elevators are available to match different types of workload. You can select which one to use with elvtune.
- Assorted changes throughout the block layer meant various block device drivers had a large scale cleanup whilst being updated to newer APIs.
- The size and alignment of O_DIRECT file IO requests now matches that of the device, not the filesystem. Typically this means that you can perform O_DIRECT IO with 512-byte granularity rather than 4k. But if you rely upon this, your application will not work on 2.4 kernels and will not work on some devices.
Enormous block size support.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Thanks to work done by Peter Chubb, block devices can now access up to 16TB on 32-bit architectures, and up to 8EB on 64-bit architectures.
- To use the new BLKGETSZ64 ioctls, you'll need updated file-utils. (Currently only jfsutils 1.0.20 has this change, patches for other filesystems are still pending merging)
POSIX ACLs & Extended attributes.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Userspace tools available at http://acl.bestbits.at
VM Changes.
~~~~~~~~~~~
- Version zero swap partitions are no longer supported (everything is using v1 now anyway - rerun mkswap if in doubt).
Linux 2.0.x requires v0 swap space, Linux v2.1.117 and later support v1. mkswap(8) can format swap space in either format.
- The actual 'reverse mappings' part of Rik van Riel's rmap vm was merged. VM behaviour under certain loads should improve.
- VM misbehaviour should be reported to [email protected]
- The VM explicitly checks for sparse swapfiles, and aborts if one is found.
- /proc/sys/vm/swappiness defines the kernel's preference for pagecache over mapped memory. Setting it to 100 (percent) makes it treat both types of memory equally. Setting it to zero makes the kernel very much prefer to reclaim plain pagecache rather than mapped-into-pagetables memory.
- The bdflush() syscall is now officially deprecated. The syscall does nothing, and prints a stern warning to users. The functionality is replaced by the pdflush daemons.
- Due to various changes, swap files should be just as fast as swap partitions.
Kernel preemption.
~~~~~~~~~~~~~~~~~~
- The much talked about preemption patches made it into 2.5. With this included you should notice much lower latencies especially in demanding multimedia applications.
- Note, there are still cases where preemption must be temporarily disabled where we do not. These areas occur in places where per-CPU data is used.
- If you get "xxx exited with preempt count=n" messages in syslog, don't panic, these are non fatal, but are somewhat unclean. (Something is taking a lock, and exiting without unlocking)
- If you DO notice high latency with kernel preemption enabled in a specific code path, please report that to Andrew Morton <[email protected]> and Robert Love <[email protected]>.
The report should be something like "the latency in my xyz application hits xxx ms when I do foo but is normally yyy" where foo is an action like "unlink a huge directory tree".
Process scheduler improvements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Another much talked about feature. Ingo Molnar reworked the process scheduler to use an O(1) algorithm. In operation, you should notice no changes with low loads, and increased scalability with large numbers of processes, especially on large SMP systems.
- Scheduler is now Hyperthreading SMP aware and will disperse processes over physically different CPUs, instead of just over logical CPUs.
- Robert Love wrote various utilities for changing behaviour of the scheduler (binding processes to CPUs etc). You can find these tools at
http://tech9.net/rml/schedutils
- The behavior of sched_yield() changed a lot. A task that uses this system call should now expect to sleep for possibly a very long time. Tasks that do not really desire to give up the processor for a while should probably not make heavy use of this function. Unfortunately, some GUI programs (like Open Office) do make excessive use of this call and under load their performance is poor. It seems this new 2.5 behavior is optimal but some user-space applications may need fixing.
- The above applies to use of yield() in the kernel, too.
- 2.5 adds system calls for manipulating a task's processor
affinity: sched_getaffinity() and sched_setaffinity()
- Regressions to [email protected] and [email protected]
- Debian users who encounter effects such as skips in mp3 playback, jerky mouse movement may want to stop the
X server from renicing itself to -10
You can alter this permanently with 'dpkg-reconfigure xserver-common'; if you elect not to have /etc/X11/Xwrapper.config managed by debconf, simply edit it directly.
- Balancing of IRQs between multiple CPUs should be handled using the irqbalance (http://people.redhat.com/arjanv/irqbalance/) program.
- David Mosberger maintains a webpage containing some current 'known gotchas' of the O(1) scheduler at http://www.hpl.hp.com/research/linux/kernel/o1.php
PCI.
~~~~
- PCI domain support has been added. For most people, this just means that all PCI slot names are extended with "0000:" on the front, but for people with bigger servers it means they're able to access all their PCI devices.
- More hotplug drivers have been added, including a fake PCI hotplug driver so people without specialised hardware can test hotplug features.
Fast userspace mutexes (Futexes).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Rusty Russell added functionality that allows userspace to have fast mutexes that only use syscalls when there is contention. Used by NPTL.
- Bert Hubert has written some documentation on this functionality at http://ds9a.nl/futex-manpages
epoll
~~~~~
Davide Libenzi wrote an event based poll replacement that got included in 2.5. More info available at
http://www.xmailserver.org/linux-patches/nio-improve.html
http://lwn.net/Articles/13587/
Threading improvements.
~~~~~~~~~~~~~~~~~~~~~~~
- Ingo Molnar put a lot of work into threading improvements during 2.5. Some of the features of this work are:
- Generic pid allocator (arbitrary number of PIDs with no slowdown, unified pidhash).
- Thread Local Storage syscalls
- sys_clone() enhancements (CLONE_SETTLS, CLONE_PARENT_SETTID, CLONE_SETTID, CLONE_CLEARTID, CLONE_DETACHED)
- POSIX thread signals stuff (atomic signals, shared signals, etc.) - Per-CPU GDT - Threaded coredumping support - sys_exit() speedups (O(1) exit) - Generic, improved futexes, vcache - New, threading related ptrace features - exit/fork task cache - /proc updates for threading - API changes for threading.
- Users should notice a significant speedup in basic thread operations. This is true to a lesser extent even for old-threading userspace libraries such as LinuxThreads.
- Regressions should go to Ingo Molnar <[email protected]> and [email protected]. Regressions could happen in the area of signal handling and related threading semantics, plus coredumping.
- Native Posix Threading Library (NPTL).
Ulrich Drepper worked closely with Ingo on the threading enhancements, and developed a 1:1 model threading library. You can find out more about NPTL at
http://people.redhat.com/drepper/nptl-design.pdf
Enhanced coredumping.
~~~~~~~~~~~~~~~~~~~~~
- 2.5 offers you the ability to configure the way core files are named through a /proc/sys/kernel/core_pattern file. You can use various format identifiers in this name to affect how the core dump is named.
%p - insert pid into filename
%u - insert current uid into filename
%g - insert current gid into filename
%s - insert signal that caused the coredump into the filename %t - insert UNIX time that the coredump occurred into filename %h - insert hostname where the coredump happened into filename %e - insert coredumping executable name into filename
You should ensure that the string does not exceed 64 bytes.
- Multithreaded processes can now dump core
Input layer.
~~~~~~~~~~~~
- Possibly the most visible change to the end user. If misconfigured, you'll find that your keyboard/mouse/other input device will no longer work. 2.5 offers a much more flexible interface to devices such as keyboards.
- The downside is more confusing options.
In the "Input device support" menu, be sure to enable at least the following.
--- Input I/O drivers
< > Serial i/o support
< > i8042 PC Keyboard controller
[ ] Keyboards
[ ] Mice
(Also choose the relevant keyboard/mouse from the list)
- If you find your keyboard/mouse still don't work, edit the file drivers/input/serio/i8042.c, and replace the #undef DEBUG with a #define DEBUG
When you boot, you should now see a lot more debugging information. Forward this information to Vojtech Pavlik <[email protected]>
- If you use a KVM switcher, and experience problems, booting with the boot time argument 'psmouse_noext' should fix your problems.
- Users of multimedia keys without X will see changes in how the kernel handles those keys. People who customize keymaps or keycodes in 2.4 may need to make some changes in 2.5
PnP layer.
~~~~~~~~~~
- Support for plug and play devices such as early ISAPnP cards has improved a lot in the 2.5 kernel. The new code behaves more closely to the code handling PCI devices (probe, remove etc callbacks), and also merges PnP BIOS access code.
- Report any regressions in plug & play functionality to
Adam Belay <[email protected]>
ALSA.
~~~~~
- The advanced linux sound architecture got merged into 2.5.
This offers considerably improved functionality over the older OSS drivers, but requires new userspace tools.
- Several distros have shipped ALSA for some time, so you may already have the necessary tools. If not, you can find them at http://www.alsa-project.org/
- ALSA can emulate OSS interface using the snd_pcm_oss/snd_pcm_mixer modules, if your card produces nothing but silence, you may need to run alsamixer to unmute channels wich /dev/mixer doesn't see
- Note that the OSS drivers are also still functional, and still present. Many features/fixes that went into 2.4 are still not applied to these drivers, and it's still unclear if they will remain when 2.6/3.0 ships. The long term goal is to get everyone moved over to (the superior) ALSA.
AGP.
~~~~
- The agpgart driver got a long overdue cleanup which involved splitting it into an agpgart core, and per-chipset drivers. You may need to adjust your modules configuration to autoload the chipset drivers on loading the agpgart module.
- Generic AGP 3.0 support is now included.
Faster system calls.
~~~~~~~~~~~~~~~~~~~~
- Systems that support the SYSENTER extension (Basically Intel PPro and above, and AMD Athlons) now have a faster method of making the transition from userspace to kernelspace when a syscall is performed.
- Without an updated glibc, this will not be noticable.
- VMWare 4 users may get crashes due to this.
Zwane Mwaikambo wrote a patch for a "nosysenter" option which is worth googling for if there isn't a vmware update available.
- Regressions to [email protected] and [email protected]
procps.
~~~~~~~
- The 2.5 /proc filesystems changed some statistics, which confuse older versions of procps. Rik van Riel and Robert Love have been maintaining a version of procps during the 2.5 cycle which tracks changes to /proc which you can find at http://tech9.net/rml/procps/
- Alternatively, the procps by Albert Cahalan now supports the altered formats since v3.0.5 -- http://procps.sf.net/
- The /proc/meminfo format changed slightly which also broke gtop in strange ways. Likely this also broke some of the KDE/GNOME panel applets.
Framebuffer layer.
~~~~~~~~~~~~~~~~~~
- James Simmons has reworked the framebuffer/console layer considerably during 2.5. Support for some cards is still lagging a little, but it should be functionally no different than previous incarnations.
- boot time arguments may have changed depending on your driver. an example of the change is..
append = "video=radeon:1024x768-24@100"
needs to become..
append = "video=radeonfb:1024x768-24@100"- Current userspace tools (fbset for eg) are not yet updated,
and won't function as expected.
- The VESA framebuffer now enables MTRRs for the framebuffer memory range during initialisation (Note: PCI cards only).
If you notice screen corruption, please report this, along with an lspci output, so your card can be blacklisted.
- Any problems should go to <[email protected]>
IDE.
~~~~
- The IDE code rewrite was subject to much criticism in early 2.5.x, which put off a lot of people from testing. This work was then subsequently dropped, and reverted back to a 2.4.18 IDE status.
Since then additional work has occurred, but not to the extent of the first cleanup attempts.
- Known problems with the current IDE code.
o Simplex IDE devices (eg Ali15x3) are missing DMA sometimes o Serverworks OSB4 may panic on bad blocks or other non fatal errors o PCMCIA IDE hangs on eject o Most PCMCIA devices have unload races and may oops on eject o Modular IDE does not yet work, modular IDE PCI modules sometimes
oops on loading
o ide_scsi is completely broken in 2.5.x. Known problem. If you need it either use 2.4 or fix it 8)
- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager are no longer supported. The only way forward is to remove the translator from the drive, and start over.
IDE TCQ.
~~~~~~~~
- Tagged command queueing for IDE devices has been included.
- Not all combinations of controllers & devices may like this, so handle with care.
READ AS: ** Don't use IDE TCQ on any data you value.
It's likely bad combinations will be blacklisted as and when discovered.
- If you didn't choose the "TCQ on by default" option, you can enable it by using the command
echo "using_tcq:32" > /proc/ide/hdX/settings
(replacing 32 with 0 disables TCQ again).
- Report success/failure stories to Jens Axboe <[email protected]> with inclusion of hdparm -i /dev/hdX, and lspci output.
SCSI.
~~~~~
- Various SCSI drivers still need work, and don't even compile.
- Various drivers currently lack error handling.
These drivers will cause warnings during compilation due to missing abort: & reset: functions.
- Note, that some drivers have had these members removed, but still lack error handling. Those noticed so far are ncr53c8xxx, sym53c8xx and inia100
- large dev_t support allowing thousands of disks to be supported (was 128 or 256 in the 2.4 series)
- major code cleanup, initially to support the block layer (bio) improvements have led to:
- better throughput (?) [less double handling of data]
- per HBA locks (there was a single io_request_lock in
the 2.4 series)
- more flexible interface to HBA drivers
- better hotplug support, especially for USB mass storage and ieee1394 sbp2 devices [well it's work_in_progress]
- improved error processing and scanning code (support for large, sparse lun spaces)
- lots of scsi driver "innards" available via sysfs
v4l2.
~~~~~
- The video4linux API finally got its long awaited cleanup.
- xawtv, bttv and most other existing v4l tools are also compatible with the new v4l2 layer. You should notice no loss in functionality.
- See http://bytesex.org/v4l/ for more information.
Quota reworking.
~~~~~~~~~~~~~~~~
The new quota system needs new tools. Supports 32 bit uids.
http://www.sf.net/projects/linuxquota/
CD Recording.
~~~~~~~~~~~~~
- Jens Axboe added the ability to use DMA for writing CDs on ATAPI devices. Writing CDs should be much faster than it
was in 2.4, and also less prone to buffer underruns and the like.
- Updated cdrecord in rpm and tar.gz can be found at *.kernel.org/pub/linux/kernel/people/axboe/tools/
- With the above tools, you also no longer need ide-scsi in order to use an IDE CD writer.
- Ripping audio tracks off of CDs now also uses DMA and should be notably faster. You can also find an updated cdda2wav at the same location.
- Send good/bad reports of audio extraction with cdda2wav and burning with the modified cdrecord to Jens Axboe <[email protected]>
- Currently only 'open by device name' works in cdrecord. cdrecord -dev=/dev/hdX -inq
- More info at http://lwn.net/Articles/13538/ & http://lwn.net/Articles/13160/
USB:
~~~~
- Very little user visible changes, the only noticable 'major' change is that there is now only one UHCI driver. As noted elsewhere, usbdevfs got renamed to usbfs.
Nanosecond stat:
~~~~~~~~~~~~~~~~
The stat64() syscall got changed to return jiffies granularity. This allows make(1) to make better decisions on whether or not it needs to recompile a file. Not all filesystems may support such precision.
Filesystems:
~~~~~~~~~~~~
A number of additional filesystems have made their way into 2.5. Whilst these have had testing out of tree, the level of testing after merging is unparalleled. Be wary of trusting data to immature filesystems. A number of new features and improvements have also been made to the existing filesystems from 2.4.
Reports of stress testing with the various tools available would be beneficial.
Generic VFS changes.
~~~~~~~~~~~~~~~~~~~~
- Since Linux 2.5.1 it is possible to atomically move a subtree to another place. The call is...
mount --move olddir newdir
- Since 2.5.43, dmask=value sets the umask applied to directories only. The default is the umask of the current process.
The fmask=value sets the umask applied to regular files only. Again, the default is the umask of the current process.
devfs.
~~~~~~
- devfs got somewhat stripped down and a lot of duplicate functionality got removed. You now need to enable CONFIG_DEVPTS_FS=y and mount the devpts filesystem in the same manner you would if you were not using devfs.
EXT2.
~~~~~
- 2.5.49 included an extension to ext2 which will cause it to not attach buffer_head structures to file or directory pagecache at all, ever. This is for the big highmem machines. It is enabled via the `-o nobh' mount option.
- The ext2 filesystem is now using finer-grained locking which yields reduced context switch rates and higher throughput on large SMP machines.
EXT3.
~~~~~
- The ext3 filesystem has gained indexed directory support, which offers considerable performance gains when used on filesystems with directories containing large numbers of files.
- In order to use the htree feature, you need at least version 1.32 of e2fsprogs.
- Existing filesystems can be converted using the command
tune2fs -O dir_index /dev/hdXXX
- The latest e2fsprogs can be found at
http://prdownloads.sourceforge.net/e2fsprogs
- data=journal mode is currently broken.
- The ext2 and ext3 filesystems have new file allocations policies (the "Orlov allocator") which will place subdirectories closer together on-disk. This tends to mean that operations which touch many files in a directory tree are much faster if that tree was created under a 2.5 kernel.
Reiserfs.
~~~~~~~~~
- Reiserfs now supports inode attributes such as immutable.
NFS.
~~~~
- Basic support has been added for NFSv4 (server and client)
- Additionally, kNFSD now supports transport over TCP. This experimental feature is also backported to 2.4.20
- Interoperability reports with other OS's would be useful.
- v1.0.3 of nfs-utils supports the newer 2.5 kernels change of kdev_t type. You can grab it at http://nfs.sourceforge.net
- Problems to [email protected]
NTFS.
~~~~~
- A new, rewritten NTFS driver got merged during 2.5. It has the following main benefits over the old driver:
- SMP and reentrant safe
- support bigger than 4 kB cluster sizes
- full support for sparse files on W2K/XP/W2K3
- mmap() support
- More stable, and much faster than the previous NTFS driver.
- Still read-only, but with safe file overwrite support without changes to the file size
- More information is available at http://linux-ntfs.sf.net
sysfs.
~~~~~~
In simple terms, the sysfs filesystem is a saner way for drivers to export their innards than /proc.
This filesystem is always compiled in, and can be mounted just like another virtual filesystem. No userspace tools beyond cat and echo are needed.
mount -t sysfs none /sys
See Documentation/filesystems/sysfs.txt for more info.
JFS.
~~~~
IBM's JFS got merged during 2.5. (And backported to 2.4.20, but it was still a new feature here first. You can read more about JFS at
http://www-124.ibm.com/developerworks/oss/jfs/index.html
XFS.
~~~~
The SGI XFS filesystem has been merged, and has a number of userspace features. Users are encouraged to read http://oss.sgi.com/projects/xfs
for more information.
The various utilities for creating and manipulating XFS volumes can
be found on SGI's ftp server:
ftp://oss.sgi.com/projects/xfs/download/download/cmd_tars/xfsprogs-2.3.9.src.tar.gz
CIFS.
~~~~~
Support utilities and documentation for the common internet file system (CIFS) can be found at http://us1.samba.org/samba/Linux_CIFS_client.html
FAT.
~~~~
CVF (Compressed VFAT) support has been removed. This means you will no longer be able to access DriveSpace partitions.
HugeTLBfs.
~~~~~~~~~~
Files in this filesystem are backed by large pages if the CPU supports them. See Documentation/vm/hugetlbpage.txt for more details.
Internal filesystems.
~~~~~~~~~~~~~~~~~~~~~/proc/filesystems will contain several filesystems that are not mountable in userspace, but are used internally by the kernel to keep track of things. Amongst these filesystems are futexfs and eventpollfs
Oprofile.
~~~~~~~~~
A system wide performance profiler has been included in 2.5. With this option compiled in, you'll get an oprofilefs filesystem which you can mount, that the userspace utilities talk to.
You can find out more at http://oprofile.sourceforge.net/oprofile-2.5.html
util-linux.
~~~~~~~~~~~
- You need a fixed readprofile utility for 2.5. Present in util-linux as of 2.11z
Improved BIOS table support.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Linux now supports various new BIOS extensions.
Simple boot flag support.
~~~~~~~~~~~~~~~~~~~~~~~~~
The SBF specification is an x86 BIOS extension that allows improved system boot speeds. It does this by marking a CMOS field to say
"I booted okay, skip extensive POST next reboot".
Userspace tool is at http://www.codemonkey.org.uk/cruft/sbf.c
More info on SBF is at http://www.microsoft.com/hwdev/resources/specs/simp_bios.asp
EDD Support.
~~~~~~~~~~~~
- Support for BIOS Enhanced Disk Drive Services (EDD) was added, which exports information on what the BIOS thinks is the boot drive and other useful info to /sys/firmware/edd
- Matt Domsch is interested in hearing success/fails on this code with some simple tests decribed at http://domsch.com/linux/edd30/results.html
Intel IPMI support.
~~~~~~~~~~~~~~~~~~~
- IPMI is a standard for monitoring the hardware in a system.
- Project home page: http://openipmi.sourceforge.net
- Specification: http://www.intel.com/design/servers/ipmi/spec.htm
x86 CPU detection.
~~~~~~~~~~~~~~~~~~
- The CPU detection code got a pretty hefty shake up. To be certain your CPU has all relevant workarounds applied, be sure to check that it was detected correctly. cat /proc/cpuinfo will tell what the kernel thinks it is.
- Likewise, the x86 MTRR driver got a considerable makeover.
Check that XFree86 sets up MTRRs in the same way it did in 2.4 (Failures will get logged in /var/log/XFree86.log)
- Early PII Xeon processors and possibly other early PII processors require microcode updates either from the BIOS or the microcode driver to work around CPU bugs the O(1) scheduler exposes.
You can find the relevant microcode tools at
http://www.urbanmyth.org/microcode/
- Any regressions in both should go to [email protected] Cc: [email protected]
Extra tainting.
~~~~~~~~~~~~~~~
Running certain AMD processors in SMP boxes is out of spec, and will taint the kernel with the 'S' flag. Running 2 Athlon XPs for example may seem to work fine, but may also introduce difficult to pin down bugs. In time it's likely this tainting will be extended to cover other out of spec cases.
Additionally, the new modules interface will taint the kernel if you try to 'force' a module to load with insmod -f.
Power management.
~~~~~~~~~~~~~~~~~
- 2.5 contains a more up to date snapshot of the ACPI driver. Should you experience any problems booting, try booting with the argument "acpi=off" to rule out any ACPI interaction. ACPI has a much more involved role in bringing the system up in 2.5 than it did in 2.4
- The old "acpismp=force" boot option is now obsolete, and will be ignored due to the old "mini ACPI" parser being removed.
- software suspend is still in development, and in need of more work. It is unlikely to work as expected currently.
CPU frequency scaling.
~~~~~~~~~~~~~~~~~~~~~~
Certain processors have the facility to scale their voltage/clockspeed. 2.5 introduces an interface to this feature, see Documentation/cpufreq for more information. This functionality also covers features like Intel's speedstep, and the Powernow! feature present in mobile AMD Athlons. In addition to x86 variants, this framework also supports various ARM CPUs. You can find a userspace daemon that monitors battery life and adjusts accordingly at: http://www.staikos.net/~staikos/cpufreqd/
Background polling of MCE.
~~~~~~~~~~~~~~~~~~~~~~~~~~
The machine check handler has been extended so that it regularly polls for any problems on AMD Athlon, and Intel Pentium 4 systems. This may result in machine check exceptions occuring more frequently than they did in 2.4 on out of spec systems (Overclocking/inadequate cooling/underated PSU etc..).
LVM2 - DeviceMapper.
~~~~~~~~~~~~~~~~~~~~
The LVM1 code got removed wholesale, and replaced with a much better designed 'device mapper'.
- This is backwards compatible with the LVM1 disk format.
- Device mapper does require new tools to manage volumes however. You can get these from ftp://ftp.sistina.com/pub/LVM2/tools/
Debugging options.
~~~~~~~~~~~~~~~~~~
During the stabilising period, it's likely that the debugging options in the kernel hacking menu will trigger quite a few problems. Please report any of these problems to [email protected] rather than just disabling the relevant CONFIG_ options.
Merging of kksymoops means that the kernel will now spit out automatically decoded oopses (no more feeding them to ksymoops). For this reason, you should always enable the option in the kernel hacking menu labelled "Load all symbols for debugging/kksymoops".
Testing with CONFIG_PREEMPT will also increase the amount of debug code that gets enabled in the kernel. Kernel preemption gives us the ability to do a whole slew of debugging checks like sleeping with locks held, scheduling while atomic, exiting with locks held, etc.
Compiler issues.
~~~~~~~~~~~~~~~~
- The recommended compiler (for x86) is still 2.95.3.
- When compiled with a modern gcc (Ie gcc 3.x), 2.5 will use additional optimisations that 2.4 didn't. This may shake out compiler bugs that 2.4 didn't expose.
- Do not use gcc 3.0.x on x86 due to a stack pointer handling bug.
- gcc 2.96 is not supported with CONFIG_FRAME_POINTER=y due to a stack pointer handling bug.
- gcc 3.2.2-5 as shipped by Red Hat generates incorrect code in the kmalloc optimisation introduced in 2.5.71
See http://linus.bkbits.net:8080/linux-2.5/[email protected]
Security concerns.
~~~~~~~~~~~~~~~~~~
Several security issues solved in 2.4 may not yet be forward ported to 2.5. For this reason 2.5.x kernels should not be tested on untrusted systems. Testing known 2.4 exploits and reporting results is useful.
Networking.
~~~~~~~~~~~
- ebtables
The bridging firewall code got merged. To manage these you'll
need the ebtables tool available from
http://users.pandora.be/bart.de.schuymer/ebtables/
More on bridge-nf can be found at http://bridge.sourceforge.net
- Bridged packets can now be 'seen' by iptables.
- IPSec
Linux finally has IPSec support in mainline. Use the KAME tools port on ftp://ftp.inr.ac.ru/ip-routing/iputils-ss021109-try.tar.bz2
For more info see http://www.lib.uaa.alaska.edu/linux-kernel/archive/2002-Week-44/1127.html
Also Bert Hubert has a howto at http://lartc.org/howto/lartc.ipsec.html
Additionally, ipsec-utils is at http://sourceforge.net/projects/ipsec-tools
Herbert Xu also has patches against FreeSWAN 2.00 to allow its userspace
to use the 2.5 IPSec functionality. They can be downloaded from
http://gondor.apana.org.au/~herbert/freeswan/
- Some applications may trigger the kernel to spit out warnings about
'process xxx using obsolete setsockopt SO_BSDCOMPAT' .
- Bind 9.2.2 checks for #ifdef SO_BSDCOMPAT in <asm/socket.h> correctly,
so a recompile is all that is needed.
- bind9-host from debian testing triggers, though the 'host' package doesn't.
- process `snmpd' is using obsolete setsockopt SO_BSDCOMPAT
- process `snmptrapd' is using obsolete setsockopt SO_BSDCOMPAT
- ntop uses obsolete (PF_INET,SOCK_PACKET)
- Users of boxes with >1 NIC may find that for eg, eth0 and eth1 refer to
the opposites of what they did in 2.4. This is a bug that will be fixed
before 2.6.0. One option (or management workaround) for this is to use 'nameif' to name Ethernet interfaces. There is a HOWTO for doing this at
<http://xenotime.net/linux/doc/network-interface-names.txt>
- Support for various new RFCs.
- RFC3173 (IP Payload Compression).
- Linux reaches congestion collapse when subjected to heavy network load.
NAPI fixes this amongst other things and therefore improving network performance.
More info at http://www.cyberus.ca/~hadi/usenix-paper.tgz and ftp://robur.slu.se/pub/Linux/net-development/NAPI/
Crypto
~~~~~~
- A generic crypto API has been merged, offering support for various algorithms (HMAC,MD4,MD5,SHA-1,DES,Triple DES EDE, Blowfish)
- This functionality is used by IPSec and the crypto-loop. It's possible that it will later also be available for use in userspace through a crypto device, possibly compatible with the OpenBSD crypto userspace.
- The in-kernel loopback device can now do crypto using the CryptoAPI. May need new userspace tools.
Deprecated.
~~~~~~~~~~~
- usbdevfs will be going away in 2.7. The same filesystem can be mounted as 'usbfs' in recent 2.4 kernels, and in 2.5.52 and above, which is what the filesystem will furthermore be known as.
- elvtune is deprecated (as are the ioctl's it used). Instead, the io scheduler tunables are exported in sysfs (see below) in the /sys/block/<device>/iosched directory.
Jens wrote a document explaining the tunables of the new scheduler at
http://www.lib.uaa.alaska.edu/linux-kernel/archive/2002-Week-44/att-deadline-iosched.txt
Ports.
~~~~~~
- 2.5 features support for several new architectures.
- x86-64 (AMD Hammer)
- ppc64
- UML (User mode Linux)
See http://user-mode-linux.sf.net for more information.
- uCLinux: m68k(w/o MMU), h8300 and v850. sh also added a uCLinux option.
- The 64 bit s390x port got collapsed into a single port, appearing as a config option in the base s390 arch.
- In the opposite direction, arm26 was split out from arm.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Revision history:
0.42 - CONFIG_LOG_BUF_SHIFT is now sanity checked by Kconfig
Hyperthreading scheduler improvements.
ALSA OSS emulation.
32bit uids in new quota.
Not all filesystems support nanosecond stat.
Note that NTFS still isn't R/W
Mention CryptoLoop.
0.41 - V=0 is now default. Document V=1
s/Redhat/Red Hat/ everywhere.
Added vmware sysenter note.
MTRR for vesafb
Various grammar fixes.
Selectable elevators.
PCI domains
0.40 - Callout tty devices are removed.
Added note about modules in Red Hat 9
0.39 - irqbalance note added.
Added ntop, snmp tools obsolete messages.
Added link to David Mosberger's O(1) page.
Mention Herbert Xu's FreeSWAN patches.
Add CONFIG_VGA_CONSOLE to the list of gotchas.
Add note about 2.4 .config's to gotchas.
Reword devpts note.
0.38 - Fixed URL to nameif
0.37 - devfs users now need to mount devpts.
mention h8300 port.
mentioned NTFS rewrite.
0.36 - Include Doug Gilberts 'positive SCSI spin'.
Mention NAPI.
Reword the CPU bug workaround that the O(1) scheduler exposes. Added 'Known Gotchas' section
0.35 - Note about KDE panel applets.
mount --move, dmask, fmask
Removed note about oprofile utilities being underdeveloped. Mention ext2 locking, and ext2/ext3 orlov allocator.
0.34 - Remove people.redhat.com NPTL URLs on Ulrich Dreppers request.
Added note about s390x going away.
Various kbuild updates.
Note about swap files.
Added note about -p1 vs -p0
Lots of typo fixes from Randy Dunlap.
RPM from RH9 seems to have problems.
0.33 - Networking RFCs section added.
0.32 - Added Soundmodem userspace replacement URL.
0.31 - ext3 data=journal breakage noted.
0.30 - Athlon powernow is now supported.
0.29 - Mention NIC renumbering and ACPI/APIC NIC bugs.
0.28 - SO_BSDCOMPAT obsolete messages, nfsutils.
0.27 - radeon -> radeonfb
0.26 - Added info about readprofile.
0.25 - Added cdrecord example. Added URL to Spanish translation. 0.1->0.24 - Unrecorded history
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Other Links.
http://www.kernelnewbies.org/status/
http://bugzilla.kernel.org/
Signature · 1 line
Dave Jones http://www.codemonkey.org.uk
Quoted 5 lines · Dave Jones
- An additional bug biting some people is that NICs fail to receive packets (usually notable by a NIC not getting a DHCP lease for eg, despite being sent one by the server). Booting with "noapic" "acpi=off" or a combination of both fixes this for most people. Additional breakage reports should go to Jeff Garzik <[email protected]>
For 3com that was fixed in 2.4-ac months ago. There is a mostly undocmented power management bitflag that some bioses seem to know about for ACPI
Quoted 2 lines
- (Possibly linked to above bug) VIA APIC routing is currently broken. boot with 'noapic'.
Does 2.5 not have the INTD routing fix yet ?
Quoted 3 lines
- The hptraid/promise RAID drivers are currently non functional, and will probably be converted to use device-mapper.
- Some filesystems still need work (Intermezzo, UFS, HFS, HPFS..)
The hfsplus file system is missing from 2.5 at the moment
Quoted 3 lines
- Some people seem to have trouble running rpm, most notably Red Hat 9 users. This is a known bug of rpm.
Workaround: run "export LD_ASSUME_KERNEL=2.2.5", before running rpm.
or upgrade to rpm 4.2 (which I'd recommend everyone does anyway as it fixes a load of other problems) - ftp.rpm.org
Quoted 2 lines
- Older Direct Rendering Manager (DRM) support (For XFree86 4.0) has been removed. Upgrade to XFree86 4.1.0 or higher.
The current 2.5 DRM doesnt seem to work with 4.1, but does with 4.3 at least on my testing of i810. I need to double check the results unless others see the same
Quoted 8 lines
Modules.
~~~~~~~~- For Red Hat users, there's another pitfall in "
/etc/rc.sysinit". During startup, the script sets up the binary used to dynamically load modules stored at "/proc/sys/kernel/modprobe". The initscript looks for "/proc/ksyms", but since it doesn't exist in 2.5 kernels, the binary used is "/sbin/true" instead.
Better to cite the explanation and fix in the FAQ/README for the new module tools 8)
Quoted 6 lines
Enhanced coredumping.
~~~~~~~~~~~~~~~~~~~~~
- 2.5 offers you the ability to configure the way core files are named through a/proc/sys/kernel/core_patternfile. You can use various format identifiers in this name to affect how the core dump is named.
So does 2.4 8)
2.4-ac also offers setuid core dump facilities I need to forward port
Quoted 6 lines
- Multithreaded processes can now dump core
IDE.
~~~~
- Known problems with the current IDE code.
o Serverworks OSB4 may panic on bad blocks or other non fatal errors
FIXED
Quoted 1 line
o PCMCIA IDE hangs on eject
Should be fixed in 2.5, fixed(ish) in 2.4
Quoted 5 lines
o
ide_scsiis completely broken in 2.5.x. Known problem. If you need it either use 2.4 or fix it 8)
- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager are no longer supported. The only way forward is to remove the translator from the drive, and start over.
Or to use device mapper to remap the disk.
Quoted 5 lines
CD Recording.
~~~~~~~~~~~~~
- Jens Axboe added the ability to use DMA for writing CDs on ATAPI devices. Writing CDs should be much faster than it was in 2.4, and also less prone to buffer underruns and the like.
Currently generally crashes the machine on problems or if you have anything touching the other channel
Quoted 3 lines
- gcc 3.2.2-5 as shipped by Red Hat generates incorrect code in the kmalloc optimisation introduced in 2.5.71
See http://linus.bkbits.net:8080/linux-2.5/[email protected]
This URL appears wrong!
Quoted 3 lines
to 2.5. For this reason 2.5.x kernels should not be tested on untrusted systems. Testing known 2.4 exploits and reporting results is useful.
There is at least one known local root exploit in 2.5.75
Quoted 11 lines
Ports.
~~~~~~
- 2.5 features support for several new architectures.
- x86-64 (AMD Hammer)
- ppc64
- UML (User mode Linux)
See http://user-mode-linux.sf.net for more information.
- uCLinux: m68k(w/o MMU), h8300 and v850. sh also added a uCLinux option.
- The 64 bit s390x port got collapsed into a single port, appearing as a config option in the base s390 arch.
- In the opposite direction, arm26 was split out from arm.
sh64 ?
Quoted 5 lines
Quoted 3 lines
- gcc 3.2.2-5 as shipped by Red Hat generates incorrect code in the kmalloc optimisation introduced in 2.5.71
See http://linus.bkbits.net:8080/linux-2.5/[email protected]This URL appears wrong!
Nahh, that's just the same old annoying bkbits bug. Try with lynx...
Signature · 1 line
Tomas Szepe <[email protected]>
Quoted 7 lines · Tomas Szepe
Quoted 5 lines
Quoted 3 lines
- gcc 3.2.2-5 as shipped by Red Hat generates incorrect code in the kmalloc optimisation introduced in 2.5.71
See http://linus.bkbits.net:8080/linux-2.5/[email protected]This URL appears wrong!
Nahh, that's just the same old annoying bkbits bug. Try with lynx...
I did - it references a changeset unrelayed to kmalloc
Quoted 10 lines · Alan Cox
Quoted 7 lines · Tomas Szepe
Quoted 5 lines
Quoted 3 lines
- gcc 3.2.2-5 as shipped by Red Hat generates incorrect code in the kmalloc optimisation introduced in 2.5.71
See http://linus.bkbits.net:8080/linux-2.5/[email protected]This URL appears wrong!
Nahh, that's just the same old annoying bkbits bug. Try with lynx...
I did - it references a changeset unrelayed to kmalloc
I know, sorry. The version numbers in BK are not stable, they can't be. You have to use the underlying internal version number. If someone who knows can show me the output of
bk changes -r<correct rev>
for that changeset I will figure out a way to have a URL that doesn't change and send it to Dave for that doc as well as post it there.
Signature · 2 lines
--- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
Quoted 12 lines · Larry McVoy
Quoted 10 lines · Alan Cox
Quoted 7 lines · Tomas Szepe
Quoted 5 lines
Quoted 3 lines
- gcc 3.2.2-5 as shipped by Red Hat generates incorrect code in the kmalloc optimisation introduced in 2.5.71
See http://linus.bkbits.net:8080/linux-2.5/[email protected]This URL appears wrong!
Nahh, that's just the same old annoying bkbits bug. Try with lynx...
I did - it references a changeset unrelayed to kmalloc
Quoted 8 lines
I know, sorry. The version numbers in BK are not stable, they can't be. You have to use the underlying internal version number. If someone who knows can show me the output of
bk changes -r<correct rev>
for that changeset I will figure out a way to have a URL that doesn't change and send it to Dave for that doc as well as post it there.
This looks like the right one as currently numbered.
http://linus.bkbits.net:8080/linux-2.5/[email protected]
Steven
Quoted 3 lines · Steven Cole
This looks like the right one as currently numbered.
Thanks. That doesn't make it clear if the bug means you get less inline than expected or broken build ?
Quoted 26 lines · Steven Cole
Quoted 14 lines · Larry McVoy
Quoted 11 lines · Alan Cox
Quoted 7 lines · Tomas Szepe
Quoted 5 lines
Quoted 3 lines
- gcc 3.2.2-5 as shipped by Red Hat generates incorrect code in the kmalloc optimisation introduced in 2.5.71
See http://linus.bkbits.net:8080/linux-2.5/[email protected]This URL appears wrong!
Nahh, that's just the same old annoying bkbits bug. Try with lynx...
I did - it references a changeset unrelayed to kmalloc
Quoted 8 lines
I know, sorry. The version numbers in BK are not stable, they can't be. You have to use the underlying internal version number. If someone who knows can show me the output of
bk changes -r<correct rev>
for that changeset I will figure out a way to have a URL that doesn't change and send it to Dave for that doc as well as post it there.
Quoted 5 lines
This looks like the right one as currently numbered.
http://linus.bkbits.net:8080/linux-2.5/[email protected]
Steven
There is no problem with the current version of this patch. I rewrote the original patch to work around the bug in gcc. The bug is that:
if (size < X) return kmem_cache_alloc(...);
would not cause the remaining if statements to be marked as dead code, but:
if (size < X) goto found; ... found: return kmem_cache_alloc(...);
does optimize properly.
--
Brian Gerst
Quoted 5 lines · Brian Gerst
There is no problem with the current version of this patch. I rewrote the original patch to work around the bug in gcc. The bug is that:
if (size < X) return kmem_cache_alloc(...);
Quoted 7 lines
would not cause the remaining if statements to be marked as dead code, but:
if (size < X) goto found; ... found: return kmem_cache_alloc(...);does optimize properly.
Ok, I'll drop that part from the next version of the doc. It's not a critical thing that most users will notice.
Dave
Quoted 5 lines · Alan Cox
Quoted 2 lines · Dave Jones
- (Possibly linked to above bug) VIA APIC routing is currently broken. boot with 'noapic'.
Does 2.5 not have the INTD routing fix yet ?
In 2.5.75.
Quoted 2 lines
Quoted 2 lines
- The hptraid/promise RAID drivers are currently non functional, and will probably be converted to use device-mapper.
Please put software RAID here to avoid confusion.
Quoted 6 lines
Quoted 4 lines
IDE.
~~~~
- Known problems with the current IDE code.
o Serverworks OSB4 may panic on bad blocks or other non fatal errorsFIXED
Quoted 1 line
o PCMCIA IDE hangs on eject
Quoted 8 lines
Should be fixed in 2.5, fixed(ish) in 2.4
Quoted 5 lines
o
ide_scsiis completely broken in 2.5.x. Known problem. If you need it either use 2.4 or fix it 8)
- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager are no longer supported. The only way forward is to remove the translator from the drive, and start over.Or to use device mapper to remap the disk.
"hdx=remap" and "hdx=remap63" boot options can be used. Or can I remove them?
--
Bartlomiej
Quoted 4 lines · Bartlomiej Zolnierkiewicz
Quoted 2 lines
Quoted 2 lines
- The hptraid/promise RAID drivers are currently non functional, and will probably be converted to use device-mapper.
Please put software RAID here to avoid confusion.
That introduces confusion with dev/md, which is what people have traditionally called software RAID, IMO...
I like arjan's "fakeraid" or "ataraid" names. ;-)
Quoted 13 lines
Quoted 13 lines
Quoted 4 lines
IDE.
~~~~
- Known problems with the current IDE code.
o Serverworks OSB4 may panic on bad blocks or other non fatal errorsFIXED
Quoted 1 line
o PCMCIA IDE hangs on eject
Should be fixed in 2.5, fixed(ish) in 2.4
Quoted 5 lines
o
ide_scsiis completely broken in 2.5.x. Known problem. If you need it either use 2.4 or fix it 8)
- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager are no longer supported. The only way forward is to remove the translator from the drive, and start over.
Quoted 4 lines
Quoted 1 line
Or to use device mapper to remap the disk.
"hdx=remap" and "hdx=remap63" boot options can be used. Or can I remove them?
You can remove them... if there is a userspace component that handles this. As much as I would love to do so, we can't just remove components that DM _can_ handle ;-) ;-) If so, we could go ahead and remove MD raid0 too, and such.
Jeff
Quoted 8 lines · Jeff Garzik
Quoted 4 lines · Bartlomiej Zolnierkiewicz
Quoted 2 lines
Quoted 2 lines
- The hptraid/promise RAID drivers are currently non functional, and will probably be converted to use device-mapper.
Please put software RAID here to avoid confusion.
That introduces confusion with dev/md, which is what people have traditionally called software RAID, IMO...
s/software RAID/propertiary software RAIDs/
Quoted 1 line
I like arjan's "fakeraid" or "ataraid" names. ;-)
"fakeraid" sounds good. :-)
Quoted 15 lines
Quoted 15 lines
Quoted 14 lines
Quoted 4 lines
IDE.
~~~~
- Known problems with the current IDE code.
o Serverworks OSB4 may panic on bad blocks or other non fatal errorsFIXED
Quoted 1 line
o PCMCIA IDE hangs on eject
Should be fixed in 2.5, fixed(ish) in 2.4
Quoted 5 lines
o
ide_scsiis completely broken in 2.5.x. Known problem. If you need it either use 2.4 or fix it 8)
- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager are no longer supported. The only way forward is to remove the translator from the drive, and start over.Or to use device mapper to remap the disk.
Quoted 7 lines
Quoted 2 lines
"hdx=remap" and "hdx=remap63" boot options can be used. Or can I remove them?
You can remove them... if there is a userspace component that handles this. As much as I would love to do so, we can't just remove components that DM _can_ handle ;-) ;-) If so, we could go ahead and remove MD raid0 too, and such.
How userspace component can help if you have ie. On-Track DM on your boot device?
I think you missed my point :-).
I think if somebody adds On-Track and EZ auto-detection to device mapper I can safely remove these ide boot options...
--
Bartlomiej
Quoted 1 line
Jeff
Quoted 2 lines · Bartlomiej Zolnierkiewicz
How userspace component can help if you have ie. On-Track DM on your boot device?
initrd (now) or initramfs (future).
I would love to move all partition table (this includes raid superblocks) into userspace, and device mapper makes this possible.
Quoted 4 lines
I think you missed my point :-).
I think if somebody adds On-Track and EZ auto-detection to device mapper I can safely remove these ide boot options...
Agreed.
Jeff
Quoted 1 line · Jeff Garzik
I like arjan's "fakeraid" or "ataraid" names. ;-)
I'd prefer fakeraid because this describes it best. It's a software raid that wants to look like hardware raid to (windows) users.
Quoted 8 lines · Bartlomiej Zolnierkiewicz
Quoted 5 lines
Quoted 3 lines
- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager are no longer supported. The only way forward is to remove the translator from the drive, and start over.
Or to use device mapper to remap the disk.
"hdx=remap" and "hdx=remap63" boot options can be used. Or can I remove them?
No.
Distributions will I suppose use the device mapper, and individuals will add a boot parameter. That is easiest.
It is bad enough that people will have to figure this out, but there is no reason to make people's life more miserable.
Andries
Quoted 10 lines · Alan Cox
Quoted 9 lines
- 2.5 features support for several new architectures.
- x86-64 (AMD Hammer)
- ppc64
- UML (User mode Linux)
See http://user-mode-linux.sf.net for more information.
- uCLinux: m68k(w/o MMU), h8300 and v850. sh also added a uCLinux option.
- The 64 bit s390x port got collapsed into a single port, appearing as a config option in the base s390 arch.
- In the opposite direction, arm26 was split out from arm.
Quoted 2 lines
sh64 ?
Not merged yet, I'm still doing a number of 2.5 fixups for it locally. It's already been merged into 2.4 however.
Quoted 4 lines · Alan Cox
Quoted 2 lines
- (Possibly linked to above bug) VIA APIC routing is currently broken. boot with 'noapic'.
Does 2.5 not have the INTD routing fix yet ?
It does. It is in both 2.4 and 2.5 mainline now.
Quoted 6 lines
Quoted 4 lines
IDE.
~~~~
- Known problems with the current IDE code.
o Serverworks OSB4 may panic on bad blocks or other non fatal errorsFIXED
Quoted 1 line
o PCMCIA IDE hangs on eject
Quoted 8 lines
Should be fixed in 2.5, fixed(ish) in 2.4
Quoted 5 lines
o
ide_scsiis completely broken in 2.5.x. Known problem. If you need it either use 2.4 or fix it 8)
- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager are no longer supported. The only way forward is to remove the translator from the drive, and start over.Or to use device mapper to remap the disk.
Definitely. I'm hoping that people will decide upon a userland that supports the popular (non-raid) partition tables as well as the simple raid partitions, too. Maybe that's a pipe dream, though ;-)
Quoted 12 lines
Quoted 11 lines
Ports.
~~~~~~
- 2.5 features support for several new architectures.
- x86-64 (AMD Hammer)
- ppc64
- UML (User mode Linux)
See http://user-mode-linux.sf.net for more information.
- uCLinux: m68k(w/o MMU), h8300 and v850. sh also added a uCLinux option.
- The 64 bit s390x port got collapsed into a single port, appearing as a config option in the base s390 arch.
- In the opposite direction, arm26 was split out from arm.
Quoted 1 line
sh64 ?
Only in 2.4.
Jeff
Quoted 3 lines · Jeff Garzik
Definitely. I'm hoping that people will decide upon a userland that supports the popular (non-raid) partition tables as well as the simple raid partitions, too.
That reminds me.
Our DOS-type partition tables are close to their limit - regularly people complain about things that do not work with disks of size between 1 TB and 2 TB, and if not today then very soon we'll see disks too large to handle with DOS-type partition tables.
Two years ago or so I wrote some simple-minded stuff - maybe there also was discussion on Linux-type partition tables, I forgot all about it.
(Maybe the format was plan9-inspired, with sequence number, start, size, label and uuid, all in ASCII.)
What is the situation today? What is the structure of these LVM or raid partition tables? Is there some natural type suitable for crossing the 2 TB limit?
Is it better to invent a Linux-type partition table?
Andries
Quoted 18 lines · Andries Brouwer
Quoted 3 lines
Definitely. I'm hoping that people will decide upon a userland that supports the popular (non-raid) partition tables as well as the simple raid partitions, too.
That reminds me.
Our DOS-type partition tables are close to their limit - regularly people complain about things that do not work with disks of size between 1 TB and 2 TB, and if not today then very soon we'll see disks too large to handle with DOS-type partition tables.
Two years ago or so I wrote some simple-minded stuff - maybe there also was discussion on Linux-type partition tables, I forgot all about it.
(Maybe the format was plan9-inspired, with sequence number, start, size, label and uuid, all in ASCII.)
Quoted 4 lines
What is the situation today? What is the structure of these LVM or raid partition tables? Is there some natural type suitable for crossing the 2 TB limit?
Is it better to invent a Linux-type partition table?
What are the limits of the "Windows Logical Disk Manager (LDM)" partition format? I've never used it myself, but it's there in fs/partitions and presumably there are people using it on modern PCs.
-- Jamie
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 2 lines · Mike Fedyk
So, will the DOS partition make it up to 2TB? If so, then we won't have a problem until we have larger than 2TB drives
Yes, DOS partition table works up to 2^32 sectors, and with 2^9-byte sectors that is 2 TiB.
People are encountering that limit already. We need something better, either use some existing scheme, or invent something.
Andries
Quoted 10 lines · Andries Brouwer
Quoted 2 lines · Mike Fedyk
So, will the DOS partition make it up to 2TB? If so, then we won't have a problem until we have larger than 2TB drives
Yes, DOS partition table works up to 2^32 sectors, and with 2^9-byte sectors that is 2 TiB.
People are encountering that limit already. We need something better, either use some existing scheme, or invent something.
Please point me to an URL for a 2TB hard drive. Or are you pointing out that hardware raid setups look like a single drive (block device)?
Quoted 8 lines · Mike Fedyk
Quoted 5 lines
DOS partition table works up to 2^32 sectors, and with 2^9-byte sectors that is 2 TiB.
People are encountering that limit already. We need something better, either use some existing scheme, or invent something.
Please point me to an URL for a 2TB hard drive. Or are you pointing out that hardware raid setups look like a single drive (block device)?
Yes.
Quoted 11 lines · Andries Brouwer
Quoted 2 lines · Mike Fedyk
So, will the DOS partition make it up to 2TB? If so, then we won't have a problem until we have larger than 2TB drives
Yes, DOS partition table works up to 2^32 sectors, and with 2^9-byte sectors that is 2 TiB.
People are encountering that limit already. We need something better, either use some existing scheme, or invent something.
Andries
I would suggest the GPT format. It was originally designed for use with the IA-64 EFI firmware, but works just fine on any other architecture. It's 64-bit, so no 2 TB limitations. It also avoids the primary vs. extended vs. logical partition weirdness that DOS has.
Signature · 3 lines
Kevin Corry [email protected] http://evms.sourceforge.net/
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Andries" == Andries Brouwer <[email protected]> writes:
Quoted 2 lines · Mike Fedyk
Quoted 2 lines
So, will the DOS partition make it up to 2TB? If so, then we won't have a problem until we have larger than 2TB drives
Andries> Yes, DOS partition table works up to 2^32 sectors, and with Andries> 2^9-byte sectors that is 2 TiB.
Andries> People are encountering that limit already. We need something Andries> better, either use some existing scheme, or invent something.
We had this discussion before, back when I first submitted the large block device patches. The consensus then was to use EFI, or LDM.
Unless the BIOS supports a partitioning scheme, you're not going to be able to boot anyway, or at least not without doing something clever.
--
Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au
You are lost in a maze of BitKeeper repositories, all slightly different.
Quoted 12 lines · Peter Chubb
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Andries" == Andries Brouwer <[email protected]> writes:
Quoted 2 lines · Mike Fedyk
Quoted 2 lines
So, will the DOS partition make it up to 2TB? If so, then we won't have a problem until we have larger than 2TB drives
Andries> Yes, DOS partition table works up to 2^32 sectors, and with Andries> 2^9-byte sectors that is 2 TiB.
Andries> People are encountering that limit already. We need something Andries> better, either use some existing scheme, or invent something.
Quoted 6 lines
We had this discussion before, back when I first submitted the large block device patches. The consensus then was to use EFI, or LDM.
Unless the BIOS supports a partitioning scheme, you're not going to be able to boot anyway, or at least not without doing something clever.
The bios shouldn't even know about partition tables. It just loads the code in the MBR, and the boot loader deals with the rest from there.
How else would BSD be able to work with their non-DOS slices anyway?
Quoted 16 lines · Mike Fedyk
Quoted 15 lines · Peter Chubb
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Andries" == Andries Brouwer <[email protected]> writes:
Quoted 2 lines · Mike Fedyk
Quoted 2 lines
So, will the DOS partition make it up to 2TB? If so, then we won't have a problem until we have larger than 2TB drives
Andries> Yes, DOS partition table works up to 2^32 sectors, and with Andries> 2^9-byte sectors that is 2 TiB.
Andries> People are encountering that limit already. We need something Andries> better, either use some existing scheme, or invent something.
We had this discussion before, back when I first submitted the large block device patches. The consensus then was to use EFI, or LDM.
Quoted 6 lines
Quoted 3 lines
Unless the BIOS supports a partitioning scheme, you're not going to be able to boot anyway, or at least not without doing something clever.
The bios shouldn't even know about partition tables. It just loads the code in the MBR, and the boot loader deals with the rest from there.
There are some bios variants that refuse to boot if the hard disk has no partition with the boot-flag set.
LLAP, Martin
Quoted 2 lines · Alan Cox
or upgrade to rpm 4.2 (which I'd recommend everyone does anyway as it fixes a load of other problems) - ftp.rpm.org
I think the 2.5 problem is _only_ in rpm 4.2.
It looks like it is still in the latest version, too:
[10:32:41]root@phantasy:~# rpm -q rpm rpm-4.2.1-0.11 [10:32:44]root@phantasy:~# rpm --rebuilddb error: db4 error(16) from dbenv->remove: Device or resource busy
4.2 is fine, otherwise :)
Robert Love
Quoted 5 lines · Robert Love
Quoted 2 lines · Alan Cox
or upgrade to rpm 4.2 (which I'd recommend everyone does anyway as it fixes a load of other problems) - ftp.rpm.org
Quoted 8 lines
I think the 2.5 problem is _only_ in rpm 4.2.
It looks like it is still in the latest version, too:
[10:32:41]root@phantasy:~# rpm -q rpm rpm-4.2.1-0.11 [10:32:44]root@phantasy:~# rpm --rebuilddb error: db4 error(16) from dbenv->remove: Device or resource busy
That's not the 2.5 problem. This one also happens with Red Hat's own 2.4 vendor kernels for Red Hat 9, and according to RPM's maintainer it's a "harmless" message.
-Barry K. Nathan <[email protected]>
Quoted 18 lines · Barry K. Nathan
Quoted 6 lines · Robert Love
Quoted 2 lines · Alan Cox
or upgrade to rpm 4.2 (which I'd recommend everyone does anyway as it fixes a load of other problems) - ftp.rpm.org
Quoted 8 lines
I think the 2.5 problem is _only_ in rpm 4.2.
It looks like it is still in the latest version, too:
[10:32:41]root@phantasy:~# rpm -q rpm rpm-4.2.1-0.11 [10:32:44]root@phantasy:~# rpm --rebuilddb error: db4 error(16) from dbenv->remove: Device or resource busy
Quoted 3 lines
That's not the 2.5 problem. This one also happens with Red Hat's own 2.4 vendor kernels for Red Hat 9, and according to RPM's maintainer it's a "harmless" message.
Well, speaking with the rpm maintainer today, there are still issues with O_DIRECT (db4) and NPTL.
Jeff
Quoted 3 lines · Barry K. Nathan
That's not the 2.5 problem. This one also happens with Red Hat's own 2.4 vendor kernels for Red Hat 9, and according to RPM's maintainer it's a "harmless" message.
As Jeff said, the other Jeff says there are still problems.
And setting LD_ASSUME_KERNEL=2.2.5 before running rpm prevents the errors. So I am not so sure..
Robert Love
Quoted 5 lines
Quoted 3 lines
- IDE disk geometry translators like OnTrack, EZ Partition, Disk Manager are no longer supported. The only way forward is to remove the translator from the drive, and start over.
Or to use device mapper to remap the disk.
Or to use boot parameters:
* "hdx=remap63" : add 63 to all sector numbers (for OnTrack DM)
* "hdx=remap" : remap 0->1 (for EZDrive)
(So, I think the language "no longer supported" is a bit strong. Maybe "no longer autodetected".)
Andries
Quoted 8 lines · Alan Cox
Quoted 3 lines
- Some people seem to have trouble running rpm, most notably Red Hat 9 users. This is a known bug of rpm.
Workaround: run "export LD_ASSUME_KERNEL=2.2.5", before running rpm.or upgrade to rpm 4.2 (which I'd recommend everyone does anyway as it fixes a load of other problems) - ftp.rpm.org
Still fails with rpm 4.2.1 from rawhide without the LD_ASSUME_KERNEL hack. I haven't checked rpm.org yet, that site appears to be dead.
--
Brian Gerst
Or just run gentoo... ;) (sorry Alan)
Quoted 12 lines · Brian Gerst
Quoted 8 lines · Alan Cox
Quoted 3 lines
- Some people seem to have trouble running rpm, most notably Red Hat 9 users. This is a known bug of rpm.
Workaround: run "export LD_ASSUME_KERNEL=2.2.5", before running rpm.or upgrade to rpm 4.2 (which I'd recommend everyone does anyway as it fixes a load of other problems) - ftp.rpm.org
Still fails with rpm 4.2.1 from rawhide without the
LD_ASSUME_KERNELhack. I haven't checked rpm.org yet, that site appears to be dead.
Quoted 1 line · Shawn
Or just run gentoo... ;) (sorry Alan)
The irony is that it seems to be because gentoo is too out of date to have O_DIRECT enabled for the db4 library - which is where the problem is being triggered 8)
Quoted 7 lines · Previously Alan Cox
Quoted 2 lines · Dave Jones
- Older Direct Rendering Manager (DRM) support (For XFree86 4.0) has been removed. Upgrade to XFree86 4.1.0 or higher.
The current 2.5 DRM doesnt seem to work with 4.1, but does with 4.3 at least on my testing of i810. I need to double check the results unless others see the same
If memory servers me correctly at least the XFree86 4.3.0 radeon driver want a newer version of the kernel DRM modules than is present in current 2.5. Unfortunately the code from the last DRI snapshot does not seem to compile with 2.5.74 (haven't tried 2.5.75 yet).
Wichert.
Signature · 2 lines
Wichert Akkerman <[email protected]> It is simple to make things. http://www.wiggy.net/ It is hard to make things simple.
Hello!
Quoted 3 lines · Dave Jones
Reiserfs.
~~~~~~~~~
- Reiserfs now supports inode attributes such as immutable.
This was included into 2.4.17, I think, so this is not exactly new feature.
On the real new features list we have:
- Relocated/nonstandard size journal support (actually was included in 2.4.22-pre3, too)
- Support for writes larger than 4k in size (get speedup on large file writes, esp. in append mode, should be more SMP friendly, too)
- Variable blocksize support (i.e. you can choose any blocksize in range of 1024 .. PAGE_CACHE_SIZE, must be power of 2)
Bye,
Oleg
Quoted 10 lines · Dave Jones
Deprecated features.
~~~~~~~~~~~~~~~~~~~~
- khttpd is gone.
- Older Direct Rendering Manager (DRM) support (For XFree86 4.0) has been removed. Upgrade to XFree86 4.1.0 or higher.
- LVM1 has been removed. See Device-mapper below.
- boot time root= parsing changed.
ramdisks are now ram<n> instead of rd<n> and cm206 is cm206cd (instead of cm206).
- The system call table is no longer exported. Any module that relied
Quoted 8 lines
on this previously will no longer work.
- Soundmodem hamradio support has been removed. Its functionality has been superceded by a userspace replacement.
http://www.baycom.org/~tom/ham/soundmodem
- Direct booting from floppy is no longer supported.
You should now use a boot loader program instead.
- Callout tty devices (/dev/cua) have been deprecated since 2.1.90pre2. Support is now removed.
These are not deprecated, they are gone. Deprecated means "in the process of being phased out, but still usable".
-Paul Dickson
Quoted 10 lines · Dave Jones
Known gotchas.
~~~~~~~~~~~~~~
Certain known bugs are being reported over and over. Here are the workarounds.
- Blank screen after decompressing kernel?
Make sure your .config has
CONFIG_INPUT=y,CONFIG_VT=y,CONFIG_VGA_CONSOLE=yandCONFIG_VT_CONSOLE=yA lot of people have discovered that taking their .config from 2.4 and running make oldconfig to pick up new options leads to problems, notably withCONFIG_VTnot being set.
You might want to mention the synaptics touchpad driver/event for XFree86, as I'm sure that will be a FAQ amongst laptop users
http://w1.894.telia.com/~u89404340/touchpad/
Paul
Quoted 13 lines · Paul Nasrat
Quoted 10 lines · Dave Jones
Known gotchas.
~~~~~~~~~~~~~~
Certain known bugs are being reported over and over. Here are the workarounds.
- Blank screen after decompressing kernel?
Make sure your .config has
CONFIG_INPUT=y,CONFIG_VT=y,CONFIG_VGA_CONSOLE=yandCONFIG_VT_CONSOLE=yA lot of people have discovered that taking their .config from 2.4 and running make oldconfig to pick up new options leads to problems, notably withCONFIG_VTnot being set.
Quoted 4 lines
You might want to mention the synaptics touchpad driver/event for XFree86, as I'm sure that will be a FAQ amongst laptop users
Yes, please, this is very much needed.
Signature · 2 lines
Vojtech Pavlik SuSE Labs, SuSE CR
Quoted 2 lines · Dave Jones
Use the KAME tools port on
ftp://ftp.inr.ac.ru/ip-routing/iputils-ss021109-try.tar.bz2
The above is deprecated for ipsec, use the ipsec-tools stuff mentioned below.
Quoted 1 line
Additionally, ipsec-utils is at http://sourceforge.net/projects/ipsec-tools
- James
Signature · 2 lines
James Morris <[email protected]>
Quoted 7 lines · James Morris
Quoted 2 lines · Dave Jones
Use the KAME tools port on
ftp://ftp.inr.ac.ru/ip-routing/iputils-ss021109-try.tar.bz2The above is deprecated for ipsec, use the ipsec-tools stuff mentioned below.
Or the OpenBSD isakpmd or Herbert's patched freeswan userland, or..
Quoted 10 lines · Christoph Hellwig
Quoted 7 lines · James Morris
Quoted 2 lines · Dave Jones
Use the KAME tools port on
ftp://ftp.inr.ac.ru/ip-routing/iputils-ss021109-try.tar.bz2The above is deprecated for ipsec, use the ipsec-tools stuff mentioned below.
Or the OpenBSD isakpmd or Herbert's patched freeswan userland, or..
Yes, but I meant specifically the ipsec tools (e.g. setkey) which were initially in iptuils, can now be found updated and maintained in ipsec-tools.
- James
Signature · 2 lines
James Morris <[email protected]>
Quoted 2 lines · Dave Jones
- (Possibly linked to above bug) VIA APIC routing is currently broken. boot with 'noapic'.
On my system (with VIA KT266 chipset) I can't boot also using noapic parameter, it freezes on "calibrating apic timer" using or not the noapic parameter.
The only way is not enabling APIC at all.
Signature · 1 line
Flameeyes <[email protected]>
Quoted 7 lines · Flameeyes
Quoted 2 lines · Dave Jones
- (Possibly linked to above bug) VIA APIC routing is currently broken. boot with 'noapic'.
On my system (with VIA KT266 chipset) I can't boot also using noapic parameter, it freezes on "calibrating apic timer" using or not the noapic parameter.
The only way is not enabling APIC at all.
More details, please.
Does 2.4.22-pre4 work for you?
Jeff
Quoted 1 line · Jeff Garzik
More details, please.
Ok, I think that a more specified chipset information could be useful:
00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 03)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
I'll also attach my .config (the LOGO_NGE is my edit), the working version, the not working version is setting to y X86_UP_APIC and X86_UP_IOAPIC.
I tried both with or without noapic at the commandline.
I can't paste the console message because it didn't arrive to mount the rootfs.
Quoted 1 line
Does 2.4.22-pre4 work for you?
I'm not using anymore the 2.4 series, but I've tried after your post. I didn't applied the xfs patches (i have xfs rootfs), but since the 2.5 didn't arrive to mount it, I think that could be enough if it doesn't freeze in the calibration.
2.4.22-pre4 arrives at the fs mount so it probably works.
Signature · 1 line
Flameeyes <[email protected]>
#
# Automatically generated make config: don't edit
#CONFIG_X86=yCONFIG_MMU=yCONFIG_UID16=yCONFIG_GENERIC_ISA_DMA=y
#
# Code maturity level options
#CONFIG_EXPERIMENTAL=y
#
# General setup
#CONFIG_SWAP=yCONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not setCONFIG_SYSCTL=yCONFIG_LOG_BUF_SHIFT=14CONFIG_EMBEDDED=y
# CONFIG_KALLSYMS is not setCONFIG_FUTEX=yCONFIG_EPOLL=y
#
# Loadable module support
#CONFIG_MODULES=yCONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not setCONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not setCONFIG_KMOD=y
#
# Processor type and features
#CONFIG_X86_PC=y
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not setCONFIG_MK7=y
# CONFIG_MK8 is not set
# CONFIG_MELAN is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_X86_GENERIC is not setCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_L1_CACHE_SHIFT=6CONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=yCONFIG_X86_GOOD_APIC=yCONFIG_X86_INTEL_USERCOPY=yCONFIG_X86_USE_PPRO_CHECKSUM=yCONFIG_X86_USE_3DNOW=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_SMP is not setCONFIG_PREEMPT=y
# CONFIG_X86_UP_APIC is not setCONFIG_X86_TSC=yCONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not setCONFIG_X86_MSR=y
# CONFIG_X86_CPUID is not set
# CONFIG_EDD is not setCONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not setCONFIG_MTRR=yCONFIG_HAVE_DEC_LOCK=y
#
# Power management options (ACPI, APM)
#CONFIG_PM=y
# CONFIG_SOFTWARE_SUSPEND is not set
#
# ACPI Support
#CONFIG_ACPI=yCONFIG_ACPI_BOOT=y
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not setCONFIG_ACPI_BUTTON=yCONFIG_ACPI_FAN=yCONFIG_ACPI_PROCESSOR=yCONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_DEBUG is not setCONFIG_ACPI_BUS=yCONFIG_ACPI_INTERPRETER=yCONFIG_ACPI_EC=yCONFIG_ACPI_POWER=yCONFIG_ACPI_PCI=yCONFIG_ACPI_SYSTEM=y
# CONFIG_APM is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GODIRECT is not setCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=y
# CONFIG_PCI_LEGACY_PROC is not setCONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not setCONFIG_HOTPLUG=y
#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not setCONFIG_BINFMT_ELF=yCONFIG_BINFMT_AOUT=yCONFIG_BINFMT_MISC=y
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#CONFIG_PARPORT=yCONFIG_PARPORT_PC=yCONFIG_PARPORT_PC_CML1=y
# CONFIG_PARPORT_SERIAL is not setCONFIG_PARPORT_PC_FIFO=y
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_OTHER is not setCONFIG_PARPORT_1284=y
#
# Plug and Play support
#
# CONFIG_PNP is not set
#
# Block devices
#CONFIG_BLK_DEV_FD=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not setCONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not setCONFIG_BLK_DEV_NBD=y
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_LBD is not set
#
# ATA/ATAPI/MFM/RLL support
#CONFIG_IDE=y
#
# IDE, ATA and ATAPI Block devices
#CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives #
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_IDEDISK=yCONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDEFLOPPY is not set CONFIG_BLK_DEV_IDESCSI=y
# CONFIG_IDE_TASK_IOCTL is not set CONFIG_IDE_TASKFILE_IO=y
#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_CMD640 is not setCONFIG_BLK_DEV_IDEPCI=y
# CONFIG_BLK_DEV_GENERIC is not setCONFIG_IDEPCI_SHARE_IRQ=yCONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDE_TCQ is not set
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not setCONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not setCONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not setCONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not setCONFIG_BLK_DEV_VIA82CXXX=yCONFIG_IDEDMA_AUTO=yCONFIG_IDEDMA_IVB=yCONFIG_BLK_DEV_IDE_MODES=y
#
# SCSI device support
#CONFIG_SCSI=y
#
# SCSI support type (disk, tape, CD-ROM)
#
# CONFIG_BLK_DEV_SD is not set
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not setCONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not setCONFIG_CHR_DEV_SG=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs #CONFIG_SCSI_MULTI_LUN=yCONFIG_SCSI_REPORT_LUNS=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_FERAL_ISP is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
# CONFIG_I2O is not set
#
# Networking support
#CONFIG_NET=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not setCONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not setCONFIG_UNIX=y
# CONFIG_NET_KEY is not setCONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
#
# IP: Netfilter Configuration
#CONFIG_IP_NF_CONNTRACK=yCONFIG_IP_NF_FTP=y
# CONFIG_IP_NF_IRC is not set
# CONFIG_IP_NF_TFTP is not set
# CONFIG_IP_NF_AMANDA is not set
# CONFIG_IP_NF_QUEUE is not setCONFIG_IP_NF_IPTABLES=yCONFIG_IP_NF_MATCH_LIMIT=y
# CONFIG_IP_NF_MATCH_MAC is not setCONFIG_IP_NF_MATCH_PKTTYPE=y
# CONFIG_IP_NF_MATCH_MARK is not set
# CONFIG_IP_NF_MATCH_MULTIPORT is not set
# CONFIG_IP_NF_MATCH_TOS is not set
# CONFIG_IP_NF_MATCH_RECENT is not set
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_DSCP is not set
# CONFIG_IP_NF_MATCH_AH_ESP is not set
# CONFIG_IP_NF_MATCH_LENGTH is not set
# CONFIG_IP_NF_MATCH_TTL is not set
# CONFIG_IP_NF_MATCH_TCPMSS is not setCONFIG_IP_NF_MATCH_HELPER=yCONFIG_IP_NF_MATCH_STATE=yCONFIG_IP_NF_MATCH_CONNTRACK=y
# CONFIG_IP_NF_MATCH_UNCLEAN is not set
# CONFIG_IP_NF_MATCH_OWNER is not setCONFIG_IP_NF_FILTER=yCONFIG_IP_NF_TARGET_REJECT=y
# CONFIG_IP_NF_TARGET_MIRROR is not setCONFIG_IP_NF_NAT=yCONFIG_IP_NF_NAT_NEEDED=yCONFIG_IP_NF_TARGET_MASQUERADE=y
# CONFIG_IP_NF_TARGET_REDIRECT is not set
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not setCONFIG_IP_NF_NAT_FTP=y
# CONFIG_IP_NF_MANGLE is not set
# CONFIG_IP_NF_TARGET_LOG is not set
# CONFIG_IP_NF_TARGET_ULOG is not set
# CONFIG_IP_NF_TARGET_TCPMSS is not set
# CONFIG_IP_NF_ARPTABLES is not set
# CONFIG_IPV6 is not set
# CONFIG_XFRM_USER is not set
#
# SCTP Configuration (EXPERIMENTAL)
#CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not setCONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
#CONFIG_NET_ETHERNET=y
# CONFIG_MII is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not setCONFIG_NET_PCI=yCONFIG_PCNET32=y
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not setCONFIG_PPP=y
# CONFIG_PPP_MULTILINK is not setCONFIG_PPP_FILTER=yCONFIG_PPP_ASYNC=y
# CONFIG_PPP_SYNC_TTY is not setCONFIG_PPP_DEFLATE=yCONFIG_PPP_BSDCOMP=y
# CONFIG_PPPOE is not set
# CONFIG_SLIP is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Token Ring devices (depends on LLC=y)
#
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# ISDN subsystem
#
# CONFIG_ISDN_BOOL is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Input device support
#CONFIG_INPUT=y
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not setCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768CONFIG_INPUT_JOYDEV=y
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#CONFIG_GAMEPORT=yCONFIG_SOUND_GAMEPORT=yCONFIG_GAMEPORT_NS558=y
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not setCONFIG_SERIO=yCONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=yCONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not setCONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not setCONFIG_INPUT_JOYSTICK=yCONFIG_JOYSTICK_ANALOG=m
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not setCONFIG_JOYSTICK_SIDEWINDER=m
# CONFIG_JOYSTICK_TMDC is not set
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDDLER is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_INPUT_JOYDUMP is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Character devices
#CONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=yCONFIG_SERIAL_8250_CONSOLE=yCONFIG_SERIAL_8250_ACPI=yCONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not setCONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set
#
# Non-8250 serial port support
#CONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_UNIX98_PTYS=yCONFIG_UNIX98_PTY_COUNT=256CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not setCONFIG_PPDEV=y
# CONFIG_TIPAR is not set
#
# I2C support
#CONFIG_I2C=yCONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_PHILIPSPAR is not set
# CONFIG_I2C_ELV is not set
# CONFIG_I2C_VELLEMAN is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_ALGOPCF is not setCONFIG_I2C_CHARDEV=y
#
# I2C Hardware Sensors Mainboard support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_SIS96X is not setCONFIG_I2C_VIAPRO=y
#
# I2C Hardware Sensors Chip support
#
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM85 is not setCONFIG_SENSORS_LM78=yCONFIG_SENSORS_VIA686A=y
# CONFIG_SENSORS_W83781D is not setCONFIG_I2C_SENSOR=y
#
# Linux InfraRed Controller
#CONFIG_LIRC_SUPPORT=yCONFIG_LIRC_MAX_DEV=2CONFIG_LIRC_GPIO=m
# CONFIG_LIRC_BT829 is not set
# CONFIG_LIRC_IT87 is not set
# CONFIG_LIRC_PARALLEL is not set
# CONFIG_LIRC_SERIAL is not set
# CONFIG_LIRC_SIR is not set
#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not setCONFIG_NVRAM=yCONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not setCONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD_8151 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not setCONFIG_AGP_VIA=y
# CONFIG_DRM is not set
# CONFIG_MWAVE is not setCONFIG_RAW_DRIVER=y
# CONFIG_HANGCHECK_TIMER is not set
#
# Multimedia devices
#CONFIG_VIDEO_DEV=y
#
# Video For Linux
#CONFIG_VIDEO_PROC_FS=y
#
# Video Adapters
#CONFIG_VIDEO_BT848=m
# CONFIG_VIDEO_PMS is not set
# CONFIG_VIDEO_BWQCAM is not set
# CONFIG_VIDEO_CQCAM is not set
# CONFIG_VIDEO_W9966 is not set
# CONFIG_VIDEO_CPIA is not set
# CONFIG_VIDEO_SAA5249 is not set
# CONFIG_TUNER_3036 is not set
# CONFIG_VIDEO_STRADIS is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_ZR36120 is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_DPC is not set
#
# Radio Adapters
#
# CONFIG_RADIO_GEMTEK_PCI is not set
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_MAESTRO is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not setCONFIG_VIDEO_VIDEOBUF=mCONFIG_VIDEO_TUNER=mCONFIG_VIDEO_BUF=mCONFIG_VIDEO_BTCX=m
#
# File systems
#CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not setCONFIG_XFS_FS=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_ZISOFS_FS=yCONFIG_UDF_FS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=y
# CONFIG_MSDOS_FS is not setCONFIG_VFAT_FS=y
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not setCONFIG_DEVPTS_FS=yCONFIG_DEVPTS_FS_XATTR=yCONFIG_DEVPTS_FS_SECURITY=yCONFIG_TMPFS=yCONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not setCONFIG_UFS_FS=yCONFIG_UFS_FS_WRITE=y
#
# Network File Systems
#
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_EXPORTFS is not setCONFIG_SMB_FS=y
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not setCONFIG_MSDOS_PARTITION=yCONFIG_SMB_NLS=yCONFIG_NLS=y
#
# Native Language Support
#CONFIG_NLS_DEFAULT="iso8859-15"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not setCONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Graphics support
#CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not setCONFIG_FB_VESA=yCONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not setCONFIG_DUMMY_CONSOLE=yCONFIG_FRAMEBUFFER_CONSOLE=yCONFIG_PCI_CONSOLE=yCONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
#
# Logo configuration
#CONFIG_LOGO=yCONFIG_LOGO_LINUX_MONO=yCONFIG_LOGO_LINUX_VGA16=yCONFIG_LOGO_LINUX_CLUT224=yCONFIG_LOGO_NGE=y
#
# Sound
#CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#CONFIG_SND=yCONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not setCONFIG_SND_OSSEMUL=yCONFIG_SND_MIXER_OSS=yCONFIG_SND_PCM_OSS=yCONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_RTCTIMER is not setCONFIG_SND_VERBOSE_PRINTK=y
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# PCI devices
#
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not setCONFIG_SND_ENS1371=y
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_SONICVIBES is not setCONFIG_SND_VIA82XX=y
# CONFIG_SND_VX222 is not set
#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
#
# Miscellaneous USB options
#CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OHCI_HCD is not setCONFIG_USB_UHCI_HCD=y
#
# USB Device Class drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not setCONFIG_USB_PRINTER=y
# CONFIG_USB_STORAGE is not set
#
# USB Human Interface Devices (HID)
#CONFIG_USB_HID=yCONFIG_USB_HIDINPUT=yCONFIG_HID_FF=y
# CONFIG_HID_PID is not set
# CONFIG_LOGITECH_FF is not set
# CONFIG_THRUSTMASTER_FF is not set
# CONFIG_USB_HIDDEV is not set
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_XPAD is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
# CONFIG_USB_OV511 is not set
# CONFIG_USB_PWC is not set
# CONFIG_USB_SE401 is not set
# CONFIG_USB_STV680 is not set
#
# USB Network adaptors
#
# CONFIG_USB_AX8817X is not set
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_BRLVGER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_GADGET is not set
#
# Bluetooth support
#
# CONFIG_BT is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not setCONFIG_DEBUG_INFO=y
# CONFIG_FRAME_POINTER is not set
#
# Security options
#
# CONFIG_SECURITY is not set
#
# Cryptographic options
#
# CONFIG_CRYPTO is not set
#
# Library routines
#CONFIG_CRC32=yCONFIG_ZLIB_INFLATE=yCONFIG_ZLIB_DEFLATE=yCONFIG_X86_BIOS_REBOOT=y
Quoted 6 lines · Dave Jones
Oprofile.
~~~~~~~~~
A system wide performance profiler has been included in 2.5. With this option compiled in, you'll get an oprofilefs filesystem which you can mount, that the userspace utilities talk to.
You can find out more at http://oprofile.sourceforge.net/oprofile-2.5.html
this link is not valid, use http://oprofile.sourceforge.net/ instead.
Signature · 3 lines
Regards, Wiktor Wodecki
Quoted 5 lines · Dave Jones
USB:
~~~~
- Very little user visible changes, the only noticable 'major' change is that there is now only one UHCI driver. As noted elsewhere, usbdevfs got renamed to usbfs.
We may want to mention here that usb-storage has changed behavior. A device which is disconnected and then re-connected is not re-associated with the old /dev/ node. Also some performance enhancements.
Matt
Signature · 6 lines
Matthew Dharm Home: [email protected] Maintainer, Linux USB Mass Storage Driver I see you've been reading alt.sex.chubby.sheep voraciously. -- Tanya User Friendly, 11/24/97
Quoted 10 lines · Dave Jones
Known gotchas.
~~~~~~~~~~~~~~
Certain known bugs are being reported over and over. Here are the workarounds.
- Blank screen after decompressing kernel?
Make sure your .config has
CONFIG_INPUT=y,CONFIG_VT=y,CONFIG_VGA_CONSOLE=yandCONFIG_VT_CONSOLE=yA lot of people have discovered that taking their .config from 2.4 and running make oldconfig to pick up new options leads to problems, notably withCONFIG_VTnot being set.
/boot/config-$(uname -r) will be looked at before arch/$(ARCH)/defconfig potentially leading to some of the above (i.e. CONFIG_FB=y CONFIG_FB_CONSOLE (or so) unset) if you don't look at every menu / submenu in menuconfig / xconfig, and even more awkward results if cross compiling for another arch.
Signature · 2 lines
Tom Rini http://gate.crashing.org/~trini/
Quoted 2 lines · Dave Jones
Enormous block size support.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
How about "block device size" instead? This made me think of blocks larger than page size initially (even though I know that hasn't happened).
Quoted 2 lines
o
ide_scsiis completely broken in 2.5.x. Known problem. If you need it either use 2.4 or fix it 8)
Is this still true? I seem to recall testing a kernel in the 2.5.6x range, and it worked. (haven't tested more recent kernels yet -- compiling one now though)
Quoted 3 lines
EXT3.
~~~~~
- data=journal mode is currently broken.
Is this still true (or is that still in -mm?)
Quoted 6 lines · Mike Fedyk
Quoted 2 lines · Dave Jones
Enormous block size support.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~How about "block device size" instead? This made me think of blocks larger than page size initially (even though I know that hasn't happened).
Agreed.
Quoted 6 lines
Quoted 2 lines
o
ide_scsiis completely broken in 2.5.x. Known problem. If you need it either use 2.4 or fix it 8)Is this still true? I seem to recall testing a kernel in the 2.5.6x range, and it worked. (haven't tested more recent kernels yet -- compiling one now though)
IIRC Alan's comment was "this fixes 99% of it"
Jeff
Quoted 1 line · Jeff Garzik
IIRC Alan's comment was "this fixes 99% of it"
I fixed the 2.4 one, but the 2.4 fix relies on old style scsi error handling which has (thankfully on the whole) gone away in 2.5
Quoted 3 lines · Dave Jones
- gcc 3.2.2-5 as shipped by Red Hat generates incorrect code in the kmalloc optimisation introduced in 2.5.71
See http://linus.bkbits.net:8080/linux-2.5/[email protected]
IIRC this is a sub-optimal code generation more then a panic generator.
- Davide
Quoted 4 lines · Dave Jones
Process scheduler improvements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Scheduler is now Hyperthreading SMP aware and will disperse processes over physically different CPUs, instead of just over logical CPUs.
I'm pretty sure this is not in 2.5 (unless it's in bk after 2.5.75)
-Andrew Theurer
Quoted 7 lines · Andrew Theurer
Quoted 4 lines · Dave Jones
Process scheduler improvements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Scheduler is now Hyperthreading SMP aware and will disperse processes over physically different CPUs, instead of just over logical CPUs.I'm pretty sure this is not in 2.5 (unless it's in bk after 2.5.75)
Wrong, grep for sibling.
Jeff
Quoted 10 lines · Jeff Garzik
Quoted 7 lines · Andrew Theurer
Quoted 4 lines · Dave Jones
Process scheduler improvements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Scheduler is now Hyperthreading SMP aware and will disperse processes over physically different CPUs, instead of just over logical CPUs.I'm pretty sure this is not in 2.5 (unless it's in bk after 2.5.75)
Wrong, grep for sibling.
I don't see sibling mentioned anywhere in the context of load balance, only in smpboot.c. Where exactly do you see any HT awareness in load balance?
-Andrew Theurer
Quoted 8 lines · Andrew Theurer
Quoted 4 lines · Dave Jones
Process scheduler improvements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Scheduler is now Hyperthreading SMP aware and will disperse processes over physically different CPUs, instead of just over logical CPUs.I'm pretty sure this is not in 2.5 (unless it's in bk after 2.5.75)
wasn't this merged back in 2.4.6x?
Quoted 10 lines · Mike Fedyk
Quoted 7 lines · Andrew Theurer
Quoted 4 lines · Dave Jones
Process scheduler improvements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Scheduler is now Hyperthreading SMP aware and will disperse processes over physically different CPUs, instead of just over logical CPUs.I'm pretty sure this is not in 2.5 (unless it's in bk after 2.5.75)
wasn't this merged back in 2.4.6x?
I believe that was support of, not enhancement for HT. Actually there may have been some enhancements in other areas, but not scheduler.
-Andrew Theurer
First it has:
|>IO subsystem.
|>~~~~~~~~~~~~~
|>- Several different IO elevators are available to match different types
|> of workload. You can select which one to use with elvtune.
^^^^^^^and then:
|>Deprecated.
|>~~~~~~~~~~~
|>- elvtune is deprecated (as are the ioctl's it used).
^^^^^^^^^^^^^^^^^^^^^
|> Instead, the io scheduler tunables are exported in sysfs (see below)
|> in the /sys/block/<device>/iosched directory.
|> Jens wrote a document explaining the tunables of the new scheduler at
|> http://www.lib.uaa.alaska.edu/linux-kernel/archive/2002-Week-44/att-deadline-iosched.txtAlso, it is /sys/block/<device>/queue/iosched/ on my box.
-JimC
Quoted 5 lines · Dave Jones
USB:
~~~~
- Very little user visible changes, the only noticable 'major' change is that there is now only one UHCI driver. As noted elsewhere, usbdevfs got renamed to usbfs.
The USB host controller drivers got renamed in 2.5. They are now:
uhci-hcd.o for UHCI USB host controllers ohci-hcd.o for OHCI USB host controllers ehci-hcd.o for EHCI (USB 2.0) host controllers
thanks,
greg k-h
elvtune is mentioned here...
DJ> - Several different IO elevators are available to match different types
DJ> of workload. You can select which one to use with elvtune.
but deprecated here:
DJ> Deprecated.
DJ> ~~~~~~~~~~~
DJ> - usbdevfs will be going away in 2.7. The same filesystem can
DJ> be mounted as 'usbfs' in recent 2.4 kernels, and in 2.5.52 DJ> and above, which is what the filesystem will furthermore be DJ> known as. DJ> - elvtune is deprecated (as are the ioctl's it used). DJ> Instead, the io scheduler tunables are exported in sysfs (see below) DJ> in the /sys/block/<device>/iosched directory. DJ> Jens wrote a document explaining the tunables of the new scheduler at DJ> http://www.lib.uaa.alaska.edu/linux-kernel/archive/2002-Week-44/att-deadline-iosched.txt
Maybe just suggest the sysfs interface at once and not mention elvtune?
Signature · 1 line
Meelis Roos ([email protected])
Quoted 9 lines · Meelis Roos
elvtune is mentioned here...
DJ> - Several different IO elevators are available to match different types
DJ> of workload. You can select which one to use with elvtune.
but deprecated here:DJ> Deprecated.
DJ> ~~~~~~~~~~~
DJ> - usbdevfs will be going away in 2.7. The same filesystem can
Quoted 8 lines
DJ> be mounted as 'usbfs' in recent 2.4 kernels, and in 2.5.52 DJ> and above, which is what the filesystem will furthermore be DJ> known as. DJ> - elvtune is deprecated (as are the ioctl's it used). DJ> Instead, the io scheduler tunables are exported in sysfs (see below) DJ> in the /sys/block/<device>/iosched directory. DJ> Jens wrote a document explaining the tunables of the new scheduler at DJ> http://www.lib.uaa.alaska.edu/linux-kernel/archive/2002-Week-44/att-deadline-iosched.txt
Something seems amiss. The deprecated elvtune interface is the old -r/-w/-b command line. I was lead to believe a new elvtune appeared which supports an option
for changing the elevator under 2.5, however a quick google doesn't turn
up any such patched elvtune, so I'm somewhat puzzled.
Quoted 1 line
Maybe just suggest the sysfs interface at once and not mention elvtune?
Changing the elevator type per device via sysfs does seem to make sense, however /sys/block/<devicename>/queue/iosched/ doesn't yield anything that would suggest this is possible (yet). I think Jens has patches for this?
Right now, afaics, the only way to change elevator is on a global (all device) basis, booting with elevator=deadline or the like, so it looks like the quote from post-halloween-2.5.txt has jumped the gun a little and is discussing an as-yet unmerged feature. Jens ?
Dave
Quoted 7 lines · Dave Jones
..
Something seems amiss. The deprecated elvtune interface is the old -r/-w/-b command line. I was lead to believe a new elvtune appeared which supports an option
for changing the elevator under 2.5, however a quick google doesn't turn
up any such patched elvtune, so I'm somewhat puzzled.
No, we planned to do the selection via sysfs rather than ioctl.
Quoted 5 lines
Quoted 1 line
Maybe just suggest the sysfs interface at once and not mention elvtune?
Changing the elevator type per device via sysfs does seem to make sense, however /sys/block/<devicename>/queue/iosched/ doesn't yield anything that would suggest this is possible (yet). I think Jens has patches for this?
But it never happened. There are all sorts of nasties wrt actually making the switch. Some related to request queueing, some to sysfs itself.
So yes, we should have runtime selection, and maybe sometime we will, but the lowness of the return-to-effort ratio means it won't happen soon.
Quoted 10 lines · Andrew Morton
Quoted 7 lines · Dave Jones
..
Something seems amiss. The deprecated elvtune interface is the old -r/-w/-b command line. I was lead to believe a new elvtune appeared which supports an option
for changing the elevator under 2.5, however a quick google doesn't turn
up any such patched elvtune, so I'm somewhat puzzled.No, we planned to do the selection via sysfs rather than ioctl.
Right
Quoted 9 lines
Quoted 7 lines
Quoted 2 lines
Maybe just suggest the sysfs interface at once and not mention elvtune?
Changing the elevator type per device via sysfs does seem to make sense, however /sys/block/<devicename>/queue/iosched/ doesn't yield anything that would suggest this is possible (yet). I think Jens has patches for this?
But it never happened. There are all sorts of nasties wrt actually
Well the code exists.
Quoted 2 lines
making the switch. Some related to request queueing, some to sysfs itself.
I don't recall any request queueing problems, it's pretty straight forward to lock the queue down and prevent any new requests from entering. sysfs problems is the only issue, and before Al does his magic on that stuff, the patch just doesn't make sense. So it hasn't been posted publically. With the sysfs disabled, I can switch io schedulers on the fly quite easily.
Quoted 3 lines
So yes, we should have runtime selection, and maybe sometime we will, but the lowness of the return-to-effort ratio means it won't happen soon.
Depends. If the sysfs stuff doesn't get fixed, then no it wont happen.
Signature · 1 line
Jens Axboe
Quoted 3 lines · Dave Jones
- Some people seem to have trouble running rpm, most notably Red Hat 9 users. This is a known bug of rpm.
Workaround: run "export LD_ASSUME_KERNEL=2.2.5", before running rpm.
Ah, _thank you_.
It's not an rpm bug, as such; it's a problem/bug with DB4, the Berkeley DB library.
I just spent 2 hours trying to figure out why rpm was failing. write() returning EINVAL for no reason? Finally spotted that O_DIRECT was the significant bit.
I don't raise any eyebrows when rpm has a bug - after all, it's had quite a few. But I was disappointed to find Berkeley DB's own db_dump unable to read the rpm database too.
End result: I copied an rpm database from another machine. It's wrong for this machine, but nearly right. Ah well.
If I'd only known about the LD_ASSUME_KERNEL fix sooner.
Can this go into Documentation/Changes, please?
-- Jamie
Quoted 7 lines · Jamie Lokier
Quoted 3 lines · Dave Jones
- Some people seem to have trouble running rpm, most notably Red Hat 9 users. This is a known bug of rpm.
Workaround: run "export LD_ASSUME_KERNEL=2.2.5", before running rpm.
Quoted 8 lines
Ah,
_thankyou_.It's not an rpm bug, as such; it's a problem/bug with DB4, the Berkeley DB library.
I just spent 2 hours trying to figure out why rpm was failing.
write()returning EINVAL for no reason? Finally spotted thatO_DIRECTwas the significant bit.
You got it. db4+O_DIRECT == blah. (I just had a conversation yesterday with rpm's maintainer about what the problems are)
One problem is O_DIRECT should return an error on open(2) or fcntl(2), not write(2).
Another problem appears to be that db does not know about the alignment requirements of O_DIRECT.
Quoted 4 lines
End result: I copied an rpm database from another machine. It's wrong for this machine, but nearly right. Ah well.
If I'd only known about the
LD_ASSUME_KERNELfix sooner.
Unfortunately, LD_ASSUME_KERNEL is a lucky hack, not a fix. rpm dlopens a pam .so. LD_ASSUME_KERNEL doesn't work for that .so, only for rpm itself... fun ensues.
Jeff
Quoted 3 lines · Jeff Garzik
One problem is
O_DIRECTshould return an error on open(2) or fcntl(2),
not write(2).
That is the 2.5 behaviour.
Quoted 4 lines · Andrew Morton
Quoted 2 lines
One problem is
O_DIRECTshould return an error on open(2) or fcntl(2),
not write(2).That is the 2.5 behaviour.
What do you mean?
The problem with db4 is that operations on O_DIRECT handles now return EINVAL if the address isn't suitable aligned, and db4 is not expecting that - it aborts. That was true for 2.5.74, at least.
-- Jamie
Quoted 4 lines · Jamie Lokier
Quoted 2 lines · Andrew Morton
Quoted 1 line
One problem is
O_DIRECTshould return an error on open(2) or fcntl(2), not write(2).
Quoted 8 lines
Quoted 1 line
That is the 2.5 behaviour.
What do you mean?
The problem with db4 is that operations on
O_DIRECThandles now return EINVAL if the address isn't suitable aligned, and db4 is not expecting that - it aborts. That was true for 2.5.74, at least.
These are separate db4+kernel problems.
The first is that there needs to be a reliable way to know if O_DIRECT writes are going to succeed or not. The 2.4 kernel fails on write(2) but not open(2) or fcntl(2).
The second is that db4 doesn't appear to know about the alignment requirement.
Jeff
Quoted 8 lines · Jeff Garzik
These are separate db4+kernel problems.
The first is that there needs to be a reliable way to know if
O_DIRECTwrites are going to succeed or not. The 2.4 kernel fails on write(2) but not open(2) or fcntl(2).The second is that db4 doesn't appear to know about the alignment requirement.
The alignment requirement can be probed if necessary - by reading a misaligned page. It's ugly, but fixable in db4.
2.4 fails on write()? A strace of "rpm --rebuilddb" shows it is opening with O_DIRECT and writing just fine. Or does that only work with RedHat's 2.4 kernels?
-- Jamie
Quoted 3 lines · Jamie Lokier
2.4 fails on
write()? A strace of "rpm --rebuilddb" shows it is opening withO_DIRECTand writing just fine. Or does that only work with RedHat's 2.4 kernels?
Are you testing on a filesystem where an O_DIRECT is not supported?
The "it works" case is not an issue.
Jeff
Quoted 7 lines · Jeff Garzik
Quoted 3 lines · Jamie Lokier
2.4 fails on
write()? A strace of "rpm --rebuilddb" shows it is opening withO_DIRECTand writing just fine. Or does that only work with RedHat's 2.4 kernels?Are you testing on a filesystem where an
O_DIRECTis not supported? The "it works" case is not an issue.
ext3.
-- Jamie
Quoted 10 lines · Jamie Lokier
Quoted 7 lines · Jeff Garzik
Quoted 3 lines · Jamie Lokier
2.4 fails on
write()? A strace of "rpm --rebuilddb" shows it is opening withO_DIRECTand writing just fine. Or does that only work with RedHat's 2.4 kernels?Are you testing on a filesystem where an
O_DIRECTis not supported? The "it works" case is not an issue.ext3.
ext3 in 2.4 kernels does not support O_DIRECT. To confuse matters, recent RH kernels silently ignore O_DIRECT if you are not root, so you may think O_DIRECT is being used, but it isn't.
Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/
Quoted 13 lines · Andreas Dilger
Quoted 11 lines · Jamie Lokier
Quoted 8 lines · Jeff Garzik
Quoted 3 lines · Jamie Lokier
2.4 fails on
write()? A strace of "rpm --rebuilddb" shows it is opening withO_DIRECTand writing just fine. Or does that only work with RedHat's 2.4 kernels?Are you testing on a filesystem where an
O_DIRECTis not supported? The "it works" case is not an issue.
Quoted 6 lines
Quoted 1 line
ext3.
ext3 in 2.4 kernels does not support
O_DIRECT. To confuse matters, recent RH kernels silently ignoreO_DIRECTif you are not root, so you may thinkO_DIRECTis being used, but it isn't.
ahhh, that's probably what is going on. I was thinking only of stock 2.4 behavior (open succeeds, write fails).
Jeff
Quoted 3 lines · Andreas Dilger
ext3 in 2.4 kernels does not support
O_DIRECT. To confuse matters, recent RH kernels silently ignoreO_DIRECTif you are not root, so you may thinkO_DIRECTis being used, but it isn't.
Modern RH kernels also ignore O_DIRECT if you are root: O_DIRECT is completely disabled/ignored.
I suspect it is because gcc-3.2.2-5 (in RH9) does not compile 2.4 O_DIRECT correctly ..
greetings,
Rob van Nieuwkerk
Quoted 10 lines · Rob van Nieuwkerk
Quoted 3 lines · Andreas Dilger
ext3 in 2.4 kernels does not support
O_DIRECT. To confuse matters, recent RH kernels silently ignoreO_DIRECTif you are not root, so you may thinkO_DIRECTis being used, but it isn't.Modern RH kernels also ignore
O_DIRECTif you are root:O_DIRECTis completely disabled/ignored.I suspect it is because gcc-3.2.2-5 (in RH9) does not compile 2.4
O_DIRECTcorrectly ..
Wrong guess.
Hi!
Quoted 2 lines
- software suspend is still in development, and in need of more work. It is unlikely to work as expected currently.
Actually it tends to work these days. No SMP, be carefull with PREEMPT, and no unusual hardware, and it should work.
pavel
Signature · 2 lines
When do you have a heart between your knees? [Johanka's followup: and *two* hearts?]
Hi Dave,
Can you add the following two points appended to the Generic VFS changes list?
Thanks
Maneesh
On Fri, Jul 11, 2003 at 02:04:59PM +0000, Dave Jones wrote:
[...]
Quoted 10 lines
Generic VFS changes.
~~~~~~~~~~~~~~~~~~~~
- Since Linux 2.5.1 it is possible to atomically move a subtree to another place. The call is...
mount --move olddir newdir
- Since 2.5.43, dmask=value sets the umask applied to directories only. The default is the umask of the current process.
The fmask=value sets the umask applied to regular files only. Again, the default is the umask of the current process.
- Since 2.5.62, dcache lookup is dcache_lock free. This does not affect normal filesystems as long as they follow proper dcache interfaces. Care should be taken (like holding per dentry lock) if one is racing with d_lookup bringing a new dentry in dcache.
- Since 2.5.75-bk1 onwards separate lock is used for vfsmounts instead of dcache_lock.
Signature · 5 lines
Maneesh Soni IBM Linux Technology Center, IBM India Software Lab, Bangalore. Phone: +91-80-5044999 email: [email protected] http://lse.sourceforge.net/
Quoted 4 lines · Maneesh Soni
Can you add the following two points appended to the Generic VFS changes list?
Thanks
Maneesh
I had considered putting such things in there a while ago, but wanted the doc to just let _users_ know what changes they should be aware of. This sort of thing really belongs in a 2.5-api-changes.txt or the likes. (Which I did ponder doing at one point, but time got the better of me).
Dave
Quoted 12 lines · Dave Jones
[...]
Quoted 10 lines
Generic VFS changes.
~~~~~~~~~~~~~~~~~~~~
- Since Linux 2.5.1 it is possible to atomically move a subtree to another place. The call is...
mount --move olddir newdir
- Since 2.5.43, dmask=value sets the umask applied to directories only. The default is the umask of the current process.
The fmask=value sets the umask applied to regular files only. Again, the default is the umask of the current process.
Quoted 14 lines
- Since 2.5.62, dcache lookup is
dcache_lockfree. This does not affect normal filesystems as long as they follow proper dcache interfaces. Care should be taken (like holding per dentry lock) if one is racing withd_lookupbringing a new dentry in dcache.
- Since 2.5.75-bk1 onwards separate lock is used for vfsmounts instead ofdcache_lock.Signature · 5 lines
Maneesh Soni IBM Linux Technology Center, IBM India Software Lab, Bangalore. Phone: +91-80-5044999 email: [email protected] http://lse.sourceforge.net/
---end quoted text---
Quoted 6 lines · Dave Jones
In preparation for the flood of testers as we approach 2.6pre, I thought I'd give this doc another airing to be sure that it isn't missing anything important.. (Plus I've been meaning to post an update for a while, and 42 sounded like a good number).
Dave
Dave,
thanks a lot for the effort of writing this document. I think it's very nice.
I think that a very useful thing for have a quite large group of people testing 2.6pre is a similar document that explain "what should I do with my distribution to test 2.6pre?". For example, I have an uptodate mandrake 9.1: it would be very nice to have a page where I can download package/learn what to do to test a 2.6kernel. Anyone knows if there is such a page over there? Otherwise, it would be nice that the distribution's gurus could advice us...
Thanks again to all linux-kernel people,
Romano
Signature · 2 lines
Romano Giannetti - Univ. Pontificia Comillas (Madrid, Spain) Electronic Engineer - phone +34 915 422 800 ext 2416 fax +34 915 596 569
Quoted 10 lines · Romano Giannetti
thanks a lot for the effort of writing this document. I think it's very nice.
I think that a very useful thing for have a quite large group of people testing 2.6pre is a similar document that explain "what should I do with my distribution to test 2.6pre?". For example, I have an uptodate mandrake 9.1: it would be very nice to have a page where I can download package/learn what to do to test a 2.6kernel. Anyone knows if there is such a page over there? Otherwise, it would be nice that the distribution's gurus could advice us...
I've no objection to taking "heres links to packages for xxx distro" texts if people want to write them, but I don't have the time, nor knowledge to add these for every distro out there. And these days quite a few distros are starting to ship module-init-tools and the likes, so the situation shouldn't be too bad.
Dave
Quoted 3 lines · Dave Jones
I've no objection to taking "heres links to packages for xxx distro" texts if people want to write them, but I don't have the time, nor knowledge to add these for every distro out there.
If you wish to include Ark Linux:
=== CUT ===
Ark Linux users can simply use
"apt-get update; apt-get install kernel26"
to get 2.6.0-test1 and everything it depends on.
=== CUT ===
LLaP
bero
Signature · 5 lines
Ark Linux - Linux for the masses http://www.arklinux.org/ Redistribution and processing of this message is subject to http://www.arklinux.org/terms.php
Quoted 3 lines · Dave Jones
I've no objection to taking "heres links to packages for xxx distro" texts if people want to write them, but I don't have the time, nor knowledge to add these for every distro out there.
RHL9 rpms are at
Quoted 9 lines · Arjan van de Ven
Quoted 3 lines · Dave Jones
I've no objection to taking "heres links to packages for xxx distro" texts if people want to write them, but I don't have the time, nor knowledge to add these for every distro out there.
RHL9 rpms are at
Won't people need rawhide modutils for these? ( plus optional ipsec utils, etc which are there)
Paul
Quoted 9 lines · Arjan van de Ven
Quoted 3 lines · Dave Jones
I've no objection to taking "heres links to packages for xxx distro" texts if people want to write them, but I don't have the time, nor knowledge to add these for every distro out there.
RHL9 rpms are at
Hi,
I wouldn't personally say these 2.5 kernel RPM's you are building are for RHL 9 systems, well not stock systems at any rate. Unless of course you are advocating --nodeps installing them?
Regards
Philip Wyett
Signature · 9 lines
AOL Instant Messenger (AIM) or Yahoo Messenger: PhilipWyett Email: [email protected] Website: http://www.philipwyett.dsl.pipex.com Public key: http://www.philipwyett.dsl.pipex.com/gpg/public_key.txt --
Quoted 9 lines · Philip Wyett
Quoted 8 lines · Arjan van de Ven
Quoted 3 lines · Dave Jones
I've no objection to taking "heres links to packages for xxx distro" texts if people want to write them, but I don't have the time, nor knowledge to add these for every distro out there.
RHL9 rpms are at
Quoted 7 lines
Quoted 1 line
Hi,
I wouldn't personally say these 2.5 kernel RPM's you are building are for RHL 9 systems, well not stock systems at any rate. Unless of course you are advocating --nodeps installing them?
the plan is to put the requires helper packages up as well but the buildsystem isn't currently on friendly terms with me ;( to be there asap.
Quoted 8 lines · Arjan van de Ven
Quoted 3 lines · Philip Wyett
Quoted 1 line · Arjan van de Ven
RHL9 rpms are at
the plan is to put the requires helper packages up as well but the buildsystem isn't currently on friendly terms with me ;( to be there asap.
Hmm, any chance of putting the spec/patches and .configs split out to minimise downloads for those of us who already have the kernel archive?
Things I note that aren't there yet (or in rawhide from what I can see), an lvm2 package - but I imagine that'll come in time. The ipsec-tools are in rawhide, but what you provide should be good for getting people up and running.
I like the combined modutils patch, that seems more user friendly.
Cheers
Paul
Another one:
rmmod on net drivers no longer produces the behavior that's existed since modules were first added to the kernel.
Jeff
Quoted 4 lines · Jeff Garzik
Another one:
rmmod on net drivers no longer produces the behavior that's existed since modules were first added to the kernel.
And that new behaviour is?
Quoted 8 lines · Mike Fedyk
Quoted 3 lines · Jeff Garzik
Another one:
rmmod on net drivers no longer produces the behavior that's existed since modules were first added to the kernel.
And that new behaviour is?
No reference counts reported to module subsystem at all, so, you can rmmod a module at any time, even if the interface is up and running.
Even though net devices are independently refcounted and internally consistent, I have no idea if the module's code is refcounted elsewhere or not. So, I hope it's safe...
Jeff
Quoted 3 lines · Jeff Garzik
Even though net devices are independently refcounted and internally consistent, I have no idea if the module's code is refcounted elsewhere or not. So, I hope it's safe...
With the rmmod -a cronjobs some people like to run it'll break horribly :)
Quoted 5 lines · Christoph Hellwig
Quoted 3 lines
Even though net devices are independently refcounted and internally consistent, I have no idea if the module's code is refcounted elsewhere or not. So, I hope it's safe...
With the rmmod -a cronjobs some people like to run it'll break horribly :)
Yes. I think rmmod -a (and modprobe -r) should go away then - unless the correct behavior is back.
Signature · 2 lines
Krzysztof Halasa Network Administrator