Kernel.org
Mirrors
There's a lot of stuff that has happened in the 2.5.x series lately, and
you can see the gory details in the ChangeLog files that accompany
releases these days, but I thought I'd point out 2.5.14, since it has some
interesting fundamental changes to how dirty state is maintained in the
VM.
(The big changes were actually in 2.5.12, but 2.5.13 contained various
minor fixes and tweaks, and 2.5.14 contains a number of fixes especially
wrt truncate, so hopefully it's fairly _stable_ as of 2.5.14.)
Credit goes to Andrew Morton, and not only does it clean up the code a
lot, it also seems to perform a lot better in many circumstances.
There's a lot of other stuff in the 2.5.x tree too, but few things are so
fundamental. Please test (but also, please be careful - backups are always
a good idea).
Linus
Summary of changes from v2.5.13 to v2.5.14
============================================
<jsimmonsheisenberg.transvirtual.com> (02/05/02 1.447.68.3)
Pmac updates
<jsimmonsarm.linux.org.uk> (02/05/03 1.513.2.1)
[PATCH] 2.5.13: vmalloc link failure
The following patch fixes this, and also fixes the similar problem in
scsi_debug.c:
<trond.myklebustmath.psu.edu> (02/05/03 1.513.2.3)
[PATCH] change_floppy() fix
Needed both in 2.4 and 2.5
<viroevision-ventures.com> (02/05/03 1.513.2.5)
[PATCH] 2.5.13 IDE 50
- Fix wrong usage of time_after in ide.c. This should cure the drive seek
timeout problems some people where expierencing. This was clarified to me by
Bartek, who apparently checked whatever the actual code is consistent with
the comments in front of it. Thank you Bartlomiej Zolnierkiewicz.
I think now that we should have time_past(xxx) in <linux/timer.h>.
- Fix hpt34x.c compilation.
- Minor improvements in ide-pci and some cleanups in ide-probe.c
- Nuke some vastly outdated comments.
<daleckisuse.de> (02/05/03 1.513.2.7)
[PATCH] remove PRD_SEGMENTS
PRD_SEGMENTS was a leftover from struct ata_request an its per-command
sg tables.
<zippellinux-m68k.org> (02/05/03 1.513.2.9)
[PATCH] replace mk_pte_phys() with pfn_pte()
Here is the patch to replace mk_pte_phys() with pfn_pte() and so creates
the counterpart to pte_pfn().
<maxkiguana.be> (02/05/04 1.516.1.1)
[PATCH] 2.5.13 - i8xx series chipsets patches
i810_rng: add support for other i8xx chipsets to the Random Number Generator module.
This is being done by adding the detection of the 82801E I/O Controller Hub.
<wimiguana.be> (02/05/04 1.516.1.3)
[PATCH] 2.5.13 - watchdog patches
Merge updates from the 2.4 kernel into watchdog.h .
<wimbga.com> (02/05/04 1.522)
[PATCH] severe ext3 filesystem corruption warning!
Fix silly truncate status update
<trond.myklebustfys.uio.no> (02/05/04 1.524)
[PATCH] Fix RPC over TCP 'connect' code
xprt.c:
Fix the RPC over TCP socket reconnect code.
Cheers,
Trond
<trond.myklebustcwi.nl> (02/05/04 1.526)
[PATCH] kd.h
Andrej Lajovic observes that in kd.h the definitions of K_NUMLOCK and
K_CAPSLOCK are interchanged. He is right (and this is the case since
1.1.54; nobody noticed because setleds.c does not use these defines).
So, here is the fix. No kernel behaviour is changed.
<tomitacantab.net> (02/05/04 1.516.2.1)
NTFS: Release 2.0.6 - Major bugfix to make compatible with other kernel changes.
- Initialize the mftbmp address space properly now that there are more
fields in the struct address_space. This was leading to hangs and
oopses on umount since 2.5.12 because of changes to other parts of
the kernel. We probably want a kernel generic init_address_space()
function...
- Drop BKL from ntfs_readdir() after consultation with Al Viro. The
only caller of ->readdir() is vfs_readdir() which holds i_sem during
the call, and i_sem is sufficient protection against changes in the
directory inode (including ->i_size).
- Use generic_file_llseek() for directories (as opposed to
default_llseek()) as this downs i_sem instead of the BKL which is
what we now need for exclusion against ->f_pos changes considering we
no longer take the BKL in ntfs_readdir().
<aia21evision-ventures.com> (02/05/05 1.530)
[PATCH] 2.5.13 IDE 52
Adapted from patch Bar³omiej ¯o³nierkiewicz:
- make straight8 a flag in ata_channel instead of byte
- don't store tables as code in drive_is_flashcard()
and ide_xfer_verbose()
- fix init_gendisk() (due to 2.5.13 blksize_size[] change)
- compress region requesting/releasing
in channel_probe() and ide_unregister()
- clean a bit ide_setup_ports()
Start of DMA handling tratment.
- Fix the parameters to ide_build_dmatable() to be channel and request.
Rename it to udma_new_table(). udma will mark arch specific functions
later.
- Let ide_start_dma() take the request directly as an arguemnt. Rename it to
ata_start_dma(). After realizing that the usage of the func argument of it
was bogous and that nobody is using rwproc we where able to remove both of
them.
- Fix ide_destroy_dmatable() to take the channel as argument and rename it to
udma_destroy_table(). This function should have possible architecture
specific implementation as well at some point in time.
- Split up the TCQ UDMA handling stuff in to proper functions. Jens must has
been dreaming as he introduced them ;-).
<daleckievision-ventures.com> (02/05/05 1.532)
[PATCH] [PATCH 2.5.13 IDE 54
- Finish the changes from patch 53. ide_dma_actaion_t is gone now as well as
whole hidden code paths associated with it. I hope I didn't mess too many
things up with this, since the sheer size of the changes make them sensitive.
(Tested on tree different host chip sets so it shouldn't be too bad...)
Just still some minor cleanup remaining to be done in this area. The tags
lefts there are intentional.
In esp. the ide_dma_on method in cy82c693 looks suspicious.
Using udma_enable in ide-cd.c, ide-floppy.c and ide-tape.c is suspicious as
well. We have just uncovered it.
In the next round we will concentrate on the fixes people did send me
last time.
<akpmzip.com.au> (02/05/05 1.534)
[PATCH] radix-tree locking fix
__delete_from_swap_cache modifies the radix tree. We need to take the
lock for writing.
<akpmzip.com.au> (02/05/05 1.536)
[PATCH] decouple swapper_space treatment from other address_spaces
swapper_space is different. Its pages are locked during writeout, it
uses PAGE_SIZE rather than PAGE_CACHE_SIZE. Converting swap to look
more like the other address_spaces is a separate project. This patch
fully restores the old swap behaviour.
- Don't dirty swapcache page buffers in set_page_dirty().
Fixes a problem where __free_pte() runs set_page_dirty() and then
immediately runs ClearPageDirty(). The pages ends up clean, with
dirty buffers, and is unfreeable.
- Hence, don't mark the page clean if its buffers are clean - swap
does not have page/buffers dirty state coherency.
<akpmzip.com.au> (02/05/05 1.538)
[PATCH] Fix SMP race in truncate
Closes a small race window: testing PageWriteback() outside the page
lock introduces the possibility that page could be redirtied and have
writeback started after we've inspected PageWriteback.
<akpmzip.com.au> (02/05/05 1.540)
[PATCH] Fix PG_launder
Set PG_launder against pages which are under VM writeback. So page
allocators will throttle against them.
<akpmzip.com.au> (02/05/05 1.542)
[PATCH] Documentation update
<viroinfradead.org> (02/05/05 1.544)
[PATCH] remove global_bufferlist_lock
This patch addresses Andrew's FIXME in buffer.c and adds a spinlock that
can be passed to the buffer list manipulation functions to the reiserfs
journal. This obsoletes the cheks for lock beeing NULL in buffer.c and
the global_bufferlist_lock.
In addition osync_inode_list is changed to use list_for_each_prev as in 2.4
instead of a hand-crafted loop.
A little comment to the reiserfs folks: your code would be _sooo_ much
easier to understand if you used temporary local variables for often
referenced fields..
<hchinfradead.org> (02/05/05 1.546)
[PATCH] architecture-independand si_meminfo
Si_meminfo() is basically the same for all architectures (mips is a little
different by providing a value for the shared field that is different from
the originial intent, I will come back to this later), so it makes to have just
one instance of it:
<torvaldshome.transmeta.com> (02/05/05 1.548)
Update kernel version
Web Webster
Web Webster has more than 20 years of writing and editorial experience in the tech sector. He’s written and edited news, demand generation, user-focused, and thought leadership content for business software solutions, consumer tech, and Linux Today, he edits and writes for a portfolio of tech industry news and analysis websites including webopedia.com, and DatabaseJournal.com.