|
|
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)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/198615dd515e1.html, оценка из 5, голосов 10
|