|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Sergey Lentsov 2:4615/71.10 03 Mar 2002 15:38:04 To : All Subject : URL: http://www.lwn.net/2002/0228/kernel.php3 -------------------------------------------------------------------------------- [1][LWN Logo] [No ads right now] [LWN.net] Sections: [2]Main page [3]Security Kernel [4]Distributions [5]Development [6]Commerce [7]Linux in the news [8]Announcements [9]Letters [10]All in one big page See also: [11]last week's Kernel page. Kernel development The current development kernel release is 2.5.5. Linus has released [12]the first 2.5.6 prepatch which contains a number of driver updates, the usual VFS work from Al Viro, an ALSA update, and a new scheme for process migration (see below). The latest prepatch from Dave Jones is [13]2.5.5-dj2; it is caught up with 2.5.6-pre1 and 2.4.19-pre1, and adds a number of other small fixes. The [14]February 27 version of Guillaume Boissiere's 2.5 Status document is available. The current stable kernel release is 2.4.18, which was [15]released on February 25. It was intended to be identical to the 2.4.18-rc4 release candidate; unfortunately, a slip of the fingers caused the one -rc4 patch to be dropped from the final release. The result is that static applications on a few architectures will not work properly. There was a great deal of discussion on what should be done, but the consensus seems to be that the problem is not that severe. Thus there will not be a replacement 2.4.18 patch, or an expedited 2.4.19. The 2.4.19 process has begun with [16]2.4.19-pre1, which adds a rather larger set of fixes, but no real new features. Alan Cox has a couple of prepatches out there. [17]2.4.18-ac2 adds a small number of fixes to the 2.4.18 kernel. [18]2.4.19-pre1-ac2 brings in more stuff, including the USB 2.0 implementation and a number of hotplug support patches. On the 2.2 front, Alan has released [19]2.2.21-pre3 which adds another long set of fixes. Pressure to add new features to 2.4 is growing. Thus far, Marcelo has held a firm line with his 2.4 kernels: almost everything that goes in is a fix for some problem or other. As time goes by, however, there is an increasing number of requests for the merging new features and more intrusive changes. Recently there have been requests for new filesystems (XFS, JFS), [20]USB 2.0, the reverse mapping VM (Rik is not ready to see that merged yet, though he has [21]submitted the portion that shrinks struct page), the new scheduler, the [22]SD many patch, and more. The era of bugfix-only 2.4 releases may be coming to an end. This situation poses a bit of a challenge to Marcelo. If larger patches start to go into 2.4, chances are that new bugs will be introduced. Now that 2.4 is finally getting truly stable, few people would like to see it be destabilized again. On the other hand, the 2.6/3.0 kernel could well still be two years away; it is unrealistic to expect that 2.4 will stand still for that long. If Marcelo does not release kernels with, at least, the more obvious and safe improvements, somebody else will. So expect the 2.4 releases to get more interesting. With luck and proper care, they hopefully won't get too interesting... The proper way to migrate processes. The new scheduler code in the 2.5 series implements, among many other things, per-CPU run queues. Processes normally stay in the same queue, and run on the same processor; there are a number of performance benefits to doing things this way. Occasionally, however, it is necessary to move a process to another CPU; this move can happen as a result of load balancing (fixing a situation where one processor is switching between many tasks while another sits idle), or from an explicit user-space request. The 2.5.5 scheduler only allows the current process to be migrated to another CPU - essentially, processes must move themselves. This limitation gets in the way of a number of possible applications; it is often desirable to move arbitrary processes around as the result of user-space decisions. So a few people have been working on ways to relax the "current process only" constraint. Erich Focht [23]posted a patch which implements a "migration interrupt." When a process is to be moved, the target processor is interrupted; it waits until the process is in a movable state, then performs the required operations. The problem with this approach is that the target processor must wait in the interrupt handler for things to happen - never a good way to do things. If the target processor holds a resource (a spinlock, say) that the process to be moved requires, a deadlock could result. So Ingo Molnar has [24]posted a patch of his own which takes a different approach; this patch was included into the 2.5.6-pre1 prepatch. The new code works by setting up (yet another) kernel thread on each processor dedicated to the process migration task. When a process is to be moved, it is put onto a queue and the appropriate migration task is awakened. That task can wait for the process to become movable; since it is just running as another process, it can afford to wait as long as necessary (by giving up the CPU) without running the risk of deadlocks. It looks like a scheme that should work well, but expect a round of "what are those migration_CPU* processes?" questions after 2.5.6 comes out. Doing the BK Thing, Penguin-Style. Jeff Garzik has [25]posted a document on how to do kernel development using BitKeeper. Since Linus's use of BitKeeper is increasingly looking like a permanent thing, this document is recommended reading for anybody who submits patches (even though use of BK is not required). On the developer's end, this also represents a fundamental disruption in the standard workflow of changes, commits, and merges. You will need to take a few minutes to think about how to best work under BitKeeper, and re-optimize things a bit. In some sense it is a bit radical, because it might described as tossing changes out into a maelstrom and having them them magically land at the right destination... but I'm getting ahead of myself. Have a look for the complete story. Other patches and updates released this week include: Core kernel code: * Michael Sinz has [26]posted a new version of his patch allowing the names of core dump files to be customized on a per-process basis. * Mike Kravetz has posted [27]a scheduler for NUMA systems which attempts to address the issues unique to that sort of platform. (The patch has since been [28]updated). * Erich Focht has [29]a NUMA patch of his own which takes a bit of a different approach. * Rik van Riel has released [30]version 12g of his reverse mapping VM implementation. * The [31]February 25 Linux security module patch is available. Among other things, it includes support for the [32]Linux Intrusion Detection System. Development tools: * Dan Aloni posted [33]an implementation of exceptions for the Linux kernel. The response has not been terribly positive... * [34]Syscalltrack 0.7 was released by Guy Keren. * Keith Owens has released [35]kdb v2.1 for the 2.4.18 kernel. Device drivers * David Miller and Jeff Garzik have [36]released a new Broadcom Tigon3 driver. "It is meant to replace Broadcom's driver because frankly their driver is junk and would never be accepted into the tree." (The latest version is [37]0.92). Filesystems: * [38]UVFS 0.5, a user-space filesystem implementation, was released by Britt Park. Miscellaneous: * Keith Owens has released [39]modutils 2.4.14. Networking: * [40]Version 0.93 of the Affix BlueTooth stack has been announced by Dmitry Kasatkin. * [41]Version 2.4.17-0.4.4 of the Linux SCTP implementation has ben announced by Jon Grimm. * The iptstate tool has been [42]released by Phil Dibowitz. "Based on the idea of IP Filter's 'statetop' feature, IP Tables State displays states in your firewall in a top-like format, in real-time." Ports: * James Bottomley has [43]updated his patch for the NCR Voyager architecture. * Robert Schwebel has [44]released a new version of his AMD Elan patch. Section Editor: [45]Jonathan Corbet February 28, 2002 For other kernel news, see: * [46]Kernel traffic * [47]Kernel Newsflash * [48]Kernel Trap * [49]Linux 2.5.x Porting help * [50]2.5 Status Other resources: * [51]Kernel Source Reference * [52]L-K mailing list FAQ * [53]Linux-MM * [54]Linux Scalability Effort * [55]Kernel Newbies * [56]Linux Device Drivers [57]Next: Distributions [58]Eklektix, Inc. Linux powered! Copyright Л 2002 [59]Eklektix, Inc., all rights reserved Linux (R) is a registered trademark of Linus Torvalds References 1. http://lwn.net/ 2. http://lwn.net/2002/0228/ 3. http://lwn.net/2002/0228/security.php3 4. http://lwn.net/2002/0228/dists.php3 5. http://lwn.net/2002/0228/devel.php3 6. http://lwn.net/2002/0228/commerce.php3 7. http://lwn.net/2002/0228/press.php3 8. http://lwn.net/2002/0228/announce.php3 9. http://lwn.net/2002/0228/letters.php3 10. http://lwn.net/2002/0228/bigpage.php3 11. http://lwn.net/2002/0221/kernel.php3 12. http://lwn.net/2002/0228/a/2.5.6-pre1.php3 13. http://lwn.net/2002/0228/a/2.5.5-dj2.php3 14. http://lwn.net/2002/0228/a/2.5-status.php3 15. http://lwn.net/2002/0228/a/2.4.18.php3 16. http://lwn.net/2002/0228/a/2.4.19-pre1.php3 17. http://lwn.net/2002/0228/a/2.4.18-ac2.php3 18. http://lwn.net/2002/0228/a/2.4.19-pre1-ac2.php3 19. http://lwn.net/2002/0228/a/2.2.21-pre3.php3 20. http://lwn.net/2002/0228/a/usb-2.0.php3 21. http://lwn.net/2002/0228/a/struct-page.php3 22. http://lwn.net/2002/0228/a/sdmany.php3 23. http://lwn.net/2002/0228/a/ef-scheduler.php3 24. http://lwn.net/2002/0228/a/im-scheduler.php3 25. http://lwn.net/2002/0228/a/bk-thing.php3 26. http://lwn.net/2002/0228/a/coredump-name.php3 27. http://lwn.net/2002/0228/a/mk-numa.php3 28. http://lwn.net/2002/0228/a/mk-numa2.php3 29. http://lwn.net/2002/0228/a/ef-numa.php3 30. http://lwn.net/2002/0228/a/rmap.php3 31. http://lwn.net/2002/0228/a/lsm.php3 32. http://www.lids.org/ 33. http://lwn.net/2002/0228/a/exceptions.php3 34. http://lwn.net/2002/0228/a/syscalltrack.php3 35. http://lwn.net/2002/0228/a/kdb.php3 36. http://lwn.net/2002/0228/a/tigon.php3 37. http://lwn.net/2002/0228/a/tigon-0.92.php3 38. http://lwn.net/2002/0228/a/uvfs.php3 39. http://lwn.net/2002/0228/a/modutils.php3 40. http://lwn.net/2002/0228/a/affix.php3 41. http://lwn.net/2002/0228/a/sctp.php3 42. http://lwn.net/2002/0228/a/iptstate.php3 43. http://lwn.net/2002/0228/a/voyager.php3 44. http://lwn.net/2002/0228/a/elan.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://kernelnewbies.org/status/ 51. http://lksr.org/ 52. http://www.tux.org/lkml/ 53. http://www.linux.eu.org/Linux-MM/ 54. http://lse.sourceforge.net/ 55. http://www.kernelnewbies.org/ 56. http://www.xml.com/ldd/chapter/book/index.html 57. http://lwn.net/2002/0228/dists.php3 58. http://www.eklektix.com/ 59. http://www.eklektix.com/ --- ifmail v.2.14.os7-aks1 * Origin: Unknown (2:4615/71.10@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1986198dc6d9b.html, оценка из 5, голосов 10
|