[Linux-Biella] Traduzione...
CIARROCCHI Paolo
linux@bilug.linux.it
Fri, 18 Apr 2003 12:27:05 +0200
Nessuno mi aiuta ?
Questo e' quanto ho fatto fino a ora...
The post-halloween document. v0.35
(aka, 2.5 - what to expect)
Dave Jones <davej@codemonkey.org.uk>
Traduzione a cura di: Paolo Ciarrocchi <ciarrocchi@linuxmail.org>
(Updated as of 2.5.67)
Questa documento descrive alcune delle nuove funzionalita' che trovate =
nella
versione 2.5 del Kernel Linux, alcune trappole che potreste incontrare, =
ed=20
alcune nuove funzionalita' che potrebbe essere utile testare.
Nota, che i vari "contattare foo@bar.com" che seguono implica che =
dovreste=20
anche mettere in cc linux-kernel@vger.kernel.org.
L'ultima versione di questo documento (originale ed in lingua inglese)
puo' essere trovato presso:
http://www.codemonkey.org.uk/post-halloween-2.5.txt
Traduzione in Italiano presso: http://bilug.linux.it
Ringrazio moltissime persone [troppe per essere elencate] per i loro
preziosi feedback.
Traduzione in Spagnolo presso: =
http://www.terra.es/personal/diegocg/post-halloween-2.5.es.txt
Applicare patch.
~~~~~~~~~~~~~~~~~
- In 2.4 e nelle versioni precedenti, la modalita' raccomandata di=20
applicazione delle path era di usare un comando come...
gzip -cd patchXX.gz | patch -p0
In 2.5, Linus ha iniziato ad aggiungere un "extra path element"
ai diff, percio' la modalita' raccomandata e' ora...
gzip -cd patchXX.gz | patch -p1
Regressioni.
~~~~~~~~~~~~
(Cose che si aspetta che non funzionino ancora)
- I drivers hptraid/promise RAID sono al momento non funzionanti,
e verranno probabilmente convertiti all'uso di device-mapper.
- Alcuni filesystem non funzionano ancora (Intermezzo, UFS, HFS, =
HPFS...)
- Alcuni driver attualmente non compilano perche' necessitano di essere
convertiti all'uso delle nuove APIs
- Il filesystme UMSDOS e' attualmente mancante, si aspetta un rewrite.
- Il formato di /proc/stat e' cambiato, questo potrebbe causare
malfunzionamenti in vecchie applicazioni che dipendono dal vecchio =
formato.
=20
Attualmente l'unica applicazione non funzionante, di cui si e' a =
conoscenza e'=20
l'appicazione Java 'DOTS'. =
(http://bugme.osdl.org/show_bug.cgi?id=3D277)
- Alcune persone sembrano avere problemi nell'uso di rpm, in particolare
gli utente RH 9.
Questo e' un bug conosciuto di rpm.
Workaround: lanciate "export LD_ASSUME_KERNEL=3D2.2.5", prima di usare =
rpm.
Funzioni deprecate.
~~~~~~~~~~~~~~~~~~~~
- khttpd e' stato eliminato.
- Supporto di Older Direct Rendering Manager (DRM)(For XFree86 4.0)
e' stato rimosso. Fate un upgrade a XFree86 4.1.0 o superiore.
- LVM1 e' stato rimosso. Si veda il seguente Device-mapper.
- boot time root=3D parsing e' cambiato.
ramdisks ora hanno ram<n> al posto di rd<n> e acm206 ha cm206cd (al =
posto di=20
cm206).
- La "system call table" non e' piu esportata. Ogni modulo che e' legato =
su di essa
non funzionera'.
- Supporto Soundmodem hamradio e' stato rimosso. La sua funzionalita' =
e' stata=20
sostituita con una versione in userspace.
http://www.baycom.org/~tom/ham/soundmodem
- "Direct booting" da floppy non e' piu' supportato.
Al suo posto usate un boot loader.
Moduli.
~~~~~~~~
- in-kernel module loader e' stato re-implementato
- Al suo posto utilizzate "module utilities" presso
http://www.kernel.org/pub/linux/kernel/people/rusty/modules/
- Una versione compatibile all'indietro e' disponibile presso
lo stesso URL in versione rpm.
- Gli utenti Debian sid possono fare 'apt-get install module-init-tools'
- I moduli marcati con __init o __initdata ora liberano "stuff".
=20
Kernel build system.
~~~~~~~~~~~~~~~~~~~~
- Rispetto alla versione 2.4, il sistmea di build e' stato molto =
migliorato.
Dovresti notare compilazioni piu' veloci e meno ri-compilazioni =
spontanee
di files dopo ricompilazioni fatte in un tree gia' compilato.
- Ci sono nuovi tool grafici di configurazione.
"make xconfig" ora richiede le librerie QT.
"make gconfig" utilizza le librerie gtk.
- Make menuconfig/oldconfig non ha modifiche visibili all'utente, oltre =
alla velocita',
anche se numerosi miglioramenti sono stati fatti.
- Esistono numerosi nuovi debug targets : 'allyesconfig' 'allnoconfig' =
'allmodconfig'.
- Nota: Il nuovo sistema di configurazione non e' correlato con CML2.
- Altra nota: Alcune idee sono state prese dal progetto "kbuild-2.5" di =
Keith Owens, anche=20
se il progetto non e' stato integrato.
- "make" e' ora il comando preferito, senza un target ora esegue: =
<arch-zimage>
e i moduli.
- "make -jN" e' ora il sistema preferito di "parallel make".
Non preoccupatevi di fornire "MAKE=3Dxxx"
- Provate "make KBUILD_VERBOSE=3D0 <qualunque target>". Se vi piace,
mettete KBUILD_VERBOSE=3D0 nel vostro sistema. (o la piu' breve =
versione V=3D0)
- 'make kernel/mm.o' fara' il build del file citato, se un =
corrispondente source file esiste.
Questo funziona anche per i moduli (non-compositi)
(FIXME: attualmente non funziona con i moduli ?)
- 'make kernel/' compilera tutti i file presenti in una sottodirectory.
- Non c'e' la necessita' di fare 'make dep' in alcuna situazione.
- 'make help' fornisce una lista di tipici 'target', compresi 'debugging =
targets'.
IO subsystem.
~~~~~~~~~~~~~
- Dovresti notare un considerabile aumento del throughput rispetto=20
al 2.4 dovuto al lavoro fatto sui 'block system' e 'memory management =
system'.
- Riporta ogni regressione in questa area a Jens Axboe <axboe@suse.de>
e a Andrew Morton <akpm@digeo.com>.
- I molti cambiamenti al 'block layer' significa che molti driver
legati ai 'block device' sono stati ampiamenti modificati per essere =
allineati
alle nuove APIs.
- La dimensione e l'allineamento richieste di file O_DIRECT file IO =
corrispondo ora
a quelle del device, non del filesystem. =20
Tipicamente questo significa che puoi effettuare O_DIRECT IO con =
granularita' di 512 byte
invece che 4k.
Ma, se le tue applicazioni dipendono da quanto descritto, allora non =
funzioneranno=20
con 2.4 e non funzioneranno con alcuni device.
Enormous block size support.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Grazie al lavoro fatto da Peter Chubb, block devices ora possno =
accedere fino a=20
16TB su architetture a 32-bit , and fino a 8EB su architetture a =
64-bit.
- Per usare le nuove ioctls BLKGETSZ64 , dovrai aggiornare i file-utils.
(Attualmente solo jfsutils 1.0.20 ha questi cambiamenti, patch per =
altri=20
filesystem sono in attesa di essere accettati)
POSIX ACLs & Extended attributes.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Tools userspace disponibili presso http://acl.bestbits.at
VM Changes.
~~~~~~~~~~~
- Partizioni di swap di tipo zero non sono piu' supportare (ogni cosa =
ora usa la v1 -
fai mkswap se sei in dubbio).
Linux 2.0.x richiede v0 swap space, Linux v2.1.117 e successivi =
supportano v1. =20
mkswap(8) puo' formattare lo spazio di swap in entrambi i formati.
- L'attuale 'reverse mappings' fi Rik van Riel's rmap vm e' stata =
inserita nel 2.5.
Il comportamente della VM con alcuni carichi dovrebbe migliorare.
- Errati comportamenti della VM dovrebbero essere riportati a =
linux-mm@kvack.org
- La VM controlla in modo esplicito la presenza di sparse swapfiles, e =
abortisce se
ne vengono trovati.
- /proc/sys/vm/swappiness definisce il bilanciamento del kernel di =
pagecache rispetto a
mapped memory. Settarlo a 100 (percentuale) impone al kernek di =
trattare entrambi i=20
tipi di memoria allo stesso modo.
Settarlo a zero impone al kernel di preferire di reclamare 'plain =
pagecache'
piuttoso che memoria mapped-into-pagetables.
- La syscall bdflush() e' ora ufficialmente deprecata. La syscall
non fa nulla e stampa a severo warning agli utenti. La funzionalita' =
e' ora
sostituita dal demone pdflush.
- A causa dei molti cambiamenti, i file di swap dovrebbere essere veloci =
come
le partizioni di swap.
Kernel preemption.
~~~~~~~~~~~~~~~~~~
- La molto discussa preemption patch e' ora parte di 2.5.
Dovresti notare una latenza molto minore specialmente utilizzando=20
applicazioni multimediale.
- Nota, ci sono casi in cui preemption deve essere temporaneamente =
disabilitata.=20
Queste situazioni occorrono in luoghi in cui per-CPU data e' =
utilizzato.
- Se ottieni "xxx exited with preempt count=3Dn" in syslog,
non preoccupari, questi non sono disastrosi, ma qualche cosa e' =
'unclean'.
(Qualche cosa detiene un lock, ed e' uscito senza fare unlocking)
- Se noti alta latenza con un kernel preemtion enabled eseguendo uno=20
specifico path, per favore riportalo a Andrew Morton <akpm@digeo.com>
e a Robert Love <rml@tech9.net>.
Questo report dovrebbe essere qualcosa del tipo "the latency in my xyz =
application
hits xxx ms when I do foo but is normally yyy" dove foo e' una azione =
come=20
"unlink a huge directory tree".
Process scheduler improvements.=20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Un'altra feature molto discussa. Ingo Molnar ha rivisto il 'process
scheduler' al fine di usare un algoritmo O(1).=20
Nelle operazioni, non dovresti notare differenze con poco carico ed=20
una maggiore stabilita' con un alto numero di processi, in particolare =
sun grandi sistemi SMP.
- Robert Love ha scritto numerose utilitie per cambiare il comportamento =
dello scheduler (legare processi a CPU etc...). Puoi trovare questi =
tool
presso http://tech9.net/rml/schedutils
- Il comportamento di sched_yield() e' molto cambiato. Un task che usa =
questa
system call dovrebbe aspettarsi di 'dormire', se e' possibile, per un =
lungo periodo.
Task che non vogliono veramente rinunciare al processore per un =
periodo=20
non dovrebbero utilizzare pesantemente questa funzione.
Sfortunatamente, alcuni programmi che utilizzano GUI (come Open =
Office)
fanno un uso eccessivo di questa funzione e con un pesante carico
le loro prestazioni sono scadenti.
Sembra che il comportamento di 2.5 sia ottimale ma alcune
applicazioni userspace devono essere corrette.
- Quanto descritto si applica anche all'uso di yield() all'interno del=20
kernel.
- 2.5 aggiunge inoltre system calls per la maniploazione di
'task's processor affinity': sched_getaffinity() and =
sched_setaffinity()
- Regressioni a mingo@redhat.com e rml@tech9.net
- Utenti Debian che incontrano effetti come skip nella riproduzione di =
mp3,
movimenti del mouse a scatti possono provare a fermare il server X e
farne un renicea -10.
Puoi modificarlo in modo permanente con 'dpkg-reconfigure =
xserver-common';
se tu non decidi fi avere /etc/X11/Xwrapper.config gestito da debconf,
editalo a mano.
Fast userspace mutexes (Futexes).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Rusty Russell ha aggiunto funzionalita' che permettono a userspace
di avere 'fast mutex' che usano esclusivamente quando c'e' =
'contention'.
- Bert Hubert ha scritto della documentazione circa questa =
funzionalita',
la trovate presso: http://ds9a.nl/futex-manpages
epoll
~~~~~
Davide Libenzi ha scritto una sostituzione di 'edge triggered poll' che =
e'
stata inclusa in 2.5. Informazioni disponibili presso:
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 even for old-threading userspace libraries such as =
LinuxThreads.
- Regressions should go to Ingo Molnar <mingo@redhat.com> and =
phil-list@redhat.com.
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.=20
~~~~~~~~~~~~~~~~~~~~~
- 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.
- Threaded coredumps is now supported.
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 <vojtech@suse.cz>
- 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 <ambx1@neo.rr.com>
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/
- 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, it is unlikely that this will be noticable.
- Regressions to torvalds@transmeta.com and libc-alpha@redhat.com
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 =3D "video=3Dradeon:1024x768-24@100"
needs to become..
append =3D "video=3Dradeonfb:1024x768-24@100"
- Current userspace tools (fbset for eg) are not yet updated,
and won't function as expected.
- Any problems should go to <jsimmons@infradead.org>
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.=20
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 <axboe@suse.de> 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
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.
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 <axboe@suse.de>
- Currently only 'open by device name' works in cdrecord.
cdrecord -dev=3D/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.
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.
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=3Dvalue sets the umask applied to directories =
only.
The default is the umask of the current process.
The fmask=3Dvalue sets the umask applied to regular files only.
Again, the default is the umask of the current process.
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=3Djournal 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 nfs@lists.sourceforge.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.6.=
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.
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. 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 handle the O(1) scheduler reliably.
You can find the relevant microcode tools at =
http://www.urbanmyth.org/microcode/
- Any regressions in both should go to mochel@osdl.org Cc: davej@suse.de
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=3Doff" 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=3Dforce" 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 linux-kernel@vger.kernel.org
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.
=09
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=3Dy due to a stack
pointer handling bug.
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
- 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.
- 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://www.xenotime.net/linux/network-interface-names.txt>.
- 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=3Doff" or a =
combination
of both fixes this for most people. Additional breakage reports should =
go
to Jeff Garzik <jgarzik@pobox.com>
- Support for various new RFCs.
- RFC3173 (IP Payload Compression).
CryptoAPI.
~~~~~~~~~~
- 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 currently only used by IPSec, but will later
be extended to be used by other parts of the kernel. 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.
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-deadl=
ine-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. 68k(w/o MMU) and v850.
- Several in-tree ports are lagging behind their out-of-tree variants.
- The 64 bit s390x port got collapsed into a single port, appearing
as a config option in the base s390 arch.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - =
- - -
Revision history:
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=3Djournal breakage noted.
0.30 - Athlon powernow is now supported.
0.29 - Mention NIC renumbering and ACPI/APIC NIC bugs.=20
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/