commit 916941b2bfd9c4a8b66855f198ae16c3f51ef570
Merge: fbf4d7f... 413c239...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu May 29 21:29:39 2008 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
      driver-core: prepare for 2.6.27 api change by adding dev_set_name

commit fbf4d7ffda0398e8b20aa8b34ca751bf946699ef
Merge: 4bd2797... bb7e698...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu May 29 21:27:53 2008 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
      Revert "USB: EHCI: fix performance regression"
      USB: fsl_usb2_udc: fix recursive lock
      USB: usb-serial: option: Don't match Huawei driver CD images
      USB: pl2303: another product ID
      USB: add another scanner quirk
      USB: Add support for ROKR W5 in unusual_devs.h
      USB: Fix M600i unusual_devs entry
      USB: usb-storage: unusual_devs update for Cypress ATACB
      USB: EHCI: fix performance regression
      USB: EHCI: fix bug in Iso scheduling
      USB: EHCI: fix remote-wakeup regression
      USB: EHCI: suppress unwanted error messages
      USB: EHCI: fix up root-hub TT mess
      USB: add all configs to the "descriptors" attribute
      USB: fix possible deadlock involving sysfs attributes
      USB: Firmware loader driver for USB Apple iSight camera
      USB: FTDI_SIO : Add support for Matrix Orbital PID Range

commit 413c239fad68258157f903b3ffd9bfcc53f5e34b
Author: Stephen Rothwell <sfr@canb.auug.org.au>
Date:   Fri May 30 10:16:40 2008 +1000

    driver-core: prepare for 2.6.27 api change by adding dev_set_name
    
    Create the dev_set_name function now so that various subsystems can
    start changing over to it before other changes in 2.6.27 will make it
    compulsory.
    
    Cc: Kay Sievers <kay.sievers@vrfy.org>
    Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit bb7e6984ecaebe6989d0e781e303469255871432
Author: Greg Kroah-Hartman <gregkh@suse.de>
Date:   Thu May 29 19:43:27 2008 -0700

    Revert "USB: EHCI: fix performance regression"
    
    This reverts commit fa38dfcc56b5f6cce787f9aaa5d1830509213802.
    
    It wasn't really a regression and David and Alan are still working
    through the issues reported.
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 185e3dead35dacb79c8cca1073fd67a26d09a0d7
Author: Li Yang <leoli@freescale.com>
Date:   Thu May 29 21:04:45 2008 +0800

    USB: fsl_usb2_udc: fix recursive lock
    
    UDC needs to release lock before calling out to gadget driver, since
    it may need to reenter.  The change fixes kernel BUG observed on rt
    kernel.
    
    > kernel BUG at kernel/rtmutex.c:683!
    > stopped custom tracer.
    > Oops: Exception in kernel mode, sig: 5 [#1]
    > PREEMPT MPC834x ITX
    > NIP: c021629c LR: c0216270 CTR: 00000000
    > REGS: df761d70 TRAP: 0700   Not tainted  (2.6.23.9-rt13)
    > MSR: 00021032 <ME,IR,DR>  CR: 28000022  XER: 00000000
    > TASK = df632080[241] 'IRQ-38' THREAD: df760000
    > GPR00: 00000001 df761e20 df632080 00000000 11111111 00000000 df761e6c
    > 00000000
    > GPR08: df761e48 00000000 df761e50 00000000 80000000 ede5cdde 1fffd000
    > 00800000
    > GPR16: ffffffff 00000000 007fff00 00000040 00000000 007ffeb0 00000000
    > 1fff8b08
    > GPR24: 00000000 00000026 00000000 df79a320 c026b2e8 c02240bc 00009032
    > df79a320
    > NIP [c021629c] rt_spin_lock_slowlock+0x9c/0x200
    > LR [c0216270] rt_spin_lock_slowlock+0x70/0x200
    > Call Trace:
    > [df761e20] [c0216270] rt_spin_lock_slowlock+0x70/0x200 (unreliable)
    > [df761e90] [c0182828] fsl_ep_disable+0xcc/0x154
    > [df761eb0] [c0184d30] eth_reset_config+0x88/0x1d0
    > [df761ed0] [c0184ec0] eth_disconnect+0x48/0x64
    > [df761ef0] [c01831a4] reset_queues+0x60/0x78
    > [df761f00] [c0183b74] fsl_udc_irq+0x9b8/0xa58
    > [df761f50] [c003ef30] handle_IRQ_event+0x64/0x100
    > [df761f80] [c003f758] thread_simple_irq+0x6c/0xc8
    > [df761fa0] [c003f888] do_irqd+0xd4/0x2e4
    > [df761fd0] [c0032284] kthread+0x50/0x8c
    > [df761ff0] [c000f9b4] kernel_thread+0x44/0x60
    
    Signed-off-by: Li Yang <leoli@freescale.com>
    Cc: Eugene T. Bordenkircher <Eugene_Bordenkircher@selinc.com>
    Acked-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit a7f3872c43b8001f01000f79583d422c6995f98d
Author: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
Date:   Wed May 28 23:58:18 2008 +0200

    USB: usb-serial: option: Don't match Huawei driver CD images
    
    Add the interface info matching to all Huawei cards, as they all also
    contain a Mass Storage Device interface (usually containing Windows
    drivers) which should not get bound by this driver.
    
    See also drivers/usb/storage/unusual_devs.h
    
    Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 4be2fa186d54758296d30c565d7b5111dd45b000
Author: Steve Murphy <steve@gnusis.org>
Date:   Fri May 23 23:39:05 2008 +0530

    USB: pl2303: another product ID
    
    I've just got a USB GPRS/EDGE modem branded Manufacturer Micromax Model
    MMX610U (see http://www.airtel.in/level2_t3data.aspx?path=1/106/179)
    working by adding another product ID to pl2303.  Modem info reports same
    module as  Max Arnold's i.e.SIMCOM SIM600  but  with product ID 0x0612
    (cf Ox0611).
    
    From: Steve Murphy <steve@gnusis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 598eff6d2f3b8805232edc5f4a6b0c1e698dc482
Author: René Rebe <rene@exactcode.de>
Date:   Tue May 27 09:05:46 2008 +0200

    USB: add another scanner quirk
    
    Like the HP53{00,70} scanner other devices of the OEM Avision require
    the USB_QUIRK_STRING_FETCH_255 to correct set a configuration with
    "recent" Linux kernels.
    
    Signed-off-by: René Rebe <rene@exactcode.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 2a8bc9e7cfb1761a62ea897b407ea13ec887fd0c
Author: Javier Smaldone <javier@smaldone.com.ar>
Date:   Mon May 26 21:44:00 2008 +0200

    USB: Add support for ROKR W5 in unusual_devs.h
    
    This patch adds support for rev 2 of an existing unusual_devs entry
    enabling ROKR W5s to work. Greg, please apply.
    
    From: Javier Smaldone <javier@smaldone.com.ar>
    Signed-off-by: Phil Dibowitz <phil@ipom.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit c5f23b0e08d84f4efc20dece04d7b6796dcc6774
Author: Phil Dibowitz <phil@ipom.com>
Date:   Mon May 26 21:33:58 2008 +0200

    USB: Fix M600i unusual_devs entry
    
    It turns out that the unusual_devs entry for the Motorola M600i needs
    another flag. This patch adds it. Thanks to Atte André Jensen
    <atte@ballbreaker.dk>.
    
    Signed-off-by: Phil Dibowitz <phil@ipom.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit c7257bd2ecb7b4cc42f9f152c7c059258d434169
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Wed May 21 13:53:01 2008 -0400

    USB: usb-storage: unusual_devs update for Cypress ATACB
    
    This patch (as1101) updates the unusual_devs entry for the Cypress
    ATACB pass-through.  The protocol field is changed from US_PR_BULK to
    US_PR_DEVICE, since the Cypress devices already set bInterfaceProtocol
    to Bulk-only.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit fa38dfcc56b5f6cce787f9aaa5d1830509213802
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue May 20 16:59:33 2008 -0400

    USB: EHCI: fix performance regression
    
    This patch (as1099) fixes a performance regression in ehci-hcd.  The
    fundamental problem is that queue headers get removed from the
    schedule too quickly, since the code checks for a counter advancing
    rather than making an actual time-based check.  The latency involved
    in removing the queue header and then relinking it can severely
    degrade certain kinds of workloads.
    
    The patch replaces a simple counter with a timestamp derived from the
    controller's uframe value.  In addition, the delay for unlinking an
    idle queue header is increased from 5 ms to 10 ms; since some
    controllers (nVidia) have a latency of up to 1 ms for unlinking, this
    reduces the relative impact from 20% to 10%.
    
    Finally, a logical error left over from the IAA watchdog-timer
    conversion is corrected.  Now the driver will always either unlink an
    idle queue header or set up a timer to unlink it later.  The old code
    would sometimes fail to do either.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Cc: David Brownell <david-b@pacbell.net>
    Cc: Leonid <leonidv11@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit b40e43fcc532fa44a375a37d592e32cd0d50fe7a
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue May 20 16:59:10 2008 -0400

    USB: EHCI: fix bug in Iso scheduling
    
    This patch (as1098) changes the way ehci-hcd schedules its periodic
    Iso transfers.  That the current scheduling code is wrong is clear on
    the face of it: Sometimes it returns -EL2NSYNC (meaning that an URB
    couldn't be scheduled because it was submitted too late), but it does
    this even when the URB_ISO_ASAP flag is set (meaning the URB should be
    scheduled as soon as possible).
    
    The new code properly implements as-soon-as-possible scheduling,
    assigning the next unexpired slot as the URB's starting point.  It
    also is more careful about checking for Iso URB completion: It doesn't
    bother to check for activity during frames that are already over,
    and it allows for the possibility that some of the URB's packets may
    have raced the hardware when they were submitted and so never got used
    (the packet status is set to -EXDEV).
    
    This fixes problems several people have experienced with USB video
    applications.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Acked-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit d1f114d12bb4db3147e1b1342ae31083c5a79c84
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue May 20 16:58:58 2008 -0400

    USB: EHCI: fix remote-wakeup regression
    
    This patch (as1097) fixes a bug in the remote-wakeup handling in
    ehci-hcd.  The driver currently does not keep track of whether the
    change-suspend feature is enabled for each port; the feature is
    automatically reset the first time it is read.  But recent changes to
    the hub driver require that the feature be read at least twice in
    order to work properly.
    
    A bit-vector is added for storing the change-suspend feature values.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Acked-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 3a31155cfff0935e4b178f3dca733d2d60d2eb8d
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue May 20 16:58:29 2008 -0400

    USB: EHCI: suppress unwanted error messages
    
    This patch (as1096) fixes an annoying problem: When a full-speed or
    low-speed device is plugged into an EHCI controller, it fails to
    enumerate at high speed and then is handed over to the companion
    controller.  But usbcore logs a misleading and unwanted error message
    when the high-speed enumeration fails.
    
    The patch adds a new HCD method, port_handed_over, which asks whether
    a port has been handed over to a companion controller.  If it has, the
    error message is suppressed.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    CC: David Brownell <david-b@pacbell.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit a8e5177583e975fc1f7c621c93956f494df9b979
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue May 20 16:58:11 2008 -0400

    USB: EHCI: fix up root-hub TT mess
    
    This patch (as1095) cleans up the HCD glue and several of the EHCI
    bus-glue files.  The ehci->is_tdi_rh_tt flag is redundant, since it
    means the same thing as the hcd->has_tt flag, so it is removed and the
    other flag used in its place.
    
    Some of the bus-glue files didn't get the relinquish_port method added
    to their hc_driver structures.  Although that routine currently
    doesn't do anything for controllers with an integrated TT, in the
    future it might.  So the patch adds it where it is missing.
    
    Lastly, some of the bus-glue files have erroneous entries for their
    hc_driver's suspend and resume methods.  These method pointers are
    specific to PCI and shouldn't be used otherwise.
    
    (The patch also includes an invisible whitespace fix.)
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Acked-by: David Brownell <dbrownell@users.sourceforge.net>

commit 217a9081d8e69026186067711131b77f0ce219ed
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue May 20 16:40:42 2008 -0400

    USB: add all configs to the "descriptors" attribute
    
    This patch (as1094) changes the output of the "descriptors" binary
    attribute.  Now it will contain the device descriptor followed by all
    the configuration descriptors, not just the descriptor for the current
    config.
    
    Userspace libraries want to have access to the kernel's cached
    descriptor information, so they can learn about device characteristics
    without having to wake up suspended devices.  So far the only user of
    this attribute is the new libusb-1.0 library; thus changing its
    contents shouldn't cause any problems.
    
    This should be considered for 2.6.26, if for no other reason than to
    minimize the range of releases in which the attribute contains only the
    current config descriptor.
    
    Also, it doesn't hurt that the patch removes the device locking --
    which was formerly needed in order to know for certain which config was
    indeed current.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit e16362a0c8d90e9adbfe477acbe32b021823fb22
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue May 20 16:37:34 2008 -0400

    USB: fix possible deadlock involving sysfs attributes
    
    There is a potential deadlock when the usb_generic driver is unbound
    from a device.  The problem is that generic_disconnect() is called
    with the device lock held, and it removes a bunch of device attributes
    from sysfs.  If a user task happens to be running an attribute method
    at the time, the removal will block until the method returns.  But at
    least one of the attribute methods (the store routine for power/level)
    needs to acquire the device lock!
    
    This patch (as1093) eliminates the deadlock by moving the calls to
    create and remove the sysfs attributes from the usb_generic driver
    into usb_new_device() and usb_disconnect(), where they can be invoked
    without holding the device lock.
    
    Besides, the other sysfs attributes are created when the device is
    registered and removed when the device is unregistered.  So it seems
    only fitting for the extra attributes to be created and removed at the
    same time.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 62d104d0deeabd4148e49eba729d963e740e205f
Author: Matthew Garrett <mjg59@srcf.ucam.org>
Date:   Tue May 20 20:06:28 2008 +0100

    USB: Firmware loader driver for USB Apple iSight camera
    
    Uninitialised Apple iSight drivers present with a distinctive USB ID.
    Once firmware has been uploaded, they disconnect and reconnect with a
    new ID. At this point they can be driven by the uvcvideo driver. As this
    is unique to the Apple cameras and not functionality shared by any other
    UVC devices, it makes sense to provide the firmware loading
    functionality in a separate driver. This driver will read an isight.fw
    file extracted from the Apple driver using the tools at
    http://bersace03.free.fr/ift/ and upload it to the camera. It will also
    handle the case where the device loses its firmware during hibernation
    and must have it reloaded.
    
    Signed-off-by: Matthew Garrett <mjg@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit ebb3770c01a8afd049e3e91b0a026dcdfcb2da9f
Author: Ray Molenkamp <rmolenkamp@matrixorbital.ca>
Date:   Wed May 21 17:06:26 2008 -0600

    USB: FTDI_SIO : Add support for Matrix Orbital PID Range
    
    This patch adds support for the range of PIDs
    that have been allocated for FTDI based devices
    at Matrix Orbital.
    
    A small number of units have been shipped early 2008
    with a faulty USB Descriptor.  Products that may have
    this issue have been marked with the existing quirk to
    work around the problem.
    
    Signed-off-by: R. Molenkamp <rmolenkamp@matrixorbital.ca>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

commit 4bd27972e2c35b1e9e672ff05e0a781644f9c905
Merge: a7f75d3... dca0261...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu May 29 10:04:54 2008 -0700

    Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
    
    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
      [CPUFREQ] fix double unlock of cpu_policy_rwsem in drivers/cpufreq/cpufreq.c

commit a7f75d3bed2871655d9806c62a5d6f46552b9a4a
Merge: 3897b82... 6715930...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu May 29 09:26:17 2008 -0700

    Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
    
    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      sched: re-tune NUMA topologies
      sched: stop wake_affine from causing serious imbalance
      sched: fix sched_clock_cpu()
      revert ("sched: fair-group: SMP-nice for group scheduling")
      sched: cleanup
      show_schedstat(): fix memleak
      sched: unite unlikely pairs in rt_policy() and schedule_debug()
      revert ("sched: fair: weight calculations")

commit dca026139317dcbc642a30320d551f559692182f
Author: Lothar Waßmann <LW@KARO-electronics.de>
Date:   Thu May 29 17:54:52 2008 +0200

    [CPUFREQ] fix double unlock of cpu_policy_rwsem in drivers/cpufreq/cpufreq.c
    
    In drivers/cpufreq/cpufreq.c the function cpufreq_add_dev() takes the
    error exit 'err_out_unregister' from different places once with the
    'cpu_policy_rwsem' lock held, once with the lock released:
    |		if (ret)
    |			goto err_out_unregister;
    |	}
    |
    |	policy->governor = NULL; /* to assure that the starting sequence is
    |				  * run in cpufreq_set_policy */
    |
    |	/* set default policy */
    |	ret = __cpufreq_set_policy(policy, &new_policy);
    |	policy->user_policy.policy = policy->policy;
    |	policy->user_policy.governor = policy->governor;
    |
    |	unlock_policy_rwsem_write(cpu);
    |
    |	if (ret) {
    |		dprintk("setting policy failed\n");
    |		goto err_out_unregister;
    |	}
    
    This leads to the following error message in case of a failing
    __cpufreq_set_policy() call:
    =====================================
    [ BUG: bad unlock balance detected! ]
    -------------------------------------
    swapper/1 is trying to release lock (&per_cpu(cpu_policy_rwsem, cpu)) at:
    [<c01b4564>] unlock_policy_rwsem_write+0x30/0x40
    but there are no more locks to release!
    
    other info that might help us debug this:
    1 lock held by swapper/1:
     #0:  (sysdev_drivers_lock){--..}, at: [<c018fd18>] sysdev_driver_register+0x74/0x130
    
    stack backtrace:
    [<c002f588>] (dump_stack+0x0/0x14) from [<c00692fc>] (print_unlock_inbalance_bug+0xc8/0x104)
    [<c0069234>] (print_unlock_inbalance_bug+0x0/0x104) from [<c006b7ac>] (lock_release_non_nested+0xc4/0x19c)
     r6:00000028 r5:c3c1ab80 r4:c01b4564
    [<c006b6e8>] (lock_release_non_nested+0x0/0x19c) from [<c006b9e0>] (lock_release+0x15c/0x18c)
     r8:60000013 r7:00000001 r6:c01b4564 r5:c0541bb4 r4:c3c1ab80
    [<c006b884>] (lock_release+0x0/0x18c) from [<c0061ba0>] (up_write+0x24/0x30)
     r8:c0541b80 r7:00000000 r6:ffffffea r5:c3c34828 r4:c0541b8c
    [<c0061b7c>] (up_write+0x0/0x30) from [<c01b4564>] (unlock_policy_rwsem_write+0x30/0x40)
     r4:c3c34884
    [<c01b4534>] (unlock_policy_rwsem_write+0x0/0x40) from [<c01b4c40>] (cpufreq_add_dev+0x324/0x398)
    [<c01b491c>] (cpufreq_add_dev+0x0/0x398) from [<c018fd64>] (sysdev_driver_register+0xc0/0x130)
    [<c018fca4>] (sysdev_driver_register+0x0/0x130) from [<c01b3574>] (cpufreq_register_driver+0xbc/0x174)
    
    Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
    Signed-off-by: Dave Jones <davej@redhat.com>

commit 6715930654e06c4d2e66e718ea159079f71838f4
Merge: ea3f01f... e490517...
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu May 29 16:05:05 2008 +0200

    Merge commit 'linus/master' into sched-fixes-for-linus

commit ea3f01f8afd3bc5daff915cc4ea5cc5ea9e7d427
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu May 29 14:32:23 2008 +0200

    sched: re-tune NUMA topologies
    
    improve the sysbench ramp-up phase and its peak throughput on
    a 16way NUMA box, by turning on WAKE_AFFINE:
    
                 tip/sched   tip/sched+wake-affine
    -------------------------------------------------
        1:             700              830    +15.65%
        2:            1465             1391    -5.28%
        4:            3017             3105    +2.81%
        8:            5100             6021    +15.30%
       16:           10725            10745    +0.19%
       32:           10135            10150    +0.16%
       64:            9338             9240    -1.06%
      128:            8599             8252    -4.21%
      256:            8475             8144    -4.07%
    -------------------------------------------------
      SUM:           57558            57882    +0.56%
    
    this change also improves lat_ctx from 6.69 usecs to 1.11 usec:
    
      $ ./lat_ctx -s 0 2
      "size=0k ovr=1.19
      2 1.11
    
      $ ./lat_ctx -s 0 2
      "size=0k ovr=1.22
      2 6.69
    
    in sysbench it's an overall win with some weakness at the lots-of-clients
    side. That happens because we now under-balance this workload
    a bit. To counter that effect, turn on NEWIDLE:
    
                  wake-idle          wake-idle+newidle
     -------------------------------------------------
         1:             830              834    +0.43%
         2:            1391             1401    +0.65%
         4:            3105             3091    -0.43%
         8:            6021             6046    +0.42%
        16:           10745            10736    -0.08%
        32:           10150            10206    +0.55%
        64:            9240             9533    +3.08%
       128:            8252             8355    +1.24%
       256:            8144             8384    +2.87%
     -------------------------------------------------
       SUM:           57882            58591    +1.21%
    
    as a bonus this not only improves the many-clients case but
    also improves the (more important) rampup phase.
    
    sysbench is a workload that quickly breaks down if the
    scheduler over-balances, so since it showed an improvement
    under NEWIDLE this change is definitely good.

commit b3137bc8e77962a8e3b4dfdc1bcfd38e437bd278
Author: Mike Galbraith <efault@gmx.de>
Date:   Thu May 29 11:11:41 2008 +0200

    sched: stop wake_affine from causing serious imbalance
    
    Prevent short-running wakers of short-running threads from overloading a single
    cpu via wakeup affinity, and wire up disconnected debug option.
    
    Signed-off-by: Mike Galbraith <efault@gmx.de>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit a381759d6ad5c5dea5a981918e0b4493e9b66ac7
Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
Date:   Thu May 29 10:07:15 2008 +0200

    sched: fix sched_clock_cpu()
    
    Make sched_clock_cpu() return 0 before it has been initialized and avoid
    corrupting its state due to doing so.
    
    This fixes the weird printk timestamp jump reported.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>

commit 6363ca57c76b7b83639ca8c83fc285fa26a7880e
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu May 29 11:28:57 2008 +0200

    revert ("sched: fair-group: SMP-nice for group scheduling")
    
    Yanmin Zhang reported:
    
    Comparing with 2.6.25, volanoMark has big regression with kernel 2.6.26-rc1.
    It's about 50% on my 8-core stoakley, 16-core tigerton, and Itanium Montecito.
    
    With bisect, I located the following patch:
    
    | 18d95a2832c1392a2d63227a7a6d433cb9f2037e is first bad commit
    | commit 18d95a2832c1392a2d63227a7a6d433cb9f2037e
    | Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
    | Date:   Sat Apr 19 19:45:00 2008 +0200
    |
    |     sched: fair-group: SMP-nice for group scheduling
    
    Revert it so that we get v2.6.25 behavior.
    
    Bisected-by: Yanmin Zhang <yanmin_zhang@linux.intel.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 4285f594f84d1f0641fc962d00e6638dec4a19c4
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri May 16 17:47:14 2008 +0200

    sched: cleanup
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit c6fba5451a84143f34056a465e72ba187fcc651c
Author: Adrian Bunk <bunk@kernel.org>
Date:   Wed May 14 16:22:59 2008 -0700

    show_schedstat(): fix memleak
    
    The Coverity checker spotted a memleak introduced by commit
    39106dcf85285e78f3b290022122c76f851379b8 (cpumask: use new cpus_scnprintf
    function).
    
    It seems the kfree() got lost between v2 and v3 of this patch...
    
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Cc: Mike Travis <travis@sgi.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 3f33a7ce9567ded582af1ab71f9802165fe12f09
Author: Roel Kluin <roel.kluin@gmail.com>
Date:   Tue May 13 23:44:11 2008 +0200

    sched: unite unlikely pairs in rt_policy() and schedule_debug()
    
    Removes obfuscation and may improve assembly.
    
    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit f9305d4a0968201b2818dbed0dc8cb0d4ee7aeb3
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu May 29 11:23:17 2008 +0200

    revert ("sched: fair: weight calculations")
    
    Yanmin Zhang reported:
    
    Comparing with kernel 2.6.25, sysbench+mysql(oltp, readonly) has many
    regressions with 2.6.26-rc1:
    
     1) 8-core stoakley: 28%;
     2) 16-core tigerton: 20%;
     3) Itanium Montvale: 50%.
    
    Bisect located this patch:
    
    | 8f1bc385cfbab474db6c27b5af1e439614f3025c is first bad commit
    | commit 8f1bc385cfbab474db6c27b5af1e439614f3025c
    | Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
    | Date:   Sat Apr 19 19:45:00 2008 +0200
    |
    |     sched: fair: weight calculations
    
    Revert it to the 2.6.25 state.
    
    Bisected-by: Yanmin Zhang <yanmin_zhang@linux.intel.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 3897b82c3586e774260d6bca56cc1efca79cd335
Merge: 0a2ce2f... 4dcc29e...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed May 28 12:58:12 2008 -0700

    Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
      [IA64] Workaround for RSE issue

commit 0a2ce2ffc358da96792d514c1024b72c52be9cc1
Author: David Howells <dhowells@redhat.com>
Date:   Wed May 28 16:49:01 2008 +0100

    Fix FRV minimum slab/kmalloc alignment
    
    > +#define	ARCH_KMALLOC_MINALIGN		(sizeof(long) * 2)
    > +#define	ARCH_SLAB_MINALIGN		(sizeof(long) * 2)
    
    This doesn't work if SLAB is selected and slab debugging is enabled as
    these are passed to the preprocessor, and the preprocessor doesn't
    understand sizeof.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit b4412323cc954bd0a2144b1c2ed573dd2eddb32c
Merge: dc1d60a... d6de8be...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed May 28 08:00:51 2008 -0700

    Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
    
    * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
      cfq-iosched: fix RCU problem in cfq_cic_lookup()
      block: make blktrace use per-cpu buffers for message notes
      Added in elevator switch message to blktrace stream
      Added in MESSAGE notes for blktraces
      block: reorder cfq_queue to save space on 64bit builds
      block: Move the second call to get_request to the end of the loop
      splice: handle try_to_release_page() failure
      splice: fix sendfile() issue with relay

commit dc1d60a014aa9614518f9856ff661716d0969ffd
Author: David Howells <dhowells@redhat.com>
Date:   Wed May 28 15:36:34 2008 +0100

    FRV: Specify the minimum slab/kmalloc alignment
    
    Specify the minimum slab/kmalloc alignment to be 8 bytes.  This fixes a
    crash when SLOB is selected as the memory allocator.  The FRV arch needs
    this so that it can use the load- and store-double instructions without
    faulting.  By default SLOB sets the minimum to be 4 bytes.
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 5e55843bb8ed1ec7d134a759c53e34beb1618952
Author: Vegard Nossum <vegard.nossum@gmail.com>
Date:   Wed May 28 13:55:24 2008 +0100

    MN10300: Fix typo in header guard
    
    Fix a typo in the header guard of asm/ipc.h.
    
    Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit d6de8be711b28049a5cb93c954722c311c7d3f7f
Author: Jens Axboe <jens.axboe@oracle.com>
Date:   Wed May 28 14:46:59 2008 +0200

    cfq-iosched: fix RCU problem in cfq_cic_lookup()
    
    cfq_cic_lookup() needs to properly protect ioc->ioc_data before
    dereferencing it and also exclude updaters of ioc->ioc_data as well.
    
    Also add a number of comments documenting why the existing RCU usage
    is OK.
    
    Thanks a lot to "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> for
    review and comments!
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 64565911cdb57c2f512a9715b985b5617402cc67
Author: Jens Axboe <jens.axboe@oracle.com>
Date:   Wed May 28 14:45:33 2008 +0200

    block: make blktrace use per-cpu buffers for message notes
    
    Currently it uses a single static char array, but that risks
    being corrupted when multiple users issue message notes at the
    same time. Make the buffers dynamically allocated when the trace
    is setup and make them per-cpu instead.
    
    The default max message size of 1k is also very large, the
    interface is mainly for small text notes. So shrink it to 128 bytes.
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 4722dc52a891ab6cb2d637ddb87233e0ce277827
Author: Alan D. Brunelle <Alan.Brunelle@hp.com>
Date:   Tue May 27 14:55:00 2008 +0200

    Added in elevator switch message to blktrace stream
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 9d5f09a424a67ddb959829894efb4c71cbf6d600
Author: Alan D. Brunelle <Alan.Brunelle@hp.com>
Date:   Tue May 27 14:54:41 2008 +0200

    Added in MESSAGE notes for blktraces
    
    Allows messages to be inserted into blktrace streams.
    
    Signed-off-by: Alan D. Brunelle <alan.brunelle@hp.com>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit be754d2c2161c0cce11d62727016985ecb76831b
Author: Richard Kennedy <richard@rsk.demon.co.uk>
Date:   Fri May 23 06:52:00 2008 +0200

    block: reorder cfq_queue to save space on 64bit builds
    
    saves 8 bytes of padding & increases objects/slab from 30 to 32 on my
    AMD64 config
    
    Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 05caf8dbc1880415df3378cfd114d832c9618b60
Author: Zhang, Yanmin <yanmin_zhang@linux.intel.com>
Date:   Thu May 22 15:13:29 2008 +0200

    block: Move the second call to get_request to the end of the loop
    
    In function get_request_wait, the second call to get_request could be
    moved to the end of the while loop, because if the first call to
    get_request fails, the second call will fail without sleep.
    
    Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit ca39d651d17df49b6d11f851d56c0ce0ce01ea1a
Author: Jens Axboe <jens.axboe@oracle.com>
Date:   Tue May 20 21:27:41 2008 +0200

    splice: handle try_to_release_page() failure
    
    splice currently assumes that try_to_release_page() always suceeds,
    but it can return failure. If it does, we cannot steal the page.
    
    Acked-by: Mingming Cao <cmm@us.ibm.com
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit a82c53a0e3f57f02782330372b7adad67b417645
Author: Tom Zanussi <zanussi@comcast.net>
Date:   Fri May 9 13:28:36 2008 +0200

    splice: fix sendfile() issue with relay
    
    Splice isn't always incrementing the ppos correctly, which broke
    relay splice.
    
    Signed-off-by: Tom Zanussi <zanussi@comcast.net>
    Tested-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

commit 1ec7d99c16e69a9ed8ffeaa6c1846025b84bebad
Merge: 3dbfd08... 9e4f2e8...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue May 27 18:47:59 2008 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
      pciehp: add message about pciehp_slot_with_bus option
      pci hotplug core: add check of duplicate slot name
      pciehp: move msleep after power off
      pciehp: poll cmd completion if hotplug interrupt is disabled
      pciehp: fix slow probing
      pciehp: fix NULL dereference in interrupt handler
      shpchp: add message about shpchp_slot_with_bus option
      PCI: don't enable ASPM on devices with mixed PCIe/PCI functions

commit 9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009
Author: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Date:   Tue May 27 19:07:33 2008 +0900

    pciehp: add message about pciehp_slot_with_bus option
    
    Some (broken?) platform assign the same slot name to multiple hotplug
    slots. On such system, slot initialization would fail because of name
    collision. The pciehp driver already have a "slot_with_bus" module
    option which adds the bus number into the slot name. This patch adds
    the message about this module option that will be displayed when slot
    name collision is detected.
    
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit a86161b3134465f072d965ca7508ec9c1e2e52c7
Author: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Date:   Tue May 27 19:07:01 2008 +0900

    pci hotplug core: add check of duplicate slot name
    
    Fix the following errors reported by Jan C. Nordholz in
    http://bugzilla.kernel.org/show_bug.cgi?id=10751.
    
    kobject_add_internal failed for 2 with -EEXIST, don't try to register things with the same name in the same directory.
    Pid: 1, comm: swapper Tainted: G        W 2.6.26-rc3 #1
     [<c0266980>] kobject_add_internal+0x140/0x190
     [<c0266afd>] kobject_init_and_add+0x2d/0x40
     [<c027bc91>] pci_hp_register+0x81/0x2f0
     [<c027fd07>] pciehp_probe+0x1a7/0x470
     [<c01b3b84>] sysfs_add_one+0x44/0xa0
     [<c01b3c1f>] sysfs_addrm_start+0x3f/0xb0
     [<c01b497a>] sysfs_create_link+0x8a/0xf0
     [<c0279570>] pcie_port_probe_service+0x50/0x80
     [<c02e0545>] driver_sysfs_add+0x55/0x70
     [<c02e0662>] driver_probe_device+0x82/0x180
     [<c02e07cc>] __driver_attach+0x6c/0x70
     [<c02dfe0a>] bus_for_each_dev+0x3a/0x60
     [<c05db2d0>] pcied_init+0x0/0x80
     [<c02e04e6>] driver_attach+0x16/0x20
     [<c02e0760>] __driver_attach+0x0/0x70
     [<c02e0341>] bus_add_driver+0x1a1/0x220
     [<c05db2d0>] pcied_init+0x0/0x80
     [<c02e09cd>] driver_register+0x4d/0x120
     [<c05db050>] ibm_acpiphp_init+0x0/0x190
     [<c0125aab>] printk+0x1b/0x20
     [<c05db2d0>] pcied_init+0x0/0x80
     [<c05db2de>] pcied_init+0xe/0x80
     [<c05c751a>] kernel_init+0x10a/0x300
     [<c0120138>] schedule_tail+0x18/0x50
     [<c0103b9a>] ret_from_fork+0x6/0x1c
     [<c05c7410>] kernel_init+0x0/0x300
     [<c05c7410>] kernel_init+0x0/0x300
     [<c010485b>] kernel_thread_helper+0x7/0x1c
     =======================
    pci_hotplug: Unable to register kobject '2'<3>pciehp: pci_hp_register failed with error -22
    
    Slot with the same name can be registered multiple times if shpchp or
    pciehp driver is loaded after acpiphp is loaded because ACPI based
    hotplug driver and Native OS hotplug driver trying to handle the same
    physical slot. In this case, current pci_hotplug core will call
    kobject_init_and_add() muliple time with the same name. This is the
    cause of this problem. To fix this problem, this patch adds the check
    into pci_hp_register() to see if the slot with the same name.
    
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit 0711c70ec0e9d2c002b1e9b5fb9f21e49d77f4fd
Author: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Date:   Tue May 27 19:06:22 2008 +0900

    pciehp: move msleep after power off
    
    According to the PCI Express specification, we must wait for at least
    1 second after turning power off before taking any action that relies
    on power having been removed from the slot/adapter. For this, current
    pciehp wait for 1 second after issuing the power off command in
    hpc_power_off_slot() function. But waiting for 1 second in
    hpc_power_off_slot() can make pciehp probing slow-down because pciehp
    probe code calls hpc_power_off_slot() if the slot is not occupied just
    in case. We don't need to wait for 1 second at the pciehp probe time
    because there is no action on that empty slot. So move 1 second wait
    from hpc_power_off_slot() to the caller of hpc_power_off_slot().
    
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit 6592e02ae4bd7b277230aa0c5821588a13b9d8e3
Author: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Date:   Tue May 27 19:05:26 2008 +0900

    pciehp: poll cmd completion if hotplug interrupt is disabled
    
    Fix improper long wait for command completion in pciehp probing.
    
    As described in PCI Express specification, software notification is
    not generated if the command that occurs as a result of a write to the
    Slot Control register that disables software notification of command
    completed events. Since pciehp driver doesn't take it into account,
    such command is issued in pciehp probing, and it causes improper long
    wait for command completion.
    
    This patch changes the pciehp driver to take such command into
    account.
    
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit 5808639bfa98d69f77a481d759570d85f164fea0
Author: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Date:   Tue May 27 19:04:30 2008 +0900

    pciehp: fix slow probing
    
    Fix the "pciehp probing slow" problem reported from Jan C. Nordholz in
    http://bugzilla.kernel.org/show_bug.cgi?id=10751.
    
    The command completed bit in Slot Status register applies only to
    commands issued to control the attention indicator, power indicator,
    power controller, or electromechanical interlock. However, writes to
    other parts of the Slot Control register would end up writing to the
    control fields. Hence, any write to Slot Control register is
    considered as a command. However, if the controller doesn't support
    any of attention indicator, power indicator, power controller and
    electromechanical interlock, command completed bit would not set in
    writing to Slot Control register. In this case, we should not wait for
    command completed bit set, otherwise all commands would be considered
    not completed in timeout seconds (1 sec.).
    
    The cause of the problem is pciehp driver didn't take this situation
    into account. This patch changes pciehp to take it into account. This
    patch also add the check for "No Command Completed Support" bit in
    Slot Capability register. If it is set, we should not wait for command
    completed bit set as well.
    
    This problem seems to be revealed by the commit
    c27fb883dffe11aa4cb35ecea1fa1832ba45d4da that fixed the bug that
    pciehp did not wait for command completed properly (pciehp just
    ignored the command completion event).
    
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit dbd79aed1aea2bece0bf43cc2ff3b2f9baf48a08
Author: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Date:   Tue May 27 19:03:16 2008 +0900

    pciehp: fix NULL dereference in interrupt handler
    
    Fix the following NULL dereference problem reported from Pierre Ossman
    and Ingo Molnar.
    
    pciehp: HPC vendor_id 8086 device_id 27d0 ss_vid 0 ss_did 0
    pciehp: pciehp_find_slot: slot (device=0x0) not found
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000070
    IP: [<ffffffff80494a8b>] pciehp_handle_presence_change+0x7e/0x113
    PGD 0
    Oops: 0000 [1]
    CPU 0
    Modules linked in:
    Pid: 1, comm: swapper Tainted: G        W 2.6.26-rc3-sched-devel.git-00001-g2b99b26-dirty #170
    RIP: 0010:[<ffffffff80494a8b>]  [<ffffffff80494a8b>] pciehp_handle_presence_change+0x7e/0x113
    RSP: 0000:ffff81003f83fbb0  EFLAGS: 00010046
    RAX: 0000000000000039 RBX: 0000000000000000 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000046
    RBP: ffff81003f83fbd0 R08: 0000000000000001 R09: ffffffff80245103
    R10: 0000000000000020 R11: 0000000000000000 R12: ffff81003ea53a30
    R13: 0000000000000000 R14: 0000000000000011 R15: ffffffff80495926
    FS:  0000000000000000(0000) GS:ffffffff80be7400(0000) knlGS:0000000000000000
    CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
    CR2: 0000000000000070 CR3: 0000000000201000 CR4: 00000000000006a0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process swapper (pid: 1, threadinfo ffff81003f83e000, task ffff81003f840000)
    Stack:  0000000000000008 ffff81003f83fbf6 ffff81003ea53a30 0000000000000008
     ffff81003f83fc10 ffffffff80495ab4 0000000000000011 0000000000000002
     0000000000000202 0000000000000202 00000000fffffff4 ffff81003ea53a30
    Call Trace:
     [<ffffffff80495ab4>] pcie_isr+0x18e/0x1bc
     [<ffffffff80260831>] request_irq+0x106/0x12f
     [<ffffffff80495fb6>] pcie_init+0x15e/0x6cc
     [<ffffffff804933a3>] pciehp_probe+0x64/0x541
     [<ffffffff8048f4e7>] pcie_port_probe_service+0x4c/0x76
     [<ffffffff8054af70>] driver_probe_device+0xd4/0x1f0
     [<ffffffff8054b108>] __driver_attach+0x7c/0x7e
     [<ffffffff8054b08c>] ? __driver_attach+0x0/0x7e
     [<ffffffff8054a4b6>] bus_for_each_dev+0x53/0x7d
     [<ffffffff8054ad3c>] driver_attach+0x1c/0x1e
     [<ffffffff8054a9c2>] bus_add_driver+0xdd/0x25b
     [<ffffffff80c09d3d>] ? pcied_init+0x0/0x8b
     [<ffffffff8054b288>] driver_register+0x5f/0x13e
     [<ffffffff80c09d3d>] ? pcied_init+0x0/0x8b
     [<ffffffff8048f441>] pcie_port_service_register+0x47/0x49
     [<ffffffff80c09d52>] pcied_init+0x15/0x8b
     [<ffffffff80bf3938>] kernel_init+0x75/0x243
     [<ffffffff808639d2>] ? _spin_unlock_irq+0x2b/0x3a
     [<ffffffff80228d1f>] ? finish_task_switch+0x57/0x9a
     [<ffffffff8020c258>] child_rip+0xa/0x12
     [<ffffffff8020bcec>] ? restore_args+0x0/0x30
     [<ffffffff80bf38c3>] ? kernel_init+0x0/0x243
     [<ffffffff8020c24e>] ? child_rip+0x0/0x12
    
    Code: 83 80 00 00 00 48 39 f0 75 e1 0f b6 c9 48 c7 c2 00 0e 8d 80 48 c7 c6 8a 60 a6 80 48 c7 c7 10 db a8 80 31 c0 e8 3f 8d d9 ff 31 db <48> 8b 43 70 48 8d 75 ef 48 89 df ff 50 30 80 7d ef 00 74 37 48
    RIP  [<ffffffff80494a8b>] pciehp_handle_presence_change+0x7e/0x113
     RSP <ffff81003f83fbb0>
    CR2: 0000000000000070
    Kernel panic - not syncing: Fatal exception
    
    The situation under which it occurs is hw and timing related: it appears
    to happen on a system that has PCI hotplug hardware but with no active
    hotplug cards, and another interrupt in the same (shared) IRQ line
    arrives too early, before the hotplug-slot entry has been set up - as
    triggered by CONFIG_DEBUG_SHIRQ=y:
    
    This patch contains the following two fixes.
    
    (1) Clear all events bits in Slot Status register to prevent the pciehp
        driver from detecting the spurious events that would have been occur
        before pciehp loading.
    
    (2) Add check whether slot initialization had been already done.
    
    This is short term fix. We need more structural fixes to install
    interrupt handler after slot initialization is done.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit b3bd307c628af2f0a581c42d5d7e4bcdbbf64b6a
Author: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Date:   Tue May 27 19:08:23 2008 +0900

    shpchp: add message about shpchp_slot_with_bus option
    
    Some (broken?) platform assign the same slot name to multiple hotplug
    slots. On such system, slot initialization would fail because of name
    collision. The shpchp driver already have a "slot_with_bus" module
    option which adds the bus number into the slot name. This patch adds
    the message about this module option that will be displayed when slot
    name collision is detected.
    
    Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
    Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

commit 4dcc29e1574d88f4465ba865ed82800032f76418
Author: Tony Luck <tony.luck@intel.com>
Date:   Tue May 27 13:23:16 2008 -0700

    [IA64] Workaround for RSE issue
    
    Problem: An application violating the architectural rules regarding
    operation dependencies and having specific Register Stack Engine (RSE)
    state at the time of the violation, may result in an illegal operation
    fault and invalid RSE state.  Such faults may initiate a cascade of
    repeated illegal operation faults within OS interruption handlers.
    The specific behavior is OS dependent.
    
    Implication: An application causing an illegal operation fault with
    specific RSE state may result in a series of illegal operation faults
    and an eventual OS stack overflow condition.
    
    Workaround: OS interruption handlers that switch to kernel backing
    store implement a check for invalid RSE state to avoid the series
    of illegal operation faults.
    
    The core of the workaround is the RSE_WORKAROUND code sequence
    inserted into each invocation of the SAVE_MIN_WITH_COVER and
    SAVE_MIN_WITH_COVER_R19 macros.  This sequence includes hard-coded
    constants that depend on the number of stacked physical registers
    being 96.  The rest of this patch consists of code to disable this
    workaround should this not be the case (with the presumption that
    if a future Itanium processor increases the number of registers, it
    would also remove the need for this patch).
    
    Move the start of the RBS up to a mod32 boundary to avoid some
    corner cases.
    
    The dispatch_illegal_op_fault code outgrew the spot it was
    squatting in when built with this patch and CONFIG_VIRT_CPU_ACCOUNTING=y
    Move it out to the end of the ivt.
    
    Signed-off-by: Tony Luck <tony.luck@intel.com>

commit 3dbfd0801bbbaf2800d7497d83d743a614430e82
Merge: edb2301... f04d264...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue May 27 08:27:20 2008 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
      avr32: Fix cpufreq oops when ondemand governor is default
      avr32: Update defconfigs
      avr32: export strnlen_user
      avr32: export copy_page

commit edb2301f2903e96beadc333f9584222c05858518
Author: David Woodhouse <dwmw2@infradead.org>
Date:   Tue May 27 06:31:43 2008 +0100

    ck804rom: fix driver_data in probe table.
    
    There's a reason why using C99 initialisers even in the supposedly
    trivial structs is a good idea.
    
    Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
    Signed-off-by: David Woodhouse <dwmw2@infradead.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit f04d264afc51acdffeba9cdf3baf04116687680c
Author: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Date:   Tue May 27 09:37:42 2008 +0200

    avr32: Fix cpufreq oops when ondemand governor is default
    
    Move the AP7 cpufreq init to late_initcall() so that we don't try to
    bring up cpufreq until the governor is ready. x86 also uses
    late_initcall() for this.
    
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>

commit d56acacdcd370c0077821a012607876cb11b1b3b
Author: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Date:   Mon May 26 13:25:05 2008 +0200

    avr32: Update defconfigs
    
    Just provide reasonable defaults for the new stuff. Tickless and
    hrtimers are turned on for all boards except ATSTK1004.
    
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>

commit 01575995de4289aa73aa7cb22cf8fe0461093589
Author: Adrian Bunk <bunk@kernel.org>
Date:   Thu May 22 01:01:38 2008 +0300

    avr32: export strnlen_user
    
    This patch fixes the following build error:
    
    <--  snip  -->
    
    ...
      MODPOST 1327 modules
    ERROR: "strnlen_user" [drivers/input/misc/uinput.ko] undefined!
    ...
    make[2]: *** [__modpost] Error 1
    
    <--  snip  -->
    
    Reported-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>

commit a0ed3d8d94b6a28c886cf9c023693afa3bb773f2
Author: Adrian Bunk <bunk@kernel.org>
Date:   Mon May 5 21:29:57 2008 +0300

    avr32: export copy_page
    
    This patch fixes the following build error:
    
    <--  snip  -->
    
    ...
      MODPOST 61 modules
    ERROR: "copy_page" [fs/fuse/fuse.ko] undefined!
    ...
    make[2]: *** [__modpost] Error 1
    
    <--  snip  -->
    
    Also add an empty line since *_page aren't "String functions".
    
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>

commit ddc9753fcddfe5f9885dc133824962c047252b43
Author: Shaohua Li <shaohua.li@intel.com>
Date:   Wed May 21 16:58:40 2008 +0800

    PCI: don't enable ASPM on devices with mixed PCIe/PCI functions
    
    The Slot 03:00.* of JMicron controller has two functions, but one is
    PCIE endpoint the other isn't PCIE device, very strange. PCIE spec
    defines all functions should have the same config for ASPM, so disable
    ASPM for the whole slot in this case.
    
    Signed-off-by: Shaohua Li <shaohua.li@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>