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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Sergey Lentsov                       2:4615/71.10   20 Dec 2001  17:11:05
 To : All
 Subject : URL: http://www.lwn.net/2001/1220/kernel.php3
 -------------------------------------------------------------------------------- 
 
    [1][LWN Logo] 
    
                                [2]Click Here 
    [LWN.net]
    
    Sections:
     [3]Main page
     [4]Security
     Kernel
     [5]Distributions
     [6]Development
     [7]Commerce
     [8]Linux in the news
     [9]Announcements
     [10]Linux History
     [11]Letters
    [12]All in one big page
    
    See also: [13]last week's Kernel page.
    
 Kernel development
 
    The current development kernel release is 2.5.1, which was
    [14]released on December 16. Linus has designated it as an
    intermediate release, so that the patches can be smaller again. The
    block I/O work is ongoing, however, and Linus isn't much interested in
    putting in anything else at this point.
    
    The current stable kernel release is 2.4.16. Marcelo released [15]the
    second 2.4.17 release candidate on December 18. If all goes well, this
    prepatch could turn into the real 2.4.17 release. It would not be
    surprising if another iteration were required, however.
    
    On porting 2.4 bug fixes to 2.5. As work continues on the
    stabilization of the 2.4 kernel, a great many bug fixes are being
    generated which are also applicable to 2.5. It turns out, however,
    that Linus is not interested in those bug fixes at this time. His
    focus is getting core changes (such as the block I/O work) into the
    tree; the 2.4 bug fixes are seen as a detail which can be filled in
    later.
    
    Linus's desire to get the big changes in place is understandable, but
    there are a couple of problems with this approach. One is that some
    people who want to run 2.5 kernels need some of the bug fixes; but the
    real threat is that, by the time Linus gets around to looking at the
    fixes, it will prove hard to get them all in. They will be numerous,
    some will be hard to merge (as a result of all the big changes), and
    others may simply fall through the cracks.
    
    Dave Jones, while muttering "I'll regret this later," has [16]decided
    to help out. To that end, he is putting together a set of kernel
    patches of his own. They are built to apply against current
    development prepatches, but include the interesting bug fixes from the
    2.4 series. These "dj" patches will serve as an accumulator for simple
    2.5 bug fixes; when Linus is ready to apply these fixes, they will
    already be in a nicely organized form and should go in easily.
    
    The current patch is [17]2.5.1-dj3. Future LWN kernel pages will
    include the latest "dj" patch with the others at the top.
    
    Tracking 2.5 API changes. In hopes of having some documentation
    around, Andreas Bombe has posted [18]a list of 2.5 API changes so far.
    It's in a highly terse form, but it gives an idea of where to look. It
    turns out that Randy Dunlap is also [19]maintaining a list of 2.5
    changes on the web.
    
    What does it mean to signal everybody? Andries Brouwer recently
    asserted that, according to the latest version of the POSIX standard,
    Linux does not handle signaling quite as it should. If the kill()
    system call is given -1 as the process ID, it's supposed to signal
    every process that the calling process has the right to touch.
    According to Andries, that includes the calling process itself. So he
    [20]sent in a patch to implement that behavior, and [21]Linus applied
    it to see what would happen.
    
    What happened is that a number of people complained. A number of
    commands, including killall5 and some versions of shutdown, are
    unprepared for the fact that they might signal themselves. Users
    accustomed to doing "kill -9 -1" commands were surprised to see their
    shells die. In the end, Linus [22]backed off the change:
    
      Note that I've reverted the kill(-1...) thing in my personal tree:
      so far I've gotten a lot of negative feedback, and the change
      doesn't seem to actually buy us anything except for conformance to
      a unclearly weasel-worded standards sentence where we could be even
      more weasely and just say that "self" is a special process from the
      systems perspective.
      
    The interpretation of standards can be a fun game.
    
    The scheduler conversation continues. At one point, a question was
    directed to Linus asking why he wasn't seemingly worried about new
    schedulers for 2.5. The answer, it seems, is that [23]he's not
    concerned.
    
      Fight it out. People asked whether I was interested, and I said
      "no". Take a clue: do benchmarks on all the competing patches, and
      try to create the best one, and present it to me as a done deal.
      
    He seems to think that it's an easy problem, and he would rather not
    have to deal with the details.
    
    Linus also [24]let slip that, rather than worry too much about
    scheduler overhead, he might increase the clock interrupt rate to 1khz
    on the x86 architecture. A faster clock will increase scheduling time
    (because the scheduler is called more often), but can also improve
    interactive feel. This comment suggests that Linus is not thinking
    about putting in the "tickless clock" patch anytime soon.
    
    On the proper way to do memory pools. [25]Last week's LWN Kernel Page
    talked about the new "memory pool" subsystem that had been merged into
    2.5.1. Since then, a bit of a debate has come up over whether mempools
    are really the right solution to the problem.
    
    The problem in question, of course, is that of ensuring that kernel
    subsystems that have to be able to allocate memory can always do so.
    Ingo Molnar's mempool implementation solves this problem by setting
    aside a pool of memory which is large enough to meet the maximum
    expected requirement. Mempools sit on top of the existing kernel
    memory allocators, and use those allocators to create, at the outset,
    a pool of the necessary size.
    
    An alternative approach was [26]posted by Ben LaHaise back in May.
    Ben's approach implements memory "reservations" in the memory
    allocators themselves, rather than adding a new layer. There is a real
    advantage to doing things this way: memory which is kept in the
    reservation can be put to other uses until it's needed. As long as the
    reserved pages can be freed instantly, there is no harm in allowing
    them to be used. Memory contained in mempools, instead, can not be
    used for any other purpose.
    
    The reservation scheme has some disadvantages of its own. Putting
    reservation logic into the low-level memory allocators increases the
    complexity of a critical piece of code. It also makes it hard to set
    up pools of large (more than one page) objects - which is where the
    allocation problems tend to be the most severe. But the truly fatal
    flaw for reservations may be the simple fact that the patch was not
    ready at the right time; Ben [27]admits that the first cut at the
    patch was not ready for prime time. But, he says, with most patches
    currently being ignored he is not all that motivated to go make a
    better one.
    
    Other patches and updates released this week include:
    
      * Ingo Molnar has [28]updated the RAID code to work with the 2.5.1
        block layer. He's since updated the patch; look in [29]his RAID
        patches directory for the latest version.
      * [30]Version 0.2.4 of the Enterprise Volume Management System was
        released by Kevin Corry.
      * Elliot Lee has [31]released pyven 1.0.2 - a module which allows
        the creation of user-space filesystems in Python.
      * [32]Kernel Traffic #146 is out.
      * KernelTrap has [33]an article on the "fsx" filesystem debugging
        tool that's worth a look (thanks to Daniel E. Lautenschleger).
      * Kimio Suganuma has [34]released a hotplug CPU patch for 2.5.0.
      * A new multiprocessor control interface has been [35]posted by
        Jason Baietto.
      * Jean Tourrilhes has put together [36]a new API for wireless
        network interface drivers which cleans up a lot of things.
      * A new [37]read-copy-update patch has been posted by Rusty Russell.
      * [38]Affix 0.9pre6 (a BlueTooth stack for Linux) has been announced
        by Dmitri Kassatkine.
      * Davide Libenzi has [39]a new multi-queue scheduler available.
      * Richard Gooch has released [40]devfs-v199.5 (for the 2.2 kernel)
        and [41]devfs-v204 (for 2.4).
      * [42]Version 1.11 of the 2.5 kernel build code was released by
        Keith Owens.
      * Eric Raymond released [43]CML2 1.9.10.
      * A version of the e2compr (ext2 filesystem compression) patch for
        2.4.16 was [44]posted by Denis Richard.
        
    Section Editor: [45]Jonathan Corbet
    December 20, 2001
    
    For other kernel news, see:
      * [46]Kernel traffic
      * [47]Kernel Newsflash
      * [48]Kernel Trap
      * [49]Linux 2.5.x Porting help
    
    Other resources:
      * [50]Kernel Source Reference
      * [51]L-K mailing list FAQ
      * [52]Linux-MM
      * [53]Linux Scalability Effort
      * [54]Kernel Newbies
      * [55]Linux Device Drivers
    
    
    
                                                   [56]Next: Distributions
    
    [57]Eklektix, Inc. Linux powered! Copyright Л 2001 [58]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/1220/
    4. http://lwn.net/2001/1220/security.php3
    5. http://lwn.net/2001/1220/dists.php3
    6. http://lwn.net/2001/1220/devel.php3
    7. http://lwn.net/2001/1220/commerce.php3
    8. http://lwn.net/2001/1220/press.php3
    9. http://lwn.net/2001/1220/announce.php3
   10. http://lwn.net/2001/1220/history.php3
   11. http://lwn.net/2001/1220/letters.php3
   12. http://lwn.net/2001/1220/bigpage.php3
   13. http://lwn.net/2001/1213/kernel.php3
   14. http://lwn.net/2001/1220/a/2.5.1.php3
   15. http://lwn.net/2001/1220/a/2.4.17-rc2.php3
   16. http://lwn.net/2001/1220/a/ill-regret-this.php3
   17. http://lwn.net/2001/1220/a/2.5.1-dj3.php3
   18. http://lwn.net/2001/1220/a/api-changes.php3
   19. http://www.osdl.org/archive/rddunlap/linux-port-25x.html
   20. http://lwn.net/2001/1220/a/ab-kill.php3
   21. http://lwn.net/2001/1220/a/lt-kill.php3
   22. http://lwn.net/2001/1220/a/lt-revert.php3
   23. http://lwn.net/2001/1220/a/lt-scheduler.php3
   24. http://lwn.net/2001/1220/a/lt-1khz.php3
   25. http://lwn.net/2001/1213/kernel.php3
   26. http://lwn.net/2001/0531/a/bcrl-reservation.php3
   27. http://lwn.net/2001/1220/a/reservations.php3
   28. http://lwn.net/2001/1220/a/raid.php3
   29. http://people.redhat.com/mingo/raid-patches/
   30. http://lwn.net/2001/1220/a/evms.php3
   31. http://lwn.net/2001/1220/a/pyven.php3
   32. http://kt.zork.net/kernel-traffic/kt20011217_146.html
   33. http://kerneltrap.org/article.php?sid=415
   34. http://lwn.net/2001/1220/a/hotplug-cpu.php3
   35. http://lwn.net/2001/1220/a/mpc.php3
   36. http://lwn.net/2001/1220/a/wireless-api.php3
   37. http://lwn.net/2001/1220/a/rcu.php3
   38. http://lwn.net/2001/1220/a/affix.php3
   39. http://lwn.net/2001/1220/a/mqs.php3
   40. http://lwn.net/2001/1220/a/devfs-199.5.php3
   41. http://lwn.net/2001/1220/a/devfs-v204.php3
   42. http://lwn.net/2001/1220/a/kbuild.php3
   43. http://lwn.net/2001/1220/a/cml.php3
   44. http://lwn.net/2001/1220/a/e2compr.php3
   45. mailto:lwn@lwn.net
   46. http://kt.zork.net/
   47. http://www.atnf.csiro.au/~rgooch/linux/docs/kernel-newsflash.html
   48. http://www.kerneltrap.com/
   49. http://www.osdl.org/archive/rddunlap/linux-port-25x.html
   50. http://lksr.org/
   51. http://www.tux.org/lkml/
   52. http://www.linux.eu.org/Linux-MM/
   53. http://lse.sourceforge.net/
   54. http://www.kernelnewbies.org/
   55. http://www.xml.com/ldd/chapter/book/index.html
   56. http://lwn.net/2001/1220/dists.php3
   57. http://www.eklektix.com/
   58. http://www.eklektix.com/
 
 --- ifmail v.2.14.os7-aks1
  * Origin: Unknown (2:4615/71.10@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 URL: http://www.lwn.net/2001/1220/kernel.php3   Sergey Lentsov   20 Dec 2001 17:11:05 
Архивное /ru.linux/19861880d56e3.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional