Kernel Traffic #301 by Zack Brown

[email protected] Sat, 02 Apr 2005 14:10:42 -0800
Newsgroups gmane.linux.kernel.kernel-traffic
Message-ID <[email protected]>
                        Kernel Traffic #301 For 2 Apr 

                                 By Zack Brown

Table Of Contents

  * Standard Format
  * Text Format
  * XML Source
  * Mailing List Stats For This Week
  * Threads Covered

    1. 11 Feb  - 1 Mar   (31      Support For Fujitsu LifeBook PS/2 Touchscreen
                         posts)   Hardware
    2. 18 Feb  - 1 Mar   (20      Bootsplash For 2.6.11-rc4
                         posts)
    3. 19 Feb  - 25 Feb  (9       Failed Attempt To Restructure /sys
                         posts)
    4. 23 Feb  - 1 Mar   (53      Linux 2.6.11-rc5 Released
                         posts)
    5. 23 Feb  - 28 Feb  (14      PCI Bridge Driver Rewrite
                         posts)
    6. 24 Feb  - 25 Feb  (12      Seeking Kernel Policy Documentation
                         posts)
    7. 25 Feb  - 26 Feb  (6       Merging The Xen Code
                         posts)
    8. 26 Feb  - 28 Feb  (16      Partition Recognition
                         posts)

Mailing List Stats For This Week

We looked at 1684 posts in 10MB.

There were 608 different contributers. 218 posted more than once. The average
length of each message was 96 lines.

 The top posters of the            The top subjects of the week were:
       week were:
69 posts in 417KB by      56 posts in 290KB for "[Lse-tech] Re: A common layer
Adrian Bunk               for Accounting packages"
54 posts in 215KB by      38 posts in 197KB for "2.6.11-rc5"
Andrew Morton             33 posts in 130KB for "Xterm Hangs - Possible
43 posts in 408KB by      scheduler defect?"
Andreas Gruenbacher       32 posts in 256KB for "[PATCH 2/2] page table
41 posts in 158KB by Greg iterators"
KH                        31 posts in 197KB for "[rfc/rft] Fujitsu B-Series
29 posts in 206KB by      Lifebook PS/2 TouchScreen driver"
[email protected]

Full Statistics generated by mboxstats version 2.2

 

1. Support For Fujitsu LifeBook PS/2 Touchscreen Hardware
11 Feb  - 1 Mar  (31 posts) Archive Link: "[rfc/rft] Fujitsu B-Series Lifebook
PS/2 TouchScreen driver"
Topics: Touchscreen
People: Vojtech Pavlik, Kenan Esau, Arjan van de Ven

Vojtech Pavlik said:

    I've reimplemented the Lifebook touchscreen driver using libps2 and input,
    to make it short and fitting into the kernel drivers.

    Please comment on code and test for functionality!

    PS.: The driver should register two input devices. It doesn't yet, since
    that isn't very straightforward in the psmouse framework.

Kenan Esau was really happy to see this support being worked on, though he had
a lot of technical criticisms of the patch. One of his objections was that
there was no way to be certain a LifeBook touchscreen was present on the
system. Arjan van de Ven had a hard time swallowing this, and suggested ways of
detecting LifeBooks. But Kenan replied, "the lifebook-touchscreen hardware is
also used in other notebooks. For example the Panasonic Toughbook CF28. But we
could still use DMI to check whether we are on a lifebook b-series and then
initialize the hardware. This would still get 95% of all cases. For all the
other ones we would have to provide some kind of force-switch." Vojtech added,
"Or simply another entry in the DMI table for the Toughbook, and for the few
others who use this kind of touchscreen controller."

Later on, Kenan posted his own updated version of the patch, including DMI
probing. Vojtech, digging down into the code, found a lot of specific problems,
though he had no general objections to Kenan's direction.

 

2. Bootsplash For 2.6.11-rc4
18 Feb  - 1 Mar  (20 posts) Archive Link: "Bootsplash for 2.6.11-rc4"
Topics: Bootsplash
People: Pavel Machek, Michal Januszewski, Greg KH

Pavel Machek said, "Just in case someone is interested, this is bootsplash for
2.6.11-rc4, taken from suse kernel. I'll probably try to modify it to work with
radeonfb. Any ideas why bootsplash needs to hack into vesafb? It only uses
vesafb_ops to test against them before some kind of free..." Michal Januszewski
replied:

    It doesn't really need vesafb for anything. Back in the days of 2.6.7 I
    used to release a version of bootsplash that had the dep. on vesafb
    removed. It worked fine with at least some other fb drivers.

    You might also want to save yourself some work and try out an alternative
    solution called fbsplash (http://dev.gentoo.org/~spock/projects/gensplash/
    current/) , which I designed after I got tired of fixing bootsplash and
    which I actively maintain. Fbsplash provides virtually the same
    functionality, and it has as much code as possible moved into userspace (no
    more JPEG decoders in the kernel).

Greg KH agreed with Michal, saying that his version was very sane, stable, and
possibly even ready to be merged. Pavel agreed entirely, adding, "My only
requirement is that it works with radeonfb and similar low-level drivers (so
that I can get suspend-to-ram to work) and that it gets past our branding
people..." Michal replied, "I don't know about the branding people, but
suspend-to-ram and radeonfb shouldn't be a problem for fbsplash :)"

 

3. Failed Attempt To Restructure /sys
19 Feb  - 25 Feb  (9 posts) Archive Link: "[PATCH] Symlink /sys/class/block to
/sys/block"
Topics: FS: sysfs, Hot-Plugging
People: Chris Wedgwood, Greg KH, Kay Sievers

In response to an earlier discussion (http://marc.theaimsgroup.com/?m=
110506536315986) , Malcolm Rowe posted a patch to create /sys/class/block as a
symlink to /sys/block. Chris Wedgwood replied, "Shouldn't we really move /sys/
block to /sys/class/block and put the symlink from there to /sys/block with the
hope of removing it one day?" Greg KH replied, "When struct class_device can
support children, we can do just that. But that support has not been added,
yet..." Kay Sievers pointed out elsewhere, that "The hotplug events will still
have the /block/* devpath, so this symlink will give us nothing than problems."
After some back-and-forth, Greg admitted, "Ok, forget the symlink. Or, for that
matter, ever moving from /sys/block/..."

 

4. Linux 2.6.11-rc5 Released
23 Feb  - 1 Mar  (53 posts) Archive Link: "2.6.11-rc5"
Topics: Kernel Release Announcement, Serial ATA
People: Linus Torvalds

Linus Torvalds announced Linux 2.6.11-rc5, saying:

    Hey, I hoped -rc4 was the last one, but we had some laptop resource
    conflicts, various ppc TLB flush issues, some possible stack overflows in
    networking and a number of other details warranting a quick -rc5 before the
    final 2.6.11.

    This time it's really supposed to be a quickie, so people who can, please
    check it out, and we'll make the real 2.6.11 asap.

    Mostly pretty small changes (the largest is a new SATA driver that crept
    in, our bad). But worth another quick round.

 

5. PCI Bridge Driver Rewrite
23 Feb  - 28 Feb  (14 posts) Archive Link: "[RFC] PCI bridge driver rewrite"
Topics: FS: sysfs, Hot-Plugging, PCI
People: Adam Belay, Greg KH

Adam Belay said:

    For the past couple weeks I have been reorganizing the PCI subsystem to
    better utilize the driver model. Specifically, the bus detection code is
    now using a standard PCI driver. It turns out to be a major undertaking, as
    the PCI probing code is closely tied into a lot of other PCI components,
    and is spread throughout various architecture specific areas. I'm hoping
    that these changes will allow for a much cleaner and more functional PCI
    implementation.

    The basic flow of the new code is as follows:

     1. A standard "driver core" driver binds to a bridge device.
     2. When "*probe" is called it sets up the hardware and allocates a "struct
        pci_bus".
     3. The "struct pci_bus" is filled with information about the detected
        bridge.
     4. The driver then registers the "struct pci_bus" with the PCI Bus Class.
     5. The PCI Bus Class makes the bridge available to sysfs.
     6. It then detects hardware attached to the bridge.
     7. Each new PCI bridge device is registered with the driver model.
     8. All remaining PCI devices are registered with the driver model.

    Steps 7 and 8 allow for better resource management.

    I've attached an early version of my code. It has most of the new PCI bus
    class registration code in place, and an early implementation of the
    PCI-to-PCI bridge driver. The following remains to be done:

     1. refine and cleanup the new PCI Bus API
     2. export the new API in "linux/pci.h", and cleanup any users of the old
        code.
     3. fix every PCI hotplug driver.
     4. write a bridge driver for the PCI root bridge
     5. write a bridge driver for Cardbus hardware
     6. refine device registration order
     7. redesign PCI bus number assignment and support bus renumbering
     8. redesign PCI resource management to be compatible with the new code
     9. testing on various architectures
    10. Write "*suspend" and "*resume" routines for PCI bridges. Any ideas on
        what needs to be done?
    11. fix "PCI_LEGACY" (I may have broke it, but it should be trivial)

There were various comments and suggestions, but Greg KH also said, "I like it
all :). If you want to submit patches now that rearrange the code to make it
easier for you to modify in the future to achieve the above goals, feel free,
I'll gladly take them." And Adam replied, "I'm going to do an updated release
soon. It should take care of some of the issues on the TODO list and also will
be based on previous feedback. From there, I'll start planning a strategy for
merging with mainline."

 

6. Seeking Kernel Policy Documentation
24 Feb  - 25 Feb  (12 posts) Archive Link: "Linus' decrees?"
People: Stuart MacDonald, Randy Dunlap, Horst von Brand

Stuart MacDonald said:

    Recently I ran across http://groups.google.ca/groups?hl=en&lr=lang_en&safe=
    off&selm=1033074519.2698.5.camel%40localhost.localdomain

    Is there a collection point for Linus' decrees?

    The LSB (http://www.linuxbase.org/) seems to be mostly involved with how a
    distro is laid out, and not much to do with the kernel.

Some posts down the line, Randy Dunlap said he didn't know of anyplace that
collected kernel policies, though he liked the idea. Horst von Brand proposed a
Documentation/policies file, and Stuart said that would be great.

 

7. Merging The Xen Code
25 Feb  - 26 Feb  (6 posts) Archive Link: "Re: arch/xen is a bad idea"
People: Andrew Morton, Ian Pratt, Andi Kleen

Andrew Morton said:

    The Xen team still believe that it's best to keep arch/xen, arch/xen/i386,
    arch/xen/x86_64, etc. And I believe that Andi (who is the world expert on
    maintaining an i386 derivative) thinks that this is will be a long-term
    maintenance problem.

    I tend to agree with Andi, and I'm not sure that the Xen team fully
    appreciate the downside of haveing an own-architecture in the kernel.org
    kernel and the upside of having their code integrated with the
    most-maintained architecture. It could be that the potential problems
    haven't been sufficiently well communicated.

    Christian has mentioned that Xen would need to hook into the i386 code in
    ~60 places, which is somewhat more than Ian's 37-bullet-point list.

    I get the impression that the Xen team are overly reluctant to make changes
    to the arch/i386 code and to arch-neutral kernel code. Don't do that - new
    abstractions, refactoring and generally moving things about is generally a
    safe thing to do, and can often make things better anyway.

    So. Has anyone changed position or otherwise converged? How do we get this
    resolved?

Ian Pratt replied:

    I think there's an interim compromise position that everyone might go for:

    Phase 1 is for us to submit a load of patches that squeeze out the low
    hanging fruit in unifying xen/i386 and i386. Most of these will be strict
    cleanups to i386, and the result will be to almost halve the number of
    files that we need to modify.

    The next phase is that we re-organise the current arch/xen as follows:

    We move the remaining (reduced) contents of arch/xen/i386 to arch/i386/xen
    (ditto for x86_64). We then move the xen-specific files that are shared
    between all the different xen architectures to drivers/xen/core. I know
    this last step is a bit odd, but it's the best location that Rusty Russel
    and I could come up with.

    At this point, I'd hope that we could get xen into the main-line tree.

    The final phase is to see if we can further unify more native and xen
    files. This is going to require some significant i386 code refactoring, and
    I think its going to be much easier to do if all the code is in the
    main-line tree so that people can see the motivation for what's going on.

Andi Kleen seemed favorable, though he still had some questions to resolve.
Andrew also liked the compromise, and also had questions to resolve. But he
said, "The main objective is to minimise code duplication. The question of
where in the tree all the resulting code actually lands is secondary from a
maintainability POV."

 

8. Partition Recognition
26 Feb  - 28 Feb  (16 posts) Archive Link: "[PATCH] partitions/msdos.c"
Topics: FS: ReiserFS, Hot-Plugging, USB
People: Andries Brouwer, Linus Torvalds, Uwe Bonnes

Andries Brouwer said:

    A well-known kernel bug is that it guesses at the partition type and the
    partitions on any disk it encounters. This is bad because needless I/O is
    done, slowing down the boot, sometimes quite a lot, especially when I/O
    errors occur. And it is bad because sometimes we guess wrong.

    In other words, we need the user space command `partition', where
    "partition -t dos /dev/sda" reads a DOS-type partition table. (And
    "partition /dev/sda" tries all known heuristics to decide what type of
    partitioning might be present.) The two variants are: (i) partition tells
    the kernel to do the partition table reading, and (ii) partition uses partx
    to read the partition table and tells the kernel one-by-one about the
    partitions found this way.

    Since this is a fundamental change, a long transition period is needed, and
    that period could start with a kernel boot parameter telling the kernel not
    to do partition table parsing on a particular disk, or a particular type of
    disks, or all disks.

    This could have been the intro to a patch doing that, but is not. (It is
    just an RFC.)

    The tiny patch below prompted the above - it was suggested by Uwe Bonnes
    who encountered USB devices without partition table where our present
    heuristics did not suffice to stop partition table parsing. It causes the
    kernel to ignore partitions of type 0. A band-aid.

    I think nobody uses such partitions seriously, but nevertheless this should
    probably live in -mm for a while to see if anybody complains.

Linus Torvalds got behind the patch, and after some discussion said, "I'll put
it in immediately after doing a 2.6.11 (no need to worry about getting into
2.6.11, since afaik the worst problem right now is an extra partition that
isn't usable)." Uwe Bonnes remarked, "Well, on a Suse 9.2 System with Suse
Hotplug, the phantom partition was somehow recognized as Reiserfs, and then the
Hotplug mechanism trying to mount the bogus partition as a Reiser Filesystem
ended in an Oops..." Linus acknowledged that this was a significant case,
though he felt it indicated that "reiserfs is not doing very well on the
sanity-checking front." He and Andries urged folks to report all oopses.

 

 

 

 

 

 

                       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.