14 Apr, 2011

5 commits

  • In preparation of calling select_task_rq() without rq->lock held, drop
    the dependency on the rq argument.

    Reviewed-by: Frank Rowand
    Signed-off-by: Peter Zijlstra
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/20110405152729.031077745@chello.nl
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Provide a generic p->on_rq because the p->se.on_rq semantics are
    unfavourable for lockless wakeups but needed for sched_fair.

    In particular, p->on_rq is only cleared when we actually dequeue the
    task in schedule() and not on any random dequeue as done by things
    like __migrate_task() and __sched_setscheduler().

    This also allows us to remove p->se usage from !sched_fair code.

    Reviewed-by: Frank Rowand
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20110405152728.949545047@chello.nl

    Peter Zijlstra
     
  • Since we now have p->on_cpu unconditionally available, use it to
    re-implement mutex_spin_on_owner.

    Requested-by: Thomas Gleixner
    Reviewed-by: Frank Rowand
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20110405152728.826338173@chello.nl

    Peter Zijlstra
     
  • Always provide p->on_cpu so that we can determine if its on a cpu
    without having to lock the rq.

    Reviewed-by: Frank Rowand
    Signed-off-by: Peter Zijlstra
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/20110405152728.785452014@chello.nl
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • For future rework of try_to_wake_up() we'd like to push part of that
    function onto the CPU the task is actually going to run on.

    In order to do so we need a generic callback from the existing scheduler IPI.

    This patch introduces such a generic callback: scheduler_ipi() and
    implements it as a NOP.

    BenH notes: PowerPC might use this IPI on offline CPUs under rare conditions!

    Acked-by: Russell King
    Acked-by: Martin Schwidefsky
    Acked-by: Chris Metcalf
    Acked-by: Jesper Nilsson
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Ralf Baechle
    Reviewed-by: Frank Rowand
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20110405152728.744338123@chello.nl

    Peter Zijlstra
     

13 Apr, 2011

4 commits


12 Apr, 2011

2 commits

  • In order for MFD drivers to fetch their cell pointer but also their
    platform data one, an mfd cell pointer is added to the platform_device
    structure.
    That allows all MFD sub devices drivers to be MFD agnostic, unless
    they really need to access their MFD cell data. Most of them don't,
    especially the ones for IPs used by both MFD and non MFD SoCs.

    Cc: Grant Likely
    Acked-by: Greg KH
    Signed-off-by: Samuel Ortiz

    Samuel Ortiz
     
  • Xen save/restore is going to use hibernate device callbacks for
    quiescing devices and putting them back to normal operations and it
    would need to select CONFIG_HIBERNATION for this purpose. However,
    that also would cause the hibernate interfaces for user space to be
    enabled, which might confuse user space, because the Xen kernels
    don't support hibernation. Moreover, it would be wasteful, as it
    would make the Xen kernels include a substantial amount of code that
    they would never use.

    To address this issue introduce new power management Kconfig option
    CONFIG_HIBERNATE_CALLBACKS, such that it will only select the code
    that is necessary for the hibernate device callbacks to work and make
    CONFIG_HIBERNATION select it. Then, Xen save/restore will be able to
    select CONFIG_HIBERNATE_CALLBACKS without dragging the entire
    hibernate code along with it.

    Signed-off-by: Rafael J. Wysocki
    Tested-by: Shriram Rajagopalan

    Rafael J. Wysocki
     

11 Apr, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)
    net: Add support for SMSC LAN9530, LAN9730 and LAN89530
    mlx4_en: Restoring RX buffer pointer in case of failure
    mlx4: Sensing link type at device initialization
    ipv4: Fix "Set rt->rt_iif more sanely on output routes."
    MAINTAINERS: add entry for Xen network backend
    be2net: Fix suspend/resume operation
    be2net: Rename some struct members for clarity
    pppoe: drop PPPOX_ZOMBIEs in pppoe_flush_dev
    dsa/mv88e6131: add support for mv88e6085 switch
    ipv6: Enable RFS sk_rxhash tracking for ipv6 sockets (v2)
    be2net: Fix a potential crash during shutdown.
    bna: Fix for handling firmware heartbeat failure
    can: mcp251x: Allow pass IRQ flags through platform data.
    smsc911x: fix mac_lock acquision before calling smsc911x_mac_read
    iwlwifi: accept EEPROM version 0x423 for iwl6000
    rt2x00: fix cancelling uninitialized work
    rtlwifi: Fix some warnings/bugs
    p54usb: IDs for two new devices
    wl12xx: fix potential buffer overflow in testmode nvs push
    zd1211rw: reset rx idle timer from tasklet
    ...

    Linus Torvalds
     

08 Apr, 2011

2 commits


07 Apr, 2011

2 commits


06 Apr, 2011

6 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block:
    ide: always ensure that blk_delay_queue() is called if we have pending IO
    block: fix request sorting at unplug
    dm: improve block integrity support
    fs: export empty_aops
    ide: ide_requeue_and_plug() reinstate "always plug" behaviour
    blk-throttle: don't call xchg on bool
    ufs: remove unessecary blk_flush_plug
    block: make the flush insertion use the tail of the dispatch list
    block: get rid of elv_insert() interface
    block: dump request state on seeing a corrupted request completion

    Linus Torvalds
     
  • The current block integrity (DIF/DIX) support in DM is verifying that
    all devices' integrity profiles match during DM device resume (which
    is past the point of no return). To some degree that is unavoidable
    (stacked DM devices force this late checking). But for most DM
    devices (which aren't stacking on other DM devices) the ideal time to
    verify all integrity profiles match is during table load.

    Introduce the notion of an "initialized" integrity profile: a profile
    that was blk_integrity_register()'d with a non-NULL 'blk_integrity'
    template. Add blk_integrity_is_initialized() to allow checking if a
    profile was initialized.

    Update DM integrity support to:
    - check all devices with _initialized_ integrity profiles match
    during table load; uninitialized profiles (e.g. for underlying DM
    device(s) of a stacked DM device) are ignored.
    - disallow a table load that would result in an integrity profile that
    conflicts with a DM device's existing (in-use) integrity profile
    - avoid clearing an existing integrity profile
    - validate all integrity profiles match during resume; but if they
    don't all we can do is report the mismatch (during resume we're past
    the point of no return)

    Signed-off-by: Mike Snitzer
    Cc: Martin K. Petersen
    Signed-off-by: Jens Axboe

    Mike Snitzer
     
  • With the ->sync_page() hook gone, we have a few users that
    add their own static address_space_operations without any
    functions defined.

    fs/inode.c already has an empty_aops that it uses for init
    purposes. Lets export that and use it in the places where
    an otherwise empty aops was defined.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Merge it with __elv_add_request(), it's pretty pointless to
    have a function with only two callers. The main interface
    is elv_add_request()/__elv_add_request().

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • David S. Miller
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
    ipv6: Don't pass invalid dst_entry pointer to dst_release().
    mlx4: fix kfree on error path in new_steering_entry()
    tcp: len check is unnecessarily devastating, change to WARN_ON
    sctp: malloc enough room for asconf-ack chunk
    sctp: fix auth_hmacs field's length of struct sctp_cookie
    net: Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM
    usbnet: use eth%d name for known ethernet devices
    starfire: clean up dma_addr_t size test
    iwlegacy: fix bugs in change_interface
    carl9170: Fix tx aggregation problems with some clients
    iwl3945: disable hw scan by default
    wireless: rt2x00: rt2800usb.c add and identify ids
    iwl3945: do not deprecate software scan
    mac80211: fix aggregation frame release during timeout
    cfg80211: fix BSS double-unlinking (continued)
    cfg80211:: fix possible NULL pointer dereference
    mac80211: fix possible NULL pointer dereference
    mac80211: fix NULL pointer dereference in ieee80211_key_alloc()
    ath9k: fix a chip wakeup related crash in ath9k_start
    mac80211: fix a crash in minstrel_ht in HT mode with no supported MCS rates
    ...

    Linus Torvalds
     

05 Apr, 2011

4 commits


04 Apr, 2011

7 commits


02 Apr, 2011

6 commits

  • auth_hmacs field of struct sctp_cookie is used for store
    Requested HMAC Algorithm Parameter, and each HMAC Identifier
    is 2 bytes, so the length should be:
    SCTP_AUTH_NUM_HMACS * sizeof(__u16) + 2

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • dev_ethtool_get_rx_csum() won't report rx checksumming when it's not
    changeable and driver is converted to hw_features and friends. Fix this.

    (dev->hw_features & NETIF_F_RXCSUM) check is dropped - if the
    ethtool_ops->get_rx_csum is set, then driver is not coverted, yet.

    Signed-off-by: Michał Mirosław
    Signed-off-by: David S. Miller

    Michał Mirosław
     
  • The documentation for the USB ethernet devices suggests that
    only some devices are supposed to use usb0 as the network interface
    name instead of eth0. The logic used there, and documented in
    Kconfig for CDC is that eth0 will be used when the mac address
    is a globally assigned one, but usb0 is used for the locally
    managed range that is typically used on point-to-point links.

    Unfortunately, this has caused a lot of pain on the smsc95xx
    device that is used on the popular pandaboard without an
    EEPROM to store the MAC address, which causes the driver to
    call random_ether_address().

    Obviously, there should be a proper MAC addressed assigned to
    the device, and discussions are ongoing about how to solve
    this, but this patch at least makes sure that the default
    interface naming gets a little saner and matches what the
    user can expect based on the documentation, including for
    new devices.

    The approach taken here is to flag whether a device might be a
    point-to-point link with the new FLAG_POINTTOPOINT setting in
    the usbnet driver_info. A driver can set both FLAG_POINTTOPOINT
    and FLAG_ETHER if it is not sure (e.g. cdc_ether), or just one
    of the two. The usbnet framework only looks at the MAC address
    for device naming if both flags are set, otherwise it trusts the
    flag.

    Signed-off-by: Arnd Bergmann
    Tested-by: Andy Green
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • David S. Miller
     
  • …ck/linux-2.6-rcu into core/urgent

    Ingo Molnar
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: pcm: fix infinite loop in snd_pcm_update_hw_ptr0()
    ALSA: HDA: Add dock mic quirk for Lenovo Thinkpad X220
    ALSA: ens1371: fix Creative Ectiva support
    ALSA: firewire-speakers: fix hang when unplugging a running device
    ASoC: Fix CODEC device name for Corgi
    ALSA: hda - Fix pin-config of Gigabyte mobo
    ASoC: imx: fix burstsize for DMA
    ASoC: imx: set watermarks for mx2-dma
    ASoC: twl6040: Return -ENOMEM if create_singlethread_workqueue fails
    ASoC: tlv320dac33: Restore L/R DAC power control register
    ASoC: Explicitly say registerless widgets have no register
    ASoC: tlv320dac33: Fix inconsistent spinlock usage

    Linus Torvalds
     

01 Apr, 2011

1 commit

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    kdump: Allow shrinking of kdump region to be overridden
    powerpc/pmac/smp: Remove no-longer needed preempt workaround
    powerpc/smp: Increase vdso_data->processorCount, not just decrease it
    powerpc/smp: Create idle threads on demand and properly reset them
    powerpc/smp: Don't expose per-cpu "cpu_state" array
    powerpc/pmac/smp: Fix CPU hotplug crashes on some machines
    powerpc/smp: Add a smp_ops->bringup_up() done callback
    powerpc/pmac: Rename cpu_state in therm_pm72 to avoid collision
    powerpc/pmac/smp: Properly NAP offlined CPU on G5
    powerpc/pmac/smp: Remove HMT changes for PowerMac offline code
    powerpc/pmac/smp: Consolidate 32-bit and 64-bit PowerMac cpu_die in one file
    powerpc/pmac/smp: Fixup smp_core99_cpu_disable() and use it on 64-bit
    powerpc/pmac/smp: Rename fixup_irqs() to migrate_irqs() and use it on ppc32
    powerpc/pmac/smp: Fix 32-bit PowerMac cpu_die
    powerpc/smp: Remove unused smp_ops->cpu_enable()
    powerpc/smp: Remove unused generic_cpu_enable()
    powerpc/smp: Fix generic_mach_cpu_die()
    powerpc/smp: soft-replugged CPUs must go back to start_secondary
    powerpc: Make decrementer interrupt robust against offlined CPUs

    Linus Torvalds