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