|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Sergey Lentsov 2:4615/71.10 03 May 2001 17:11:10 To : All Subject : URL: http://lwn.net/2001/0503/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.4, which was [15]released on
April 28. This release contains, of course, the zero-copy networking
code, and a number of other enhancements and bug fixes.
It also evidently contains some new bugs - the complaint level for
2.4.4 appears to be higher than with some of the other 2.4.x releases.
The "run children first" change to the fork() system call (discussed
in the [16]April 19 LWN Kernel Page) seems to have caused quite a few
problems, and it has already been reverted in Linus's [17]2.4.5pre1
prepatch. A number of other problems have been reported as well;
people without a burning need to upgrade to 2.4.4 might just want to
wait for 2.4.5.
As noted, Linus has since released [18]2.4.5pre1 with some additional
fixes. Alan Cox, meanwhile, is at [19]2.4.4ac3 with a rather longer
set of fixes.
Trashing your filesystem with dump. It has been known for a very long
time that using dump to back up live filesystems can result in corrupt
backups. It turns out that, with Linux kernels through 2.4.4, dumping
a live filesystem has the potential to corrupt the filesystem in
place, even if the dump process has no write access.
Alexander Viro [20]reported the bug which makes this possible. It can
happen only on SMP systems, and is not easy to trigger, but it is
there. Essentially, if the filesystem allocates a new metadata block
for the filesystem, and a separate process reads that block at the
wrong time, the wrong data will be written back to disk. The fix is
relatively straightforward, and has [21]already been incorporated into
2.4.5pre1.
Linus [22]pointed out an interesting little fact as part of this
discussion: dump will not work correctly on 2.4-based systems in any
case. The filesystem keeps quite a bit of useful information in the
page cache - and will do so even more in the future. dump, however,
works with the raw device, which deals with the buffer cache instead.
The two are not always synchronized, and it is possible that dump will
end up reading the wrong data. In case that's not clear enough:
So anybody who depends on "dump" getting backups right is already
playing russian rulette with their backups. It's not at all
guaranteed to get the right results - you may end up having stale
data in the buffer cache that ends up being "backed up".
For now, there is really no easy way to fix dump for 2.4. If you're
using it, this might be a good time to go looking for a different
tool.
A 2.4 swap bug - maybe. A discussion of Linux swapping behavior turned
to an interesting aspect of how the system handles swapping. Swap
space, of course, is used to hold copies of pages which have been
moved out of memory. It turns out that when a page is restored to main
memory from swap, its slot in the swap file is not released. Thus, in
some situations, Linux can "run out" of swap space even though much of
that swap space is taken up by data that is not currently swapped out.
[23]According to Alan Cox, this behavior is forcing some large systems
to remain with the 2.2 kernel.
At first blush, the proper course of action seems simple: when a page
is swapped back into memory, its swap slot should be freed. As is
often the case, though, life is not that simple. Some of the twists
that come up here (as pointed out by Stephen Tweedie) include:
* The system tries to group memory areas together in the swap file.
Freeing swap slots individually would destroy that grouping, thus
fragmenting the swap area. That, in turn, can lead to slower
swapping performance.
* Suppose you swap a page in, then, due to memory pressure, have to
swap it back out again. If the page has not been modified, the
copy on disk is still valid, and the page can be freed
immediately. If, instead, the slot has been freed, the page must
be written again.
* The Linux virtual memory system does not make it easy to find all
of the page table entries that are pointing to a particular page.
When a particular process swaps in a page, its page table will be
updated accordingly. But if other processes have page tables
pointing to the swapped page, they will continue to point to the
disk copy. Until all of those references are changed, the disk
copy can not go away.
The proper solution, thus, would appear to be to retain the copy in
the swap cache for as long as there is no real virtual memory
pressure. Once things get tight, it's time to start throwing things
away. In some cases, though, (such as the one where the swap copy of a
page is valid), it may be better to toss out the memory copy of the
page.
Moral: virtual memory is never simple.
SGI releases XFS 1.0. SGI has [24]announced the release of XFS 1.0.
The 2.4 kernel now has another journaling filesystem in a stable
release state; XFS also offers a number of features for users with
intense I/O bandwidth requirements. It claims to work with NFS, and
comes with an installer for Red Hat Linux 7.1 systems.
Perhaps not wanting to be left out entirely, IBM has released [25]JFS
beta 3 release 0.3.0.
ECN enabled on kernel.org. The kernel.org FTP server has [26]enabled
ECN (the Explicit Congestion Notification protocol). If you find
you're now having a hard time downloading that new kernel, there's a
chance you're behind a broken firewall which doesn't handle ECN
properly. See [27]Jeff Garzik's ECN page for help if you find yourself
in that situation.
Other patches and updates released this week include:
* A group of students at Northern Michigan University has
[28]announced a set of benchmarks that were run on kernels from
2.0.1 through 2.4.0. They give a view as to how performance in a
number of areas has changed over time.
* A new Linux security module patch has been [29]released by Greg
Kroah-Hartman.
* [30]A new FreeS/WAN KLIPS2 design, meant to work well with
netfilter, has been announced by Richard Guy Briggs. He's looking
for feedback. Those who are not easily offended might also enjoy
the [31]Linux FreeS/WAN poster on his site.
* Keith Owens has [32]released a few new versions of the kdb kernel
debugger which work with recent kernel releases.
* Jeff Mahoney [33]announced a large patch to ReiserFS which makes
it work on big-endian systems.
* Daniel Phillips has posted [34]a patch to make his directory
indexes work in the page cache. As with many of his patches, this
one includes a lengthy discussion of what changes have been made
and why; it makes for interesting reading on how the VFS works.
Daniel subsequently released [35]a pair of new patches, one of
which works with Alexander Viro's "directories in the page cache"
patch.
* Jeff Dike has [36]released a new version of user-mode Linux which
works with 2.4.4 and contains a number of fixes.
* Eric Raymond's CML2 patch is up to [37]CML2 1.3.3.
* Andreas Gruenbacher [38]released version 0.7.11 of the access
control list patch, quickly followed by [39]version 0.7.12.
* Matthew Wilcox has [40]posted a description of what he thinks
should be done with file locking in the 2.5 development series.
Section Editor: [41]Jonathan Corbet
May 3, 2001
For other kernel news, see:
* [42]Kernelnotes
* [43]Kernel traffic
* [44]Kernel Newsflash
* [45]Kernel Trap
Other resources:
* [46]Kernel Source Reference
* [47]L-K mailing list FAQ
* [48]Linux-MM
* [49]Linux Scalability Project
* [50]Kernel Newbies
[51]Next: Distributions
[52]Eklektix, Inc. Linux powered! Copyright Л 2001 [53]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/0503/
4. http://lwn.net/2001/0503/security.php3
5. http://lwn.net/2001/0503/dists.php3
6. http://lwn.net/2001/0503/desktop.php3
7. http://lwn.net/2001/0503/devel.php3
8. http://lwn.net/2001/0503/commerce.php3
9. http://lwn.net/2001/0503/press.php3
10. http://lwn.net/2001/0503/announce.php3
11. http://lwn.net/2001/0503/history.php3
12. http://lwn.net/2001/0503/letters.php3
13. http://lwn.net/2001/0503/bigpage.php3
14. http://lwn.net/2001/0426/kernel.php3
15. http://lwn.net/2001/0503/a/2.4.4.php3
16. http://lwn.net/2001/0419/kernel.php3
17. http://lwn.net/2001/0503/a/2.4.5pre1.php3
18. http://lwn.net/2001/0503/a/2.4.5pre1.php3
19. http://lwn.net/2001/0503/a/2.4.4ac3.php3
20. http://lwn.net/2001/0503/a/metadata-corruption.php3
21. http://lwn.net/2001/0503/a/lt-metadata.php3
22. http://lwn.net/2001/0503/a/lt-dump.php3
23. http://lwn.net/2001/0503/a/ac-swap.php3
24. http://lwn.net/2001/0503/a/xfs-1.0.php3
25. http://lwn.net/2001/0503/a/jfs.php3
26. http://lwn.net/2001/0503/a/kernel.org-ecn.php3
27. http://gtf.org/garzik/ecn/
28. http://lwn.net/2001/0503/a/benchmarks.php3
29. http://lwn.net/2001/0503/a/lsm.php3
30. http://lwn.net/2001/0503/a/freeswan.php3
31.
http://www.conscoop.ottawa.on.ca/rgb/freeswan/freeswan_pissed_penguin_url.jpg
32. http://lwn.net/2001/0503/a/kdb.php3
33. http://lwn.net/2001/0503/a/reiserfs-endian.php3
34. http://lwn.net/2001/0503/a/directory-index.php3
35. http://lwn.net/2001/0503/a/directory-index-patches.php3
36. http://lwn.net/2001/0503/a/uml.php3
37. http://lwn.net/2001/0503/a/cml2.php3
38. http://lwn.net/2001/0503/a/acl.php3
39. http://lwn.net/2001/0503/a/acl-0.7.12.php3
40. http://lwn.net/2001/0503/a/2.5-locking.php3
41. mailto:lwn@lwn.net
42. http://www.kernelnotes.org/
43. http://kt.zork.net/
44. http://www.atnf.csiro.au/~rgooch/linux/docs/kernel-newsflash.html
45. http://www.kerneltrap.com/
46. http://lksr.org/
47. http://www.tux.org/lkml/
48. http://www.linux.eu.org/Linux-MM/
49. http://www.citi.umich.edu/projects/linux-scalability/
50. http://www.kernelnewbies.org/
51. http://lwn.net/2001/0503/dists.php3
52. http://www.eklektix.com/
53. http://www.eklektix.com/
--- ifmail v.2.14.os7-aks1
* Origin: Unknown (2:4615/71.10@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/20308b751cd55.html, оценка из 5, голосов 10
|