12 Dec, 2011

8 commits

  • Tyler Hicks pointed me at an additional article on RCU and I figured
    it should probably be mentioned with the others.

    Signed-off-by: Kees Cook
    Signed-off-by: Paul E. McKenney

    Kees Cook
     
  • An IRC discussion uncovered many conflicting opinions on what types
    of data may be atomically loaded and stored. This commit therefore
    calls this out the official set: pointers, longs, ints, and chars (but
    not shorts). This commit also gives some examples of compiler mischief
    that can thwart atomicity.

    Please note that this discussion is relevant to !SMP kernels if
    CONFIG_PREEMPT=y: preemption can cause almost as much trouble as can SMP.

    Signed-off-by: Paul E. McKenney
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Russell King
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Mike Frysinger
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: David Howells
    Cc: Yoshinori Sato
    Cc: Richard Kuo
    Cc: Jes Sorensen
    Cc: Hirokazu Takata
    Cc: Geert Uytterhoeven
    Cc: Michal Simek
    Cc: Ralf Baechle
    Cc: Koichi Yasutake
    Cc: Jonas Bonn
    Cc: Kyle McMartin
    Cc: Helge Deller
    Cc: "James E.J. Bottomley"
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Jeff Dike
    Cc: Richard Weinberger
    Cc: Guan Xuetao
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Chris Zankel

    Paul E. McKenney
     
  • Running CPU-hotplug operations concurrently with rcutorture has
    historically been a good way to find bugs in both RCU and CPU hotplug.
    This commit therefore adds an rcutorture module parameter called
    "onoff_interval" that causes a randomly selected CPU-hotplug operation to
    be executed at the specified interval, in seconds. The default value of
    "onoff_interval" is zero, which disables rcutorture-instigated CPU-hotplug
    operations.

    Signed-off-by: Paul E. McKenney
    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     
  • Although it is easy to run rcutorture tests under KVM, there is currently
    no nice way to run such a test for a fixed time period, collect all of
    the rcutorture data, and then shut the system down cleanly. This commit
    therefore adds an rcutorture module parameter named "shutdown_secs" that
    specified the run duration in seconds, after which rcutorture terminates
    the test and powers the system down. The default value for "shutdown_secs"
    is zero, which disables shutdown.

    Signed-off-by: Paul E. McKenney
    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     
  • Update various files in Documentation/RCU to reflect srcu_read_lock_raw()
    and srcu_read_unlock_raw(). Credit to Peter Zijlstra for suggesting
    use of the existing _raw suffix instead of the earlier bulkref names.

    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     
  • One of lclaudio's systems was seeing RCU CPU stall warnings from idle.
    These turned out to be caused by a bug that stopped scheduling-clock
    tick interrupts from being sent to a given CPU for several hundred seconds.
    This commit therefore updates the documentation to call this out as a
    possible cause for RCU CPU stall warnings.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • Earlier versions of RCU used the scheduling-clock tick to detect idleness
    by checking for the idle task, but handled idleness differently for
    CONFIG_NO_HZ=y. But there are now a number of uses of RCU read-side
    critical sections in the idle task, for example, for tracing. A more
    fine-grained detection of idleness is therefore required.

    This commit presses the old dyntick-idle code into full-time service,
    so that rcu_idle_enter(), previously known as rcu_enter_nohz(), is
    always invoked at the beginning of an idle loop iteration. Similarly,
    rcu_idle_exit(), previously known as rcu_exit_nohz(), is always invoked
    at the end of an idle-loop iteration. This allows the idle task to
    use RCU everywhere except between consecutive rcu_idle_enter() and
    rcu_idle_exit() calls, in turn allowing architecture maintainers to
    specify exactly where in the idle loop that RCU may be used.

    Because some of the userspace upcall uses can result in what looks
    to RCU like half of an interrupt, it is not possible to expect that
    the irq_enter() and irq_exit() hooks will give exact counts. This
    patch therefore expands the ->dynticks_nesting counter to 64 bits
    and uses two separate bitfields to count process/idle transitions
    and interrupt entry/exit transitions. It is presumed that userspace
    upcalls do not happen in the idle loop or from usermode execution
    (though usermode might do a system call that results in an upcall).
    The counter is hard-reset on each process/idle transition, which
    avoids the interrupt entry/exit error from accumulating. Overflow
    is avoided by the 64-bitness of the ->dyntick_nesting counter.

    This commit also adds warnings if a non-idle task asks RCU to enter
    idle state (and these checks will need some adjustment before applying
    Frederic's OS-jitter patches (http://lkml.org/lkml/2011/10/7/246).
    In addition, validation of ->dynticks and ->dynticks_nesting is added.

    Signed-off-by: Paul E. McKenney
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • There are a number of bugs that can leak or overuse lock classes,
    which can cause the maximum number of lock classes (currently 8191)
    to be exceeded. However, the documentation does not tell you how to
    track down these problems. This commit addresses this shortcoming.

    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     

10 Dec, 2011

2 commits

  • * 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    MAINTAINERS: Update amd-iommu F: patterns
    iommu/amd: Fix typo in kernel-parameters.txt
    iommu/msm: Fix compile error in mach-msm/devices-iommu.c
    Fix comparison using wrong pointer variable in dma debug code

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda/realtek - Fix lost speaker volume controls
    ALSA: hda/realtek - Create "Bass Speaker" for two speaker pins
    ALSA: hda/realtek - Don't create extra controls with channel suffix
    ALSA: hda - Fix remaining VREF mute-LED NID check in post-3.1 changes
    ALSA: hda - Fix GPIO LED setup for IDT 92HD75 codecs
    ASoC: Provide a more complete DMA driver stub
    ASoC: Remove references to corgi and spitz from machine driver document
    ASoC: Make SND_SOC_MX27VIS_AIC32X4 depend on I2C
    ASoC: Fix dependency for SND_SOC_RAUMFELD and SND_PXA2XX_SOC_HX4700
    ASoC: uda1380: Return proper error in uda1380_modinit failure path
    ASoC: kirkwood: Make SND_KIRKWOOD_SOC_OPENRD and SND_KIRKWOOD_SOC_T5325 depend on I2C
    ASoC: Mark WM8994 ADC muxes as virtual
    ALSA: hda/realtek - Fix Oops in alc_mux_select()
    ALSA: sis7019 - give slow codecs more time to reset

    Linus Torvalds
     

07 Dec, 2011

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    net: Silence seq_scale() unused warning
    ipv4:correct description for tcp_max_syn_backlog
    pasemi_mac: Fix building as module
    netback: Fix alert message.
    r8169: fix Rx index race between FIFO overflow recovery and NAPI handler.
    r8169: Rx FIFO overflow fixes.
    ipv4: Fix peer validation on cached lookup.
    ipv4: make sure RTO_ONLINK is saved in routing cache
    iwlwifi: change the default behavior of watchdog timer
    iwlwifi: do not re-configure HT40 after associated
    iwlagn: fix HW crypto for TX-only keys
    Revert "mac80211: clear sta.drv_priv on reconfiguration"
    mac80211: fill rate filter for internal scan requests
    cfg80211: amend regulatory NULL dereference fix
    cfg80211: fix race on init and driver registration

    Linus Torvalds
     
  • Since commit c5ed63d66f24(tcp: fix three tcp sysctls tuning),
    sysctl_max_syn_backlog is determined by tcp_hashinfo->ehash_mask,
    and the minimal value is 128, and it will increase in proportion to the
    memory of machine.
    The original description for tcp_max_syn_backlog and sysctl_max_syn_backlog
    are out of date.

    Changelog:
    V2: update description for sysctl_max_syn_backlog

    Signed-off-by: Weiping Pan
    Reviewed-by: Shan Wei
    Acked-by: Neil Horman
    Signed-off-by: David S. Miller

    Peter Pan(潘卫平)
     

06 Dec, 2011

4 commits


03 Dec, 2011

1 commit

  • * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (21 commits)
    usb: ftdi_sio: add PID for Propox ISPcable III
    Revert "xHCI: reset-on-resume quirk for NEC uPD720200"
    xHCI: fix bug in xhci_clear_command_ring()
    usb: gadget: fsl_udc: fix dequeuing a request in progress
    usb: fsl_mxc_udc.c: Remove compile-time dependency of MX35 SoC type
    usb: fsl_mxc_udc.c: Fix build issue by including missing header file
    USB: fsl_udc_core: use usb_endpoint_xfer_isoc to judge ISO XFER
    usb: udc: Fix gadget driver's speed check in various UDC drivers
    usb: gadget: fix g_serial regression
    usb: renesas_usbhs: fixup driver speed
    usb: renesas_usbhs: fixup gadget.dev.driver when udc_stop.
    usb: renesas_usbhs: fixup signal the driver that cable was disconnected
    usb: renesas_usbhs: fixup device_register timing
    usb: musb: PM: fix context save/restore in suspend/resume path
    USB: linux-cdc-acm.inf: add support for the acm_ms gadget
    EHCI : Fix a regression in the ISO scheduler
    xHCI: reset-on-resume quirk for NEC uPD720200
    USB: whci-hcd: fix endian conversion in qset_clear()
    USB: usb-storage: unusual_devs entry for Kingston DT 101 G2
    usb: option: add SIMCom SIM5218
    ...

    Linus Torvalds
     

02 Dec, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix meta data raid-repair merge problem
    Btrfs: skip allocation attempt from empty cluster
    Btrfs: skip block groups without enough space for a cluster
    Btrfs: start search for new cluster at the beginning
    Btrfs: reset cluster's max_size when creating bitmap
    Btrfs: initialize new bitmaps' list
    Btrfs: fix oops when calling statfs on readonly device
    Btrfs: Don't error on resizing FS to same size
    Btrfs: fix deadlock on metadata reservation when evicting a inode
    Fix URL of btrfs-progs git repository in docs
    btrfs scrub: handle -ENOMEM from init_ipath()

    Linus Torvalds
     

01 Dec, 2011

2 commits


29 Nov, 2011

6 commits


23 Nov, 2011

1 commit

  • 10-bit addresses overlap with traditional 7-bit addresses, leading in
    device name collisions. Add an arbitrary offset to 10-bit addresses to
    prevent this collision. The offset was chosen so that the address is
    still easily recognizable.

    Signed-off-by: Jean Delvare
    Acked-by: Wolfram Sang

    Jean Delvare
     

22 Nov, 2011

2 commits

  • * 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    TTY: ldisc, wait for ldisc infinitely in hangup
    TTY: ldisc, move wait idle to caller
    TTY: ldisc, allow waiting for ldisc arbitrarily long
    Revert "tty/serial: Prevent drop of DCD on suspend for Tegra UARTs"
    RS485: fix inconsistencies in the meaning of some variables
    pch_uart: Fix DMA resource leak issue
    serial,mfd: Fix CMSPAR setup
    tty/serial: Prevent drop of DCD on suspend for Tegra UARTs
    pch_uart: Change company name OKI SEMICONDUCTOR to LAPIS Semiconductor
    pch_uart: Support new device LAPIS Semiconductor ML7831 IOH
    pch_uart: Fix hw-flow control issue
    tty: hvc_dcc: Fix duplicate character inputs
    jsm: Change maintainership

    Linus Torvalds
     
  • * 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    drivers/base/node.c: fix compilation error with older versions of gcc
    uio: documentation fixups
    device.h: Fix struct member documentation

    Linus Torvalds
     

21 Nov, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (86 commits)
    ipv4: fix redirect handling
    ping: dont increment ICMP_MIB_INERRORS
    sky2: fix hang in napi_disable
    sky2: enforce minimum ring size
    bonding: Don't allow mode change via sysfs with slaves present
    f_phonet: fix page offset of first received fragment
    stmmac: fix pm functions avoiding sleep on spinlock
    stmmac: remove spin_lock in stmmac_ioctl.
    stmmac: parameters auto-tuning through HW cap reg
    stmmac: fix advertising 1000Base capabilties for non GMII iface
    stmmac: use mdelay on timeout of sw reset
    sky2: version 1.30
    sky2: used fixed RSS key
    sky2: reduce default Tx ring size
    sky2: rename up/down functions
    sky2: pci posting issues
    sky2: fix hang on shutdown (and other irq issues)
    r6040: fix check against MCRO_HASHEN bit in r6040_multicast_list
    MAINTAINERS: change email address for shemminger
    pch_gbe: Move #include of module.h
    ...

    Linus Torvalds
     

18 Nov, 2011

2 commits

  • * 'for-linus' of git://git.kernel.dk/linux-block:
    block: add missed trace_block_plug
    paride: fix potential information leak in pg_read()
    bio: change some signed vars to unsigned
    block: avoid unnecessary plug list flush
    cciss: auto engage SCSI mid layer at driver load time
    loop: cleanup set_status interface
    include/linux/bio.h: use a static inline function for bio_integrity_clone()
    loop: prevent information leak after failed read
    block: Always check length of all iov entries in blk_rq_map_user_iov()
    The Windows driver .inf disables ASPM on all cciss devices. Do the same.
    backing-dev: ensure wakeup_timer is deleted
    block: Revert "[SCSI] genhd: add a new attribute "alias" in gendisk"

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix the connection selection of ADCs on Cirrus codecs
    ALSA: hda - Update URLs in document
    ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()
    ALSA: hda - delayed ELD repoll
    ALSA: hda - fix ELD memory leak
    ALSA: hda/realtek: remove redundant semicolon
    ALSA: hda - pwr_nids cleanup for IDT codecs

    Linus Torvalds
     

16 Nov, 2011

4 commits

  • Some stuff was moved from kernel.org to other places.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • A long time ago, probably in 2002, one of the distros, or maybe more than
    one, loaded block drivers prior to loading the SCSI mid layer. This meant
    that the cciss driver, being a block driver, could not engage the SCSI mid
    layer at init time without panicking, and relied on being poked by a
    userland program after the system was up (and the SCSI mid layer was
    therefore present) to engage the SCSI mid layer.

    This is no longer the case, and cciss can safely rely on the SCSI mid
    layer being present at init time and engage the SCSI mid layer straight
    away. This means that users will see their tape drives and medium
    changers at driver load time without need for a script in /etc/rc.d that
    does this:

    for x in /proc/driver/cciss/cciss*
    do
    echo "engage scsi" > $x
    done

    However, if no tape drives or medium changers are detected, the SCSI mid
    layer will not be engaged. If a tape drive or medium change is later
    hot-added to the system it will then be necessary to use the above script
    or similar for the device(s) to be acceesible.

    Signed-off-by: Stephen M. Cameron
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Stephen M. Cameron
     
  • The crisv10.c and the atmel_serial.c serial drivers intepret the fields of the
    serial_rs485 structure in a different way.

    In particular, crisv10.c uses SER_RS485_RTS_AFTER_SEND and
    SER_RS485_RTS_ON_SEND for the voltage of the RTS pin; atmel_serial.c,
    instead, uses these values to know if a delay must be set before and
    after sending. This patch makes the usage of these variables consistent
    across all drivers and fixes the Documentation as well.

    From now on, SER_RS485_RTS_AFTER_SEND and SER_RS485_RTS_ON_SEND will be
    used to set the voltage of the RTS pin (as in the crisv10.c driver); the
    delay will be understood by looking only at the value of
    delay_rts_before_send and delay_rts_after_send.

    Signed-off-by: Claudio Scordino
    Signed-off-by: Darron Black
    Acked-by: Jesper Nilsson
    Acked-by: Nicolas Ferre
    Acked-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Claudio Scordino
     
  • The 'name' attribute of struct uio_mem wasn't documented, and the note
    about 'kobj' is stale and needs to be changed to 'map'.

    Signed-off-by: Geoff Thorpe
    Signed-off-by: "Hans J. Koch"
    Signed-off-by: Greg Kroah-Hartman

    Geoff Thorpe
     

12 Nov, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: usb-audio: Use kmemdup rather than duplicating its implementation
    ALSA: hda - Re-enable the check NO_PRESENCE misc bit
    ALSA: vmaster - Free slave-links when freeing the master element
    ALSA: hda - Don't add elements of other codecs to vmaster slave
    ALSA: intel8x0: improve virtual environment detection
    ALSA: intel8x0: move virtual environment detection code into one place
    ALSA: snd_usb_audio: add Logitech HD Webcam c510 to quirk-384
    ALSA: hda - fix internal mic on Dell Vostro 3500 laptop
    ALSA: HDA: Remove quirk for Toshiba T110
    ALSA: usb-audio - Fix the missing volume quirks at delayed init
    ALSA: hda - Mute unused capture sources for Realtek codecs
    ALSA: intel8x0: Improve comments for VM optimization
    ASoC: Ensure we get an impedence reported for WM8958 jack detect
    ASoC: Don't use wm8994->control_data when requesting IRQs
    ASoC: Don't use wm8994->control_data in wm8994_readable_register()
    ASoC: Update git repository URL

    Linus Torvalds
     

10 Nov, 2011

1 commit

  • This reverts commit a72c5e5eb738033938ab30d6a634b74d1d060f10.

    The commit introduced alias for block devices which is intended to be
    used during logging although actual usage hasn't been committed yet.
    This approach adds very limited benefit (raw log might be easier to
    follow) which can be trivially implemented in userland but has a lot
    of problems.

    It is much worse than netif renames because it doesn't rename the
    actual device but just adds conveninence name which isn't used
    universally or enforced. Everything internal including device lookup
    and sysfs still uses the internal name and nothing prevents two
    devices from using conflicting alias - ie. sda can have sdb as its
    alias.

    This has been nacked by people working on device driver core, block
    layer and kernel-userland interface and shouldn't have been
    upstreamed. Revert it.

    http://thread.gmane.org/gmane.linux.kernel/1155104
    http://thread.gmane.org/gmane.linux.scsi/68632
    http://thread.gmane.org/gmane.linux.scsi/69776

    Signed-off-by: Tejun Heo
    Acked-by: Greg Kroah-Hartman
    Acked-by: Kay Sievers
    Cc: "James E.J. Bottomley"
    Cc: Nao Nishijima
    Cc: Alan Cox
    Cc: Al Viro
    Signed-off-by: Jens Axboe

    Tejun Heo
     

09 Nov, 2011

2 commits

  • Fix the not working internal mic on Dell Vostro 3500 laptop by introducing the
    new model dell-vostro-3500.

    Signed-off-by: Julian Wollrath
    Cc:
    Signed-off-by: Takashi Iwai

    Julian Wollrath
     
  • * 'docs-move' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs: (45 commits)
    DocBook/drm: Clean up a todo-note
    DocBook/drm: `device aware' -> `device-aware'
    DocBook/drm: `(device|driver) specific' -> `(device|driver)-specific'
    DocBook/drm: Clean up the paragraph on framebuffer objects
    DocBook/drm: Use `; otherwise,'
    DocBook/drm: Better flow with `, and then'
    DocBook/drm: Refer to the domain-setting function as a device-specific ioctl
    DocBook/drm: Improve flow of GPU/CPU coherence sentence
    DocBook/drm: Use an for fundamental GEM operations
    DocBook/drm: Insert a comma
    DocBook/drm: Use a for vblank ioctls
    DocBook/drm: Use an itemizedlist for what an encoder needs to provide
    DocBook/drm: Insert `the' for readability, and change `set' to `setting'
    DocBook/drm: Remove extraneous commas
    DocBook/drm: Use a colon
    DocBook/drm: Clarify `final initialization' via better formatting
    DocBook/drm: Remove redundancy
    DocBook/drm: Insert `it' for smooth reading
    DocBook/drm: The word `so-called'; I do not think it connotes what you think it connotes
    DocBook/drm: Use a singular subject for grammatical cleanliness
    ...

    Linus Torvalds