Kernel Traffic #298 by Zack Brown

[email protected] Sun, 06 Mar 2005 19:18:56 -0800
Newsgroups gmane.linux.kernel.kernel-traffic
Message-ID <[email protected]>
                      Kernel Traffic #298 For 2005/03/06

                                 By Zack Brown

Table Of Contents

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

    1. Wed, 19 Jan - 4 Feb       (99       kexec And crashdump
                                 posts)
    2. Fri, 21 Jan - Tue, 8 Feb  (38       New scrubd Page Zeroing Daemon
                                 posts)
    3. Mon, 31 Jan - Fri, 04 Feb (8 posts) ST M41T00 I2C RTC Chip Driver
                                           Released
    4. Wed, 2 Feb  - Fri, 04 Feb (9 posts) Linux 2.6.11-rc3 Released
    5. Thu, 03 Feb               (2 posts) FUSE Version 2.2 Released
    6. Fri, 4 Feb  - Thu, 10 Feb (59       Linux 2.6.11-rc3-mm1 Released
                                 posts)
    7. Fri, 4 Feb  - Sat, 5 Feb  (9 posts) RelayFS Updated
    8. Mon, 7 Feb                (1 post)  Linux Test Project Updated
    9. Tue, 08 Feb - Wed, 09 Feb (5 posts) New Marvell MV64xxx I2C Driver

Mailing List Stats For This Week

We looked at 1994 posts in 11MB.

There were 623 different contributers. 238 posted more than once. The average
length of each message was 98 lines.

The top posters of the week          The top subjects of the week were:
           were:
74 posts in 556KB by Tejun   63 posts in 303KB for "Patch 4/6 randomize the
Heo                          stack pointer"
66 posts in 470KB by Eric W. 44 posts in 213KB for "i8042 access timings"
Biederman                    39 posts in 228KB for "[PATCH] OpenBSD
62 posts in 260KB by         Networking-related randomization port"
Bartlomiej Zolnierkiewicz    38 posts in 245KB for "[PATCH] Dynamic tick,
53 posts in 495KB by Adrian  version 050127-1"
Bunk                         36 posts in 144KB for "[PROPOSAL/PATCH] Remove
43 posts in 186KB by Greg KH PT_GNU_STACK support before 2.6.11"

Full Statistics generated by mboxstats version 2.2

 

1. kexec And crashdump
Wed, 19 Jan - 4 Feb  (99 posts) Archive Link: "[PATCH 0/29] overview"
People: Eric W. Biederman, Andrew Morton, Vivek Goyal, Koichi Suzuki

Eric W. Biederman said:

    This patchsset is a major refresh of the kexec on panic functionality in
    the kernel. The primary aim of which was to take the requirements capture
    of the kernel crashdump patches and start integrating the functionality
    cleanly into the kexec patches.

    Major accomplishments:

      + Compat syscall support has been added.
      + The crashdump capture code has been separated from the kexec on panic
        code.
      + The kernel to jump to on panic is now loaded in place.
      + A long standing bug that allowed 2 sources pages to copy data to a
        single destination page has been caught and fixed.
      + Support for loading an x86_64 kernel in a reserved of memory has been
        completed.

    The crashdump code is currently slightly broken. I have attempted to
    minimize the breakage so things can quick be made to work again.

    With respect to a final design discussion there are two remaining open
    issues. The first is how little hardware shutdown we can get away with in
    the kernel that is panicing. I believe we can reduce this to a simply NMI
    to the other cpus telling them to stop. This has been address as a major
    concern in previous conversations.

    The second is an issue is the most significant with respect to the design
    of a kernel based crash dump capture implementation. How does the crashdump
    capture process discover relevant information about the kernel that just
    crashed? There are two options.

     1. As represented by the current crashdump patches the crashdump kernel
        and the kernel in which it loads are kept in sync so that it has
        uptodate versions all of crashed kernels data structures because it is
        built from the same source. So it only needs to find the address of the
        data structures it would like to look at.
     2. The relevant information if it is available when sys_kexec_load is
        called is exported to user space, or the machine_crash_shutdown method
        marshalls what little information must be captured when the machine
        dies in a well known standard format (most likely ELF notes). Allowing
        the crashdump capture process to simply pass on the information or
        utilize it as appropriate.

        If the second method can successfully represent all of the interesting
        information then we can allow kernel version skew, between the two
        kernels, and potentially implement the entire crash dump capture
        process in user space.

    As best as I have been able to discover the interesting information
    includes. The cpu state (registers) at the time of the crash/panic. The
    list of memory regions the kernel that has crashed was using. And
    potentially the list of pages dedicated to kernel data as opposed to user
    space, so the the people with insane amounts of memory (1TB+) don't require
    unmanagely large core files.

He quoted an earlier message by Andrew Morton, in which Andrew had said, "I
don't want us to be in a position of merging all that code and then finding out
that it cannot be made to work "sufficiently well", forcing us to revert it and
find a new crashdump solution. You guys know far better than I when we will
reach that threshold. If the kexec/dump developers can say "yup, this is going
to work (because X)" then I'm happy." Eric now offered:

    So here is my subjective view.

      + This code needs to sit in a development tree for a little while to
        shake out whatever bugs still linger from my massive refactoring.
      + Through the kexec patches the code and design appears to be sound.
        Given that machine_kexec is little more than a jump there are few
        possible implementations that will be able to use it. The only
        exception I can see are running special dump drivers from the kernel
        that crashed, and I believe no one thinks the that will work well.
      + Once we finish sorting out the best way to get information out of the
        kernel that crashed I think we will have a complete architecture that
        is largely portable to any architecture.

    In the interests of full disclosure my main interesting is using the kernel
    as a bootloader for other kernels and that has been working fairly for
    years now :)

He posted a couple dozen atomic patches for this. Vivek Goyal replied:

    We have started doing changes to make crashdump up and running again.
    Following are few identified items to be done.

     1. Reserve the backup region (640k) during kernel bootup.
     2. Copy the data to backup region during crash.(moved to kexec user space
        code, patch posted in separate mail)
     3. Prepare elf headers while loading kexec panic kernel and store in
        reserved memory area.
     4. Pass required information to crashdump kernel, which parses it and
        exports through /proc/vmcore. (may be user space utility, open to
        discussion)

    Following patch implements item 1) in the list. Soon we shall be rolling
    out the patches for rest.

In going over some of the implementation details, Eric found a number of
problems with Vivek's patch; for awhile it seemed the discussion would descend
into confusion, when Eric felt Vivek was only producing minimal changes in
response to Eric's design suggestions. This had not been Vivek's intention,
however, and they soon were 'back on the same page', as Eric put it. Vivek
described the new design, saying, "The whole idea is that Crash image is
represented in ELF Core format. These ELF Headers are prepared by kexec-tools
user space and put in one segment. Address of start of image is passed to the
capture kernel(or user space) using one command line (eg. crashimage=). Now
either kernel space or user space can parse the elf headers and extract
required information and export final kernel elf core image." He went on:

    If I prepare One elf header for each physical contiguous memory area (as
    obtained from /proc/iomem) instead of per zone, then number of elf headers
    will come down significantly. I don't have any idea on number of actual
    physically contiguous regions present per machine, but roughly assuming it
    to be 1 per node, it will lead to 256 + 1024 = 1280 program headers.At 56
    bytes per 64 bit program header this will amount to 70KB.

    This is worst case estimate and on lower end machines this will require
    much less a space. On machines as big as 1024 cpus, this should not be a
    concern, as big machines come with big RAMs.

    Eric, do you still think that ELF headers are inappropriate to be passed
    across interface boundary.

    ELF headers can be prepared by kexec-tools in advance and put into one of
    the data segments. This requires following information to be available to
    user space.

      + Starting address of space reserved by kernel for notes section
        (crash_notes[]). Probably can be obtained from /proc/kallsysms?
      + NR_CPUS. May be sysconf(_SC_NPROCESSORS_CONF) should be sufficient.
      + Size of memory reserved per cpu. No clue how to get that? Any
        suggestions?
        May be hard-coding like 1K area per cpu should be to address the future
        needs ?

    Regarding Backup Region

      + Kexec user space does the reservation for backup region segment.
      + Purgatory copies the backup data to backup region. (Already
        implemented)
      + A separate elf header is prepared to represent backed up memory region.
        And "offset" field of this program header can contain the actual
        physical address where backup contents are stored.

Eric had some criticisms, but felt this was a "good place to start". Itsuro Oda
asked why, in all this, the ELF format was considered necessary. Eric replied
that the ELF format itself was not necessary, but the information contained
within an ELF header was a match for the kind of information that needed to be
used here. Therefore, Eric said, it made a good match. When Koichi Suzuki
echoed Itsuro's concerns, saying, "Format conversion should be done in healthy
system separately and we should restrict what to do while taking the dump as
few as possible," Eric expanded:

    The big part of the conversation that is happening right now is how do we
    uncouple dependencies between the various parts as much as possible. There
    is nothing here about format conversions except as to convert weird kernel
    formats into a stable interface.

    There are 3 pieces of code interacting.

     1. The primary kernel that will call panic.
     2. The kernel+initrd that takes over.
     3. The user space that sets it all up (/sbin/kexec) while the primary
        kernel is still in a sane state.

    The goal is to make those 3 pieces as independent of each other as
    reasonably possible.

    So the kernel+initrd that captures a crash dump will live and execute in a
    reserved area of memory. It needs to know which memory regions are valid,
    and it needs to know small things like the final register state of each
    cpu. For the set of valid memory regions it is the intention to encode that
    as an array of ELF program headers. The information of what the final
    register contents were will be encoded as ELF notes. There will be one
    PT_NOTE segment per cpu that holds the notes needed to encode a given cpu's
    final state. It really does not matter to implementation that captures each
    cpu's final register state which format we record the data in so using a
    format designed not to change is not a problem. So all that needs to be
    communicated to the kernel+initrd that captures a crash dump is the
    location of an ELF header and it can figure out all of the rest.

    For the primary kernel except for remembering it's final cpu register state
    as it dies it does nothing except jump to the crash recover kernel. All of
    the interesting information will be exported to user space.

    /sbin/kexec is the glue that fills in the cracks. While the primary kernel
    is in a sane state it sets everything up including finding out which memory
    areas need to be looked at. And it stashes it all in a reserved area of
    memory, that has never been the target of DMA transfers.

    The goal is to reduce the dependencies as much as possible. So an old
    stable kernel can take a crash dump of a new buggy kernel. And so that you
    don't have to be running the latest and greatest user space simply to set
    everything up. Although it is still better to require a user-space upgrade
    to cope with new kernels than to require the crash capture kernel+initrd to
    be upgraded.

 

2. New scrubd Page Zeroing Daemon
Fri, 21 Jan - Tue, 8 Feb  (38 posts) Archive Link: "A scrub daemon (prezeroing)
"
People: Christoph Lameter

Christoph Lameter posted a patch that "Adds management of ZEROED and NOT_ZEROED
pages and a background daemon called scrubd." He went on:

    scrubd is disabled by default but can be enabled by writing an order number
    to /proc/sys/vm/scrub_start. If a page is coalesced of that order or higher
    then the scrub daemon will start zeroing until all pages of order /proc/sys
    /vm/scrub_stop and higher are zeroed and then go back to sleep.

    In an SMP environment the scrub daemon is typically running on the most
    idle cpu. Thus a single threaded application running on one cpu may have
    the other cpu zeroing pages for it etc. The scrub daemon is hardly
    noticable and usually finished zeroing quickly since most processors are
    optimized for linear memory filling.

    Note that this patch does not depend on any other patches but other patches
    would improve what scrubd does. The extension of clear_pages by an order
    parameter would increase the speed of zeroing and the patch introducing
    alloc_zeroed_user_highpage is necessary for user pages to be allocated from
    the pool of zeroed pages.

There was a good bit of wrangling over implementation, and later he posted an
update, saying:

    Changes from V4 to V6:

      + V5 posted as independent patches
      + copyright update in Altix BTE driver
      + Note early work on __GFP_ZERO by Andrea Arcangeli
      + Simplify Altix BTE zeroing driver and handle timeouts correctly
        (kscrubd hung once in a while).
      + Support /proc/buddyinfo
      + Make the higher order clear_page patch less invasive. Name it
        clear_pages.
      + patch against 2.6.11-rc3

    More information and a combined patchset is available at http://oss.sgi.com
    /projects/page_fault_performance.

    The most expensive operation in the page fault handler is (apart of SMP
    locking overhead) the touching of all cache lines of a page by zeroing the
    page. This zeroing means that all cachelines of the faulted page (on Altix
    that means all 128 cachelines of 128 byte each) must be handled and later
    written back. This patch allows to avoid having to use all cachelines if
    only a part of the cachelines of that page is needed immediately after the
    fault. Doing so will only be effective for sparsely accessed memory which
    is typical for anonymous memory and pte maps. Prezeroed pages will only be
    used for those purposes. Unzeroed pages will be used as usual for file
    mapping, page caching etc etc.

    The patch makes prezeroing very effective by:

     1. Appplying zeroing operations only to pages of higher order, which
        results in many pages that will later become zero order pages to be
        zeroed in one step.
     2. Hardware support for offloading zeroing from the cpu. This avoids the
        invalidation of the cpu caches by extensive zeroing operations.

    The scrub daemon is invoked when a unzeroed page of a certain order has
    been generated so that its worth running it. If no higher order pages are
    present then the logic will favor hot zeroing rather than simply shifting
    processing around. kscrubd typically runs only for a fraction of a second
    and sleeps for long periods of time even under memory benchmarking. kscrubd
    performs short bursts of zeroing when needed and tries to stay out off the
    processor as much as possible.

    The benefits of prezeroing are reduced to minimal quantities if all
    cachelines of a page are touched. Prezeroing can only be effective if the
    whole page is not immediately used after the page fault.

    The patch is composed of 3 parts:

    [1/3] clear_pages(page, order) to zero higher order pages Adds a
    clear_pages function with the ability to zero higher order pages. This
    allows the zeroing of large areas of memory without repeately invoking
    clear_page() from the page allocator, scrubd and the huge page allocator.

    [2/3] Page Zeroing Adds management of ZEROED and NOT_ZEROED pages and a
    background daemon called scrubd.

    [3/3] SGI Altix Block Transfer Engine Support Implements a driver to shift
    the zeroing off the cpu into hardware. This avoids the potential impact of
    zeroing on cpu caches.

Andrew Morton seemed interested in accepting the patch; but he required some
benchmarks showing a real improvement; and he needed the patch to adhere to
existing APIs for starting, binding, and stopping kernel threads. Christopher
started to comply, but the thread petered out.

 

3. ST M41T00 I2C RTC Chip Driver Released
Mon, 31 Jan - Fri, 04 Feb (8 posts) Archive Link: "[PATCH][I2C] ST M41T00 I2C
RTC chip driver"
People: Mark A. Greer

Mark A. Greer said:

    This patch adds support for the ST M41T00 RTC chip.

    You will likely notice that it implements a PPC-specific interface (/dev/
    rtc->drivers/char/genrtc.h->include/asm-ppc/rtc.h->this file). This was
    necessary to support a subset of ppc platforms that need to hook up the rtc
    support at runtime. If I implemented /dev/rtc directly or interfaced to
    genrtc.c directly, those platforms couldn't use this driver. Eventually, I
    hope to work on more uniform rtc support across all the processor
    architectures.

    Also, on ppc at least, the hw clock can be set from a timer interrupt if
    STA_UNSYNC is not set (e.g., ntpd is running). To handle this, a tasklet is
    used to set the clock if in_interrupt() is true.

Jean Delvare, although not intimately familiar with the hardware involved,
still offered some comments, mainly typos, naming conventions, and some memory
management advice. Mark posted an updated patch, taking all of Jean's
suggestions. Several days later, with no further replies, he asked if his patch
could be accepted for inclusion at that point. Greg KH asked if Mark could send
the patch with a proper Changlog blurb, and Mark did so. The blurb read:

    This patch adds support for the ST M41T00 I2C RTC chip.

    This rtc chip has no mechanism to freeze it's registers while being read;
    however, it will delay updating the external values of the registers for
    250ms after a register is read. To ensure that a sane time value is read,
    the driver verifies that the same registers values were read twice before
    returning.

    Also, when setting the rtc from an interrupt handler, a tasklet is used to
    provide the context required by the i2c core code.

 

4. Linux 2.6.11-rc3 Released
Wed, 2 Feb  - Fri, 04 Feb (9 posts) Archive Link: "Linux 2.6.11-rc3"
People: Linus Torvalds

Linus Torvalds announced Linux 2.6.11-rc3, saying:

    This has a number of architecture updates (mips, arm, ppc, x86-64, ia64),
    and updates ACPI, DRI, ALSA, SCSI, XFS and InfiniNand.. And a lot of small
    one-liners all over.

    I'd _really_ like to calm down for a final 2.6.11 now, so please note
    anything really important I missed, but keep the rest pending. And give
    this a good testing..

    Oh, and the automated bitkeeper mirroring to bkbits.net seems slightly
    broken right now (hasn't updated in the last 48 hours), but the tar-balls
    are all there, and the BK upating mechanism will hopefully be fixed soon.

    (I've got a few BK trees in private places, it's only the public bkbits.net
    one that hasn't gotten mirrored out yet - many other BK developers will
    know where to find my secondary trees and can pull from them instead).

 

5. FUSE Version 2.2 Released
Thu, 03 Feb (2 posts) Archive Link: "[ANNOUNCE] Filesystem in Userspace - 2.2 "
People: Miklos Szeredi, Franco Broi

Miklos Szeredi announced:

    FUSE version 2.2 is out there:

    http://sourceforge.net/project/showfiles.php?group_id=121684&package_id=
    132802&release_id=301878

    This can be used standalone or with recent -mm kernels (with the exception
    of -rc2-mm2).

    Most notable changes since 2.1:

      + Added file handle parameter to open/read/write/release. This should
        make life easier for filesystems wanting to implement stateful I/O.
      + Added compatibility to the 2.1 and to some extent to the 1.X API
      + Re-added ability to interrupt operations. This time more carefully than
        in 1.X.

    Regressions:

      + Removed shared-writable mmap support, which could deadlock the linux
        memory subsystem. This should not affect most people, but if some
        application breaks for you, I'd like to hear about it.
      + Made the readpages() operation synchronous, again for deadlock
        considerations. This can degrade performance, especially for high
        latency filesystems, since previously parallel read-ahead is now
        serialized.

    In the long run I hope to solve both problems, but neither is trivial.
    Ideas are welcome, as well as bugreports of course.

Franco Broi reported excellent success, saying, "I've just ported my filesystem
to 2.2-pre6 and was able to throw away about 300 lines of code, the filehandle
stuff is great. I was hoping to give it a thorough test and report back before
2.2 was released but you beat me to it. It just keeps getting better and
better, well done!"

 

6. Linux 2.6.11-rc3-mm1 Released
Fri, 4 Feb  - Thu, 10 Feb (59 posts) Archive Link: "2.6.11-rc3-mm1"
People: Andrew Morton, Greg KH, Laurent Riffard, Christoph Hellwig, Alexander
Viro

Andrew Morton announced Linux 2.6.11-rc3-mm1, saying:

    ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.11-rc3/
    2.6.11-rc3-mm1/

      + The bk-usb and bk-pci and bk-driver-core trees have been temporarily
        dropped from -mm, for they are not healthy at present.
      + After many months dormancy, the ieee1394 tree is back and is included
        in -mm. Anyone who has been having firewire problems please test it.

Greg KH said:

    Ok, I've cleaned up the bk-usb tree a bunch. If anyone had a previous copy
    of it, please just delete it and clone it again. It's at:

        bk://kernel.bkbits.net/gregkh/linux/usb-2.6

    and is safe for consumption.

    Andrew, can you put it back into the next -mm release?

    Oh, and below is the diffstat and changelog of the patches in it. I've also
    placed a full patch of it, against the 2.6.11-rc3-bk1 tree for those who
    don't like to use bk, or are just curious about putting this on top of the
    latest -mm release:

        kernel.org/pub/linux/kernel/people/gregkh/usb/2.6/2.6.11-rc3/
        bk-usb-2.6.11-rc3-mm1.patch (http://kernel.org/pub/linux/kernel/people/
        gregkh/usb/2.6/2.6.11-rc3/bk-usb-2.6.11-rc3-mm1.patch)

    Also, if you have sent me a USB patch that is not already in the mainline
    tree, and is not included in this big patch-bundle, please resend it, as my
    USB patch queue is now empty.

    Oops, no, I have a pending patch from Petko Manolov that didn't make it
    into here, sorry about that Petko, I'll get to that one next week.

    Next up, the bk-pci and bk-driver-core mess...

Elsewhere, Laurent Riffard reported:

    loading dm-mod module fails with this message :

        FATAL: Error inserting dm-mod (/lib/modules/2.6.11-rc3-mm1/kernel/
        drivers/md/dm-mod.ko): Device or resource busy

    The following line appears in dmesg :

        register_blkdev: failed to get major for device-mapper

    It was OK with kernel 2.6.11-rc2-mm2. Same config, did "make oldconfig".

Andrew replied:

    You've enabled CONFIG_BASE_SMALL and so the major_names[] hashtable has
    just one element. device-mapper uses dynamic major allocation, the range of
    which is limited to the size of the top-level major_names[] array. You ran
    out of slots and register_blkdev() failed.

    So for now I guess we must drop base-small-shrink-major_names-hash.patch.

    Al, that code looks rather crappy. Shouldn't we be using an idr tree or
    something?

    Also, we can never generate a major number of zero if the caller passed in
    major=0. How come?

Laurent confirmed that selecting CONFIG_BASE_FULL=y solved his problem. Close
by, Christoph Hellwig remarked, "It'd be nice to see major_names just gone
completely. It's only used for /proc/devices output, and with the infrastucture
for easily sharing majors that one is completely misleading.." Alexander Viro
replied:

    ACK. Moreover, dynamic registration of *majors* makes very little sense
    these days - about as much as setting lower limit on IP block registration
    to /12.

    IMO we should put a large part of device number space for dynamic
    allocations (current static ones barely scratch the surface - we could
    easily leave upper half and nobody'd noticed) and use e.g. buddy allocator
    within it. With allocation requests taking size of area as argument
    (rounded up to power of 2, which it normally would be anyway).

    Any objections to that? Hell, we can even have register_blkdev() without a
    fixed major calling blkdev_allocate(name, 1<<20) and then eliminate the
    callers in favour of saner-sized requests. Then kill register_blkdev()
    completely...

There was no reply to this on the list.

 

7. RelayFS Updated
Fri, 4 Feb  - Sat, 5 Feb  (9 posts) Archive Link: "[PATCH] relayfs redux, part
3"
People: Tom Zanussi

Tom Zanussi said:

    Here's the latest version of relayfs, against 2.6.10. It includes a bunch
    of cleanup and restructuring prompted by the previous round of comments,
    but the major change that people would care about would probably be the
    changes to the logging functions relay_write(), __relay_write(), and
    relay_reserve(). They've been rewritten to be more efficient, or so I hope
    - I'm sure I'll hear about how they should be improved for the next version
    in any case. ;-) Thanks to everyone who commented on the previous version.

    This is what the API currently looks like:

    rchan *relay_open(chanpath, subbuf_size, n_subbufs, flags, callbacks);
    void relay_close(chan);
    unsigned relay_write(chan, data, length);
    unsigned __relay_write(chan, data, length);
    void *relay_reserve(chan, length);
    void relay_subbufs_consumed(chan, subbufs_consumed, cpu);
    extern void relay_reset(chan);
    void relay_commit(buf, subbuf_idx, count);

    helper macros:

    relay_get_buffer(chan, cpu)
    relay_get_padding(buf, subbuf_idx)
    relay_get_commit(buf, subbuf_idx)

    callbacks:

    int subbuf_start(buf, subbuf, prev_subbuf_idx);
    int deliver(buffer, subbuf, subbuf_idx);
    int fileop_notify(buf, filp, fileop);

    As before, I've tested this code on a single proc machine using a hacked
    version of the kprobes network packet tracing module, which can be found
    here:

    http://prdownloads.sourceforge.net/dprobes/plog.tar.gz?download

    Once everyone's more or less happy with the API and implementation, I'll do
    some SMP testing and write some Documentation.

Christoph Hellwig and Andi Kleen both had nitty-gritty objections to various
lines of the patch; but neither had any serious problems with it, and Tom said
he'd incorporate all their corrections into a subsequent version.

 

8. Linux Test Project Updated
Mon, 7 Feb  (1 post) Archive Link: "[ANNOUNCE] February release of LTP"
People: Marty Ridgeway

Marty Ridgeway announced the February release of the Linux Test Project (LTP),
saying:

    LTP-20050207

      + runltp now exports $TMPDIR as a copy of $TMP, certain exceptions caused
        these to be different.
      + extra functions for LTP libs are to make these tests fail with a more
        informative message when attempts to create swap on tmpfs are made.
      + IPV6 testcase updates from David Stevens
      + Applied patch from Jacky Malcles that fixes an inconsistency regarding
        synchronization.
      + Make proc01 skip kcore
      + Fix gives an hint to the probable solution if capset01 test fails
      + Fix for race conditions in synchronization between children and parent
        on fcntl15.
      + Applied patch from Jacky Malcles to allow test to run on ia64.
      + The test llseek sets RLIMIT_FSIZE to a small number, this fix to
        restore it to its original value.
      + Fix IPV6 Makefile install path problem

 

9. New Marvell MV64xxx I2C Driver
Tue, 08 Feb - Wed, 09 Feb (5 posts) Archive Link: "[PATCH][I2C] Marvell mv64xxx
i2c driver"
People: Mark A. Greer

Mark A. Greer said:

    Marvell makes a line of host bridge for PPC and MIPS systems. On those
    bridges is an i2c controller. This patch adds the driver for that i2c
    controller.

    Please apply.

    Depends on patch submitted by Jean Delvare: http://archives.andrew.net.au/
    lm-sensors/msg29405.html

Bartlomiej Zolnierkiewicz offered some minor fixes and criticisms of the patch,
and Mark went through several patch iterations with him.

 

 

 

 

 

 

                       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.