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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Sergey Lentsov                       2:4615/71.10   27 Sep 2001  17:28:38
 To : All
 Subject : URL: http://www.lwn.net/2001/0927/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.10, which was [15]released by Linus
    on September 23. 2.4.10 is a huge (11MB) patch with some far-reaching
    changes: jffs2 and NTFS updates, a large ACPI update, the latest
    version of min()/max(), lots of block device changes (including one
    that makes block device I/O use the page cache), a new [16]multipath
    RAID personality, various architecture updates, and a great deal of
    merging from Alan Cox's "ac" series. And a virtual memory update from
    Andrea Arcangeli - we'll get to that shortly. The initial user reports
    on 2.4.10 are almost uniformly positive.
    
    Alan Cox's latest is [17]2.4.9-ac15, which includes many more fixes,
    and some virtual memory patches from Rik van Riel.
    
    Note that the finger server at finger.kernel.org now lists the latest
    "ac" patch along with the Linus releases.
    
    2.0 lives. The 2.0 kernel may be ancient history to many, but David
    Weinehall is still carrying the torch: he has recently released
    [18]2.0.40-pre1, the first prepatch for a 2.0.40 stable release. The
    patch includes a small number of fixes and a number of code cleanups.
    
    Virtual memory: the plot thickens. Readers of this page know that the
    Linux kernel hackers have been working to improve virtual memory
    performance for a long time. Since somewhere in the 2.1 series,
    according to some of the more cynical observers. VM performance has
    been, perhaps, the largest remaining issue with the 2.4 kernel. Almost
    everything works very well, but memory exhaustion and massive swapping
    have been the bane of many 2.4 users.
    
    Quite a bit of incremental work has gone into fixing up 2.4 VM. Andrea
    Arcangeli, however, came to the conclusion that the incremental
    approach wasn't going to work; instead, he posted
    [19]2.4.10-pre10-aa1, which included a major rewrite of the VM code.
    This rewrite throws out much of the previous VM algorithm, including
    things like page aging, and replaces it with something simpler. The
    2.4.10 kernel has a completely different virtual memory subsystem than
    its predecessors.
    
    Even for people who are getting used to seeing large changes slip into
    the "stable" kernel series, this patch came as a bit of a surprise.
    Initial reactions were not positive:
    
      But suddenly, the number of people who understand the Linux VM has
      gone from maybe 10 down to just one-and-a-bit. A large number of
      comments have been removed, and a year's worth of discussion has
      been invalidated.
      -- [20]Andrew Morton
      
      I've never seen as invasive a patch merged that ran the risk of
      completely torpedoing stability merged into a STABLE KERNEL SERIES,
      nor would I ever consider submitting such a patch.
      -- [21]Ben LaHaise
      
      I have nothing against the code itself (the "old" code also had
      bugs), but a major VM rewrite at this point seems to be dangerous
      if we want a stable VM.
      -- [22]Marcelo Tosatti
      
      Linus 2.4.10pre is definitely 2.5 in disguise.
      -- [23]Alan Cox
      
      Look, the problem is that Linus is being an asshole and integrating
      conflicting ideas into both the VM and the VFS, without giving
      anybody prior notice and later blame others.
      -- [24]Rik van Riel
      
    There is, however, one group whose complaints are notably absent:
    2.4.10 users. With [25]an occasional exception, people who have
    actually installed 2.4.10 seem to be running it happily. A lot of the
    swap-related problems from earlier 2.4.x kernels appear to have been
    solved. Wider use of 2.4.10 will doubtless turn up other problems -
    you can't make such large changes to such a complex and crucial
    subsystem without them - but the final judgement may well be that this
    was a good change.
    
    Not everybody has bought into it yet, however. The "ac" kernel series
    has stayed away from the mainline VM for a while now, and, as of
    2.4.9ac15, Alan was still accepting [26]changes to that code. In other
    words, the Linus and Alan kernels have diverged in a much more
    fundamental way than ever before. For the short term, the two kernel
    trees can function as a laboratory to see which VM approach works
    better - though one does not normally use stable kernels in this mode.
    In the longer term, however, one can only hope that some sort of VM
    consensus is reached.
    
    Should proprietary security modules be allowed? The Linux Security
    Module project has been working since last April to create a flexible
    framework that would allow the plugging of arbitrary enhanced security
    mechanisms into the kernel. To that end, the LSM hackers have created
    a lengthy series of hooks which will allow a security module to make
    decisions on just about any operation that a process can perform.
    Those who are interested in what the security module interface looks
    like can get a view from the well-documented [27]security.h include
    file provided with the LSM patch.
    
    The LSM patch is approaching readiness for inclusion into the (2.5)
    kernel. This proximity caused Greg Kroah-Hartman, perhaps rather
    belatedly, to [28]submit a patch limiting the use of the security.h
    file to modules licensed as free software. The effect of this change
    is to say that all security modules must be free software; no
    proprietary modules need apply.
    
    The longstanding policy for Linux kernel modules, of course, has been
    that closed-source modules are allowed, as long as they follow the
    (not well defined) module interface. Restricting security modules may
    seem, at first blush, to be a deviation from this policy. Proprietary
    driver modules may be loaded, why not proprietary security modules?
    Numerous objections to the restriction have been posted, mostly
    arguing along these lines. There has also been [29]an argument that
    the restriction is, itself, a violation of the GPL.
    
    The security module patch, however, is a major change to the module
    interface. With this new interface, a module can easily hook code into
    many parts of the kernel; very few operations are left untouched.
    Thus, security modules can change the functionality of the kernel in
    ways that, under the current module interface, are not possible. Using
    this interface, a proprietary module could add much interesting new
    code, which may have nothing to do with security, to the kernel.
    
    Greg has, for now, removed the restriction as a result of the
    controversy. In the end, Linus will probably have to make the
    decision. Given that closed-source security modules will be able to do
    many things that are currently forbidden to proprietary code, however,
    there is a good chance that the security module patch will not be
    accepted without a licensing restriction.
    
    (The latest security module patch is [30]the September 23 version).
    
    A proposal for module initialization changes. Rusty Russell has posted
    [31]a proposal for changes to the module loading and initialization
    code in 2.5. These changes have a couple of goals: (1) decreasing even
    further the differences between linked-in and modular code, and
    (2) addressing the remaining race conditions associated with loadable
    modules. The changes also simplify the module loading code, allow the
    automatic exporting of module parameters to /proc, and provide a "warm
    fuzzy bleeding edge feel."
    
    If this scheme is adopted, the changes for modular code will be
    significant, but relatively straightforward. Module initialization,
    for example, will be split into two phases. The first sets everything
    up, but does not make the module visible to the rest of the kernel. It
    can fail, causing the entire module load to fail, without somebody
    else trying to access it halfway through. The second phase then makes
    the module visible, and is required to succeed. Unloading works in a
    similar way; the first phase makes the module invisible to new users
    in the kernel, while the second actually shuts the module down when no
    more users exist.
    
    As of this writing, there have been no comments on the proposal;
    people must either like it, or they don't think 2.5 will ever happen.
    
    Other patches and updates released this week (and the week before -
    we're catching up) include:
    
      * Ingo Molnar has [32]announced the first public release of
        netconsole, a patch which allows the kernel to send logging
        messages over the net in UDP packets.
      * [33]Intermezzo 1.0.5.2 was released by Peter Braam. "We now
        believe we have fixed most problems in InterMezzo related to Linux
        2.4."
      * Andrew Morton has posted [34]an ext3 filesystem patch for 2.4.10.
        Christoph Lameter, meanwhile, has posted [35]a version of ext3
        that works with the preemptible kernel. And, for what it's worth,
        Linus has [36]indicated that ext3 will be merged into 2.4.x before
        too long.
      * Steve Best released [37]JFS 1.0.5.
      * Matt Domsch has [38]announced the availability of the linux-kernel
        and linux-scsi mailing lists in digest form.
      * Version 0.9.5pre2 of the Linux Trace Toolkit was [39]released by
        Karim Yaghmour.
      * The kernel.org server (and related sites, like linuxbase.org,
        lanana.org, and others) have [40]moved to a new location at the
        Internet Software Consortium.
      * A new [41]preemptible kernel patch has been released by Robert
        Love. Among other things, the patch is now said to work (without
        being "experimental") on SMP systems. Robert has also
        [42]announced the availability of a "Preemption Latency
        Measurement Tool" which may be used to find the remaining
        bottlenecks in the preemptible kernel.
      * Carlos E Gorges has [43]released version 0.4.1 of his Hardware
        Detection Tool.
      * A [44]new hotplug scripts release is available.
      * Jeff Garzik has [45]announced the release of ethtool 1.3.
      * Keith Owens has released [46]ksymoops 2.4.4, [47]kdb v1.9, and
        [48]modutils 2.4.9.
      * Also from Keith is [49]a patch for the 2.4.9-ac15 implementing the
        "tainted kernel" flag (see the [50]September 6 kernel page). Alan
        Cox, meanwhile, felt the need to release [51]a version of the
        MODULE_LICENSE macro which may be used by proprietary code.
      * Also also from Keith, who has evidently been busy, is [52]version
        1.3 of the 2.5 kernel build code.
      * Jens Axboe has released [53]a new version of his patch enabling
        I/O from high memory without bounce buffers.
      * A [54]new hotplug PCI patch was released by Greg Kroah-Hartman.
      * Jeff Dike has released [55]User-mode Linux 0.47-2.4.10, a port to
        the 2.4.10 kernel with a number of fixes and new features.
      * Robert Love has [56]announced a new version of his patch allowing
        network devices to contribute to the random entropy pool.
      * [57]nfs-utils 0.3.3 was released by H.J. Lu.
      * A new [58]netfilter-announce mailing list has been created for
        those who are interested in releases from the netfilter team, but
        who can't keep up with the full mailing lists.
        
    Section Editor: [59]Jonathan Corbet
    September 27, 2001
    
    For other kernel news, see:
      * [60]Kernel traffic
      * [61]Kernel Newsflash
      * [62]Kernel Trap
    
    Other resources:
      * [63]Kernel Source Reference
      * [64]L-K mailing list FAQ
      * [65]Linux-MM
      * [66]Linux Scalability Effort
      * [67]Kernel Newbies
      * [68]Linux Device Drivers
    
    
    
                                                   [69]Next: Distributions
    
    [70]Eklektix, Inc. Linux powered! Copyright Л 2001 [71]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/0927/
    4. http://lwn.net/2001/0927/security.php3
    5. http://lwn.net/2001/0927/dists.php3
    6. http://lwn.net/2001/0927/desktop.php3
    7. http://lwn.net/2001/0927/devel.php3
    8. http://lwn.net/2001/0927/commerce.php3
    9. http://lwn.net/2001/0927/press.php3
   10. http://lwn.net/2001/0927/announce.php3
   11. http://lwn.net/2001/0927/history.php3
   12. http://lwn.net/2001/0927/letters.php3
   13. http://lwn.net/2001/0927/bigpage.php3
   14. http://lwn.net/2001/0920/kernel.php3
   15. http://lwn.net/2001/0927/a/2.4.10.php3
   16. http://lwn.net/2001/0927/a/multipath.php3
   17. http://lwn.net/2001/0927/a/2.4.9-ac15.php3
   18. http://lwn.net/2001/0927/a/2.0.40-pre1.php3
   19. http://lwn.net/2001/0927/a/2.4.10-pre10-aa1.php3
   20. http://lwn.net/2001/0927/a/am-vm.php3
   21. http://lwn.net/2001/0927/a/bcrl-vm.php3
   22. http://lwn.net/2001/0927/a/mt-vm.php3
   23. http://lwn.net/2001/0927/a/ac-vm.php3
   24. http://lwn.net/2001/0927/a/rvr-vm.php3
   25. http://lwn.net/2001/0927/a/vm-gripe.php3
   26. http://lwn.net/2001/0927/a/aging-fix.php3
   27. http://lwn.net/2001/0927/a/security.h.php3
   28. http://lwn.net/2001/0927/a/sm-gpl.php3
   29. http://lwn.net/2001/0927/a/cc-lsm.php3
   30. http://lwn.net/2001/0927/a/lsm.php3
   31. http://lwn.net/2001/0927/a/module-changes.php3
   32. http://lwn.net/2001/0927/a/netconsole.php3
   33. http://lwn.net/2001/0927/a/intermezzo.php3
   34. http://lwn.net/2001/0927/a/ext3.php3
   35. http://lwn.net/2001/0927/a/ext3-preempt.php3
   36. http://lwn.net/2001/0927/a/lt-ext3.php3
   37. http://lwn.net/2001/0927/a/jfs.php3
   38. http://lwn.net/2001/0927/a/digests.php3
   39. http://lwn.net/2001/0927/a/ltt.php3
   40. http://lwn.net/2001/0927/a/kernel.org.php3
   41. http://lwn.net/2001/0927/a/preempt.php3
   42. http://lwn.net/2001/0927/a/plmt.php3
   43. http://lwn.net/2001/0927/a/hdt.php3
   44. http://lwn.net/2001/0927/a/hotplug-scripts.php3
   45. http://lwn.net/2001/0927/a/ethtool.php3
   46. http://lwn.net/2001/0927/a/ksymoops.php3
   47. http://lwn.net/2001/0927/a/kdb.php3
   48. http://lwn.net/2001/0927/a/modutils.php3
   49. http://lwn.net/2001/0927/a/taint.php3
   50. http://lwn.net/2001/0906/kernel.php3
   51. http://lwn.net/2001/0927/a/license.php3
   52. http://lwn.net/2001/0927/a/kbuild.php3
   53. http://lwn.net/2001/0927/a/highmem-bounce.php3
   54. http://lwn.net/2001/0927/a/hotplug-pci.php3
   55. http://lwn.net/2001/0927/a/uml.php3
   56. http://lwn.net/2001/0927/a/netdev-random.php3
   57. http://lwn.net/2001/0927/a/nfs-utils.php3
   58. http://lwn.net/2001/0927/a/netfilter-announce.php3
   59. mailto:lwn@lwn.net
   60. http://kt.zork.net/
   61. http://www.atnf.csiro.au/~rgooch/linux/docs/kernel-newsflash.html
   62. http://www.kerneltrap.com/
   63. http://lksr.org/
   64. http://www.tux.org/lkml/
   65. http://www.linux.eu.org/Linux-MM/
   66. http://lse.sourceforge.net/
   67. http://www.kernelnewbies.org/
   68. http://www.xml.com/ldd/chapter/book/index.html
   69. http://lwn.net/2001/0927/dists.php3
   70. http://www.eklektix.com/
   71. http://www.eklektix.com/
 
 --- ifmail v.2.14.os7-aks1
  * Origin: Unknown (2:4615/71.10@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 URL: http://www.lwn.net/2001/0927/kernel.php3   Sergey Lentsov   27 Sep 2001 17:28:38 
Архивное /ru.linux/198615dd515e1.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional