Kernel Traffic #286 by Zack Brown
[email protected] Thu, 02 Dec 2004 09:13:01 -0800
| Newsgroups | gmane.linux.kernel.kernel-traffic |
|---|---|
| Message-ID | <[email protected]> |
Kernel Traffic #286 For 30 Nov
By Zack Brown
Table Of Contents
* Standard Format
* Text Format
* XML Source
* Mailing List Stats For This Week
* Threads Covered
1. 8 Nov - 15 Nov (18 Some Policy Discussion Of #ifdefs In Kernel
posts) Code
2. 10 Nov - 12 Nov (5 Darcs Version Control Mirror Of Kernel Source
posts) Repository
3. 10 Nov - 11 Nov (4 New sk98lin Driver Released In Many Patches
posts)
4. 12 Nov - 15 Nov (9 Linux 2.4.28-rc3 Released
posts)
5. 13 Nov - 17 Nov (5 Intel Thermal Monitor Approaching Completion
posts) For x86_64
6. 16 Nov (2 New ADMA Driver
posts)
Mailing List Stats For This Week
We looked at 1593 posts in 8801K.
There were 411 different contributors. 222 posted more than once. 167 posted
last week too.
The top posters of the week were:
* 107 posts in 549K by Greg KH
* 78 posts in 625K by Adrian Bunk
* 46 posts in 173K by Andrew Morton
* 39 posts in 154K by Linus Torvalds
* 36 posts in 125K by Alan Cox
* Full Stats
1. Some Policy Discussion Of #ifdefs In Kernel Code
8 Nov - 15 Nov (18 posts) Archive Link: "[PATCH] VM routine fixes"
Topics: Virtual Memory
People: Linus Torvalds, David Howells, Andrew Morton
David Howells posted some virtual memory fixes, and Andrew Morton noticed a
small #ifdef for the benefit of uClinux. Only one line was guarded by the #
ifdef, but Andrew asked what it was for. David replied that for uClinux, that
particular line was unnecessary, and #ifdefing it out for uClinux would give a
slight performance boost. Linus Torvalds said:
I don't think that is a valid argument.
If uClinux wants to be a different source-base, then go wild. But if you
want to integrate into the standard kernel, there are other priorities. One
of them is that it has to integrate cleanly. And that means that we don't
do micro-optimizations that make the non-MMU case affect mainline code
unless there is a damn good reason.
David replied, "So not having an MMU, page tables or PTEs or any requirement
for operations that act upon them is not enough?" And Linus said:
No. It's a matter of abstraction. If you can _abstract_ the thing away,
that's fine. I don't want more #ifdef's in source code, but you can have a
totally different file that doesnt' do the things that aren't appropriate
for non-MMU.
Yes, we've already got #ifdef's in code, but the point is that we don't add
them unless there is serious _need_. And even then it's a sign of trouble.
In this case, the sign of trouble is bigger than the need. uClinux might as
well have a dummy "struct vm_operations", if only to make the damn thing
look more like real Linux.
2. Darcs Version Control Mirror Of Kernel Source Repository
10 Nov - 12 Nov (5 posts) Archive Link: "[ANNOUNCE] darcs mirror of the linux
kernel repository"
Topics: Version Control, Virtual Memory
People: David Roundy, Pavel Machek, Zack Brown
David Roundy said:
I am pleased to announce the availability of a darcs mirror of the linux
kernel repository. Darcs is a fully distributed and simple to use revision
control system. Instructions on accessing the repository are available at
http://darcs.net/linux.html
In brief, you can get a copy of the latest kernel (converted from the bkcvs
branch) using
darcs get --partial http://darcs.net/linux
You can leave out the --partial, if you want to get the full history of the
kernel repository (which obviously will take longer).
Be forewarned that darcs is a bit of a memory hog when run with large
repositories, so the above command may take quite a while, and probably
will require 700 or 800 megabytes of virtual memory. The actual working set
of memory is under 300 megabytes. Work is underway to improve both the
speed and memory usage of darcs. So far the emphasis in darcs development
has been on correctness and stability.
The darcs kernel mirror is sponsored by Aktiom Networks (http://aktiom.net
). Aktiom specializes in Linux Virtual Private Servers (VPS) for technology
professionals and consultants.
Pavel Machek asked, "Would it be possible to get data from www.bkbits.net so
that complete history is preserved?" David replied:
Full history could be preserved, but I don't think that getting it from the
web interface would be polite, and I can't run bk myself (for obvious
reasons).
I could hack up a sketch of how I'd go about getting the full history.
Crudely speaking, I'd just need a couple of functions: one telling me the
parents of a given version, and one fetching a given version. And of
course, finding the author/date/comments for each version. If someone else
were willing to implement those two functions, I could sketch out the darcs
side of things. Obviously renames wouldn't be preserved with just those
functions, but that's not a huge loss. And also, the conversion process
would be painfully slow.
At one point in the discussion, Pavel said, "Larry said that we are welcome to
get metadata in open format and cited getting it from bkbits.net as one of
possible ways. I believe they have faster connection these days."
(ed. [Zack Brown] This is excellent news. Linux kernel development activity is
so fast and so huge, it is the ideal testing ground for any version control
system. If darcs can handle kernel development, it can handle anything.
Hopefully some of the kernel folks will give David some feedback on how best to
rise to the challenge.)
3. New sk98lin Driver Released In Many Patches
10 Nov - 11 Nov (4 posts) Archive Link: "new sk98lin driver"
People: Michael Heyse, Jeff Garzik, Stephen Hemminger
Michael Heyse asked, "there's a new sk98lin driver available from http://
www.syskonnect.com/syskonnect/support/driver/zip/linux/install-7_09.tar.bz2
(now with ethtool support) dated Oct 20. It's not in 2.6.10-rc1, will it be
included in 2.6.10?" Jeff Garzik replied, "I think Stephen Hemminger
volunteered to split up the changes into separate patches." Michael was happy
to hear this, though he guessed the project would take a long time, since the
patch was so big. Elsewhere, Stephen Hemminger also said:
This is the first set of patches to merge some of the new SysKonnect code
with existing 2.6 driver and fix several bugs.
1. Remove explicit module refcounting (bug)
2. Make OnesHash table local constant.
3. proc print interface cleanup
4. Use netdev_priv
5. Use module_param_array instead of deprecated MODULE_PARM
6. Add netpoll controller support
7. Basic ethtool support
8. Ethtool support for LED blinking
9. Ethtool pause param support
10. Cleanup
11. Fix boards_found count
12. Add MODULE_VERSION
13. Handle ring full condition properly (bug)
14. Get rid of obfuscation irqreturn_t
15. Rearrange functions to match SysKonnect code
16. More efficient OsGetTime
17. Enable high dma and lockless transmit
18. reorganize pci_device table
19. Do initialization better
20. Ethtool tx & receive checksum efficiently
21. Tx ring management improvements
22. Cleanup the code under DIAG_SUPPORT
23. Eliminate Pnmi scratchpad common
To spare people's mailbox the individual patches won't go to LKML just to
netdev.
4. Linux 2.4.28-rc3 Released
12 Nov - 15 Nov (9 posts) Archive Link: "Linux 2.4.28-rc3"
Topics: FS: NFS, FS: smbfs, Power Management: ACPI
People: Marcelo Tosatti, Andrey Melnikoff, Adrian Bunk, David S. Miller, Ozkan
Sezer
Marcelo Tosatti announced Linux 2.4.28-rc3, saying, "It contains a v2.6
backport of the binfmt_elf potential vulnerabilities disclosed this week, an
enhanced smbfs client overflow fix, an ACPI update fixing a couple of nasty
bugs, a NFS client bugfix and a network update from Davem." Andrey Melnikoff
posted a patch to "Prevent NMI oopser kill kernel thread when megearid2 driver
wating abort or reset command completion." He asked if this could make it into
the source in time for 2.4.28, but Marcelo replied:
I talked to Atul and Arjan about this one - the correct thing to do is to
replace mdelay() with CPU yielding msleep().
We should backport msleep() in 2.4.29-pre1.
Elsewhere, Adrian Bunk reported:
I'm getting the following error:
<-- snip -->
depmod: *** Unresolved symbols in
/lib/modules/2.4.28-rc3/kernel/net/decnet/decnet.o
depmod: neigh_for_each
<-- snip -->
This was caused by Harald's backport of the neighbour scalability fixes
from 2.6 .
neigh_for_each must be EXPORT_SYMBOL'ed (as it is in 2.6)
David S. Miller said, "Good catch," and applied Adrian's patch to his tree, en
route to Marcelo. Ozkan Sezer noticed that "A similar export should also be
needed for __neigh_for_each_release" David thanked him, and Adrian posted an
updated patch including Ozkan's contribution.
5. Intel Thermal Monitor Approaching Completion For x86_64
13 Nov - 17 Nov (5 posts) Archive Link: "[PATCH] Intel thermal monitor for
x86_64"
People: Zwane Mwaikambo, Andi Kleen
Zwane Mwaikambo, working on Intel-donated hardware, posted a patch that "adds
support for notification of overheating conditions on intel x86_64 processors.
Tested on EM64T, test booted on AMD64." Andi Kleen asked if the code had been
tested in actual overheating conditions, and Zwane replied that no, he'd only
just forced the event to trigger. Andi also had some pretty invasive criticisms
about the patch, with the overall sense that a different approach might be
better. He remarked, "sorry for telling you late, but I also only realized it
later" . They talked about deep dark magic for a few posts, and Zwane went off
to rework his patch.
6. New ADMA Driver
16 Nov (2 posts) Archive Link: "[IDE] new driver: ADMA"
Topics: Disks: IDE, Serial ATA
People: Jeff Garzik
Jeff Garzik said:
Pacific Digital (and others?) have some PATA and SATA controllers which
conform to the public "ADMA" specification found at
http://www.t13.org/project/d1510r1-Host-Adapter.pdf
In terms of standard IDE BMDMA controllers, ADMA is fairly advanced,
allowing all commands (including non-DMA) to be transferred using DMA and a
scatter-gather table. Rather than a DMA ring, each port has a linked list
of commands to execute.
In terms of modern SATA controllers, the ADMA design is showing its age
just a tad, but is still a reasonable design. Since the hardware ref is
public, and since the driver was quick and easy, I took a couple hours out
of the "post-work" evening to write the first draft of the ADMA driver.
This driver conforms to Linus Confidence Level 2:
It looks right
X It builds
It works
It passes stress tests
The error handling is severely lacking, but this should be basically right.
The driver is built against 2.6.10-rc2 libata.
He also replied to himself to add, "a quick data point: ata_adma.c is a
non-queueing driver (for now)."
We Hope You Enjoy Kernel Traffic
Kernel Traffic is grateful to be developed on a computer donated by Professor
Greg Benson and Professor Allan Cruse in the Department of Computer Science at
the University of San Francisco. This is the same department that invented
FlashMob Computing. Kernel Traffic is hosted by the generous folks at
kernel.org. All pages on this site are copyright their original authors, and
distributed under the terms of the GNU General Public License, version 2.0.