|
|
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
|