Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Sergey Lentsov                       2:4615/71.10   03 May 2001  17:11:10
 To : All
 Subject : URL: http://lwn.net/2001/0503/kernel.php3
 -------------------------------------------------------------------------------- 
 
    [1][LWN Logo] 
    
                                [2]Click Here 
    [LWN.net]
    
    Sections:
     [3]Main page
     [4]Security
     Kernel
     [5]Distributions
     [6]On the Desktop
     [7]Development
     [8]Commerce
     [9]Linux in the news
     [10]Announcements
     [11]Linux History
     [12]Letters
    [13]All in one big page
    
    See also: [14]last week's Kernel page.
    
 Kernel development
 
    The current kernel release is 2.4.4, which was [15]released on
    April 28. This release contains, of course, the zero-copy networking
    code, and a number of other enhancements and bug fixes.
    
    It also evidently contains some new bugs - the complaint level for
    2.4.4 appears to be higher than with some of the other 2.4.x releases.
    The "run children first" change to the fork() system call (discussed
    in the [16]April 19 LWN Kernel Page) seems to have caused quite a few
    problems, and it has already been reverted in Linus's [17]2.4.5pre1
    prepatch. A number of other problems have been reported as well;
    people without a burning need to upgrade to 2.4.4 might just want to
    wait for 2.4.5.
    
    As noted, Linus has since released [18]2.4.5pre1 with some additional
    fixes. Alan Cox, meanwhile, is at [19]2.4.4ac3 with a rather longer
    set of fixes.
    
    Trashing your filesystem with dump. It has been known for a very long
    time that using dump to back up live filesystems can result in corrupt
    backups. It turns out that, with Linux kernels through 2.4.4, dumping
    a live filesystem has the potential to corrupt the filesystem in
    place, even if the dump process has no write access.
    
    Alexander Viro [20]reported the bug which makes this possible. It can
    happen only on SMP systems, and is not easy to trigger, but it is
    there. Essentially, if the filesystem allocates a new metadata block
    for the filesystem, and a separate process reads that block at the
    wrong time, the wrong data will be written back to disk. The fix is
    relatively straightforward, and has [21]already been incorporated into
    2.4.5pre1.
    
    Linus [22]pointed out an interesting little fact as part of this
    discussion: dump will not work correctly on 2.4-based systems in any
    case. The filesystem keeps quite a bit of useful information in the
    page cache - and will do so even more in the future. dump, however,
    works with the raw device, which deals with the buffer cache instead.
    The two are not always synchronized, and it is possible that dump will
    end up reading the wrong data. In case that's not clear enough:
    
      So anybody who depends on "dump" getting backups right is already
      playing russian rulette with their backups. It's not at all
      guaranteed to get the right results - you may end up having stale
      data in the buffer cache that ends up being "backed up".
      
    For now, there is really no easy way to fix dump for 2.4. If you're
    using it, this might be a good time to go looking for a different
    tool.
    
    A 2.4 swap bug - maybe. A discussion of Linux swapping behavior turned
    to an interesting aspect of how the system handles swapping. Swap
    space, of course, is used to hold copies of pages which have been
    moved out of memory. It turns out that when a page is restored to main
    memory from swap, its slot in the swap file is not released. Thus, in
    some situations, Linux can "run out" of swap space even though much of
    that swap space is taken up by data that is not currently swapped out.
    [23]According to Alan Cox, this behavior is forcing some large systems
    to remain with the 2.2 kernel.
    
    At first blush, the proper course of action seems simple: when a page
    is swapped back into memory, its swap slot should be freed. As is
    often the case, though, life is not that simple. Some of the twists
    that come up here (as pointed out by Stephen Tweedie) include:
      * The system tries to group memory areas together in the swap file.
        Freeing swap slots individually would destroy that grouping, thus
        fragmenting the swap area. That, in turn, can lead to slower
        swapping performance.
      * Suppose you swap a page in, then, due to memory pressure, have to
        swap it back out again. If the page has not been modified, the
        copy on disk is still valid, and the page can be freed
        immediately. If, instead, the slot has been freed, the page must
        be written again.
      * The Linux virtual memory system does not make it easy to find all
        of the page table entries that are pointing to a particular page.
        When a particular process swaps in a page, its page table will be
        updated accordingly. But if other processes have page tables
        pointing to the swapped page, they will continue to point to the
        disk copy. Until all of those references are changed, the disk
        copy can not go away.
        
    The proper solution, thus, would appear to be to retain the copy in
    the swap cache for as long as there is no real virtual memory
    pressure. Once things get tight, it's time to start throwing things
    away. In some cases, though, (such as the one where the swap copy of a
    page is valid), it may be better to toss out the memory copy of the
    page.
    
    Moral: virtual memory is never simple.
    
    SGI releases XFS 1.0. SGI has [24]announced the release of XFS 1.0.
    The 2.4 kernel now has another journaling filesystem in a stable
    release state; XFS also offers a number of features for users with
    intense I/O bandwidth requirements. It claims to work with NFS, and
    comes with an installer for Red Hat Linux 7.1 systems.
    
    Perhaps not wanting to be left out entirely, IBM has released [25]JFS
    beta 3 release 0.3.0.
    
    ECN enabled on kernel.org. The kernel.org FTP server has [26]enabled
    ECN (the Explicit Congestion Notification protocol). If you find
    you're now having a hard time downloading that new kernel, there's a
    chance you're behind a broken firewall which doesn't handle ECN
    properly. See [27]Jeff Garzik's ECN page for help if you find yourself
    in that situation.
    
    Other patches and updates released this week include:
    
      * A group of students at Northern Michigan University has
        [28]announced a set of benchmarks that were run on kernels from
        2.0.1 through 2.4.0. They give a view as to how performance in a
        number of areas has changed over time.
      * A new Linux security module patch has been [29]released by Greg
        Kroah-Hartman.
      * [30]A new FreeS/WAN KLIPS2 design, meant to work well with
        netfilter, has been announced by Richard Guy Briggs. He's looking
        for feedback. Those who are not easily offended might also enjoy
        the [31]Linux FreeS/WAN poster on his site.
      * Keith Owens has [32]released a few new versions of the kdb kernel
        debugger which work with recent kernel releases.
      * Jeff Mahoney [33]announced a large patch to ReiserFS which makes
        it work on big-endian systems.
      * Daniel Phillips has posted [34]a patch to make his directory
        indexes work in the page cache. As with many of his patches, this
        one includes a lengthy discussion of what changes have been made
        and why; it makes for interesting reading on how the VFS works.
        Daniel subsequently released [35]a pair of new patches, one of
        which works with Alexander Viro's "directories in the page cache"
        patch.
      * Jeff Dike has [36]released a new version of user-mode Linux which
        works with 2.4.4 and contains a number of fixes.
      * Eric Raymond's CML2 patch is up to [37]CML2 1.3.3.
      * Andreas Gruenbacher [38]released version 0.7.11 of the access
        control list patch, quickly followed by [39]version 0.7.12.
      * Matthew Wilcox has [40]posted a description of what he thinks
        should be done with file locking in the 2.5 development series.
        
    Section Editor: [41]Jonathan Corbet
    May 3, 2001
    
    For other kernel news, see:
      * [42]Kernelnotes
      * [43]Kernel traffic
      * [44]Kernel Newsflash
      * [45]Kernel Trap
    
    Other resources:
      * [46]Kernel Source Reference
      * [47]L-K mailing list FAQ
      * [48]Linux-MM
      * [49]Linux Scalability Project
      * [50]Kernel Newbies
    
    
    
                                                   [51]Next: Distributions
    
    [52]Eklektix, Inc. Linux powered! Copyright Л 2001 [53]Eklektix, Inc.,
    all rights reserved
    Linux (R) is a registered trademark of Linus Torvalds
 
 References
 
    1. http://lwn.net/
    2. http://ads.tucows.com/click.ng/pageid=001-012-132-000-000-003-000-000-012
    3. http://lwn.net/2001/0503/
    4. http://lwn.net/2001/0503/security.php3
    5. http://lwn.net/2001/0503/dists.php3
    6. http://lwn.net/2001/0503/desktop.php3
    7. http://lwn.net/2001/0503/devel.php3
    8. http://lwn.net/2001/0503/commerce.php3
    9. http://lwn.net/2001/0503/press.php3
   10. http://lwn.net/2001/0503/announce.php3
   11. http://lwn.net/2001/0503/history.php3
   12. http://lwn.net/2001/0503/letters.php3
   13. http://lwn.net/2001/0503/bigpage.php3
   14. http://lwn.net/2001/0426/kernel.php3
   15. http://lwn.net/2001/0503/a/2.4.4.php3
   16. http://lwn.net/2001/0419/kernel.php3
   17. http://lwn.net/2001/0503/a/2.4.5pre1.php3
   18. http://lwn.net/2001/0503/a/2.4.5pre1.php3
   19. http://lwn.net/2001/0503/a/2.4.4ac3.php3
   20. http://lwn.net/2001/0503/a/metadata-corruption.php3
   21. http://lwn.net/2001/0503/a/lt-metadata.php3
   22. http://lwn.net/2001/0503/a/lt-dump.php3
   23. http://lwn.net/2001/0503/a/ac-swap.php3
   24. http://lwn.net/2001/0503/a/xfs-1.0.php3
   25. http://lwn.net/2001/0503/a/jfs.php3
   26. http://lwn.net/2001/0503/a/kernel.org-ecn.php3
   27. http://gtf.org/garzik/ecn/
   28. http://lwn.net/2001/0503/a/benchmarks.php3
   29. http://lwn.net/2001/0503/a/lsm.php3
   30. http://lwn.net/2001/0503/a/freeswan.php3
   31.
 http://www.conscoop.ottawa.on.ca/rgb/freeswan/freeswan_pissed_penguin_url.jpg
   32. http://lwn.net/2001/0503/a/kdb.php3
   33. http://lwn.net/2001/0503/a/reiserfs-endian.php3
   34. http://lwn.net/2001/0503/a/directory-index.php3
   35. http://lwn.net/2001/0503/a/directory-index-patches.php3
   36. http://lwn.net/2001/0503/a/uml.php3
   37. http://lwn.net/2001/0503/a/cml2.php3
   38. http://lwn.net/2001/0503/a/acl.php3
   39. http://lwn.net/2001/0503/a/acl-0.7.12.php3
   40. http://lwn.net/2001/0503/a/2.5-locking.php3
   41. mailto:lwn@lwn.net
   42. http://www.kernelnotes.org/
   43. http://kt.zork.net/
   44. http://www.atnf.csiro.au/~rgooch/linux/docs/kernel-newsflash.html
   45. http://www.kerneltrap.com/
   46. http://lksr.org/
   47. http://www.tux.org/lkml/
   48. http://www.linux.eu.org/Linux-MM/
   49. http://www.citi.umich.edu/projects/linux-scalability/
   50. http://www.kernelnewbies.org/
   51. http://lwn.net/2001/0503/dists.php3
   52. http://www.eklektix.com/
   53. http://www.eklektix.com/
 
 --- ifmail v.2.14.os7-aks1
  * Origin: Unknown (2:4615/71.10@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 URL: http://lwn.net/2001/0503/kernel.php3   Sergey Lentsov   03 May 2001 17:11:10 
Архивное /ru.linux/20308b751cd55.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional