1. 10 Feb, 2015 31 commits
  2. 09 Feb, 2015 9 commits
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a4cbbf54
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Kernel side changes:
      
         - AMD range breakpoints support:
      
           Extend breakpoint tools and core to support address range through
           perf event with initial backend support for AMD extended
           breakpoints.
      
           The syntax is:
      
               perf record -e mem:addr/len:type
      
           For example set write breakpoint from 0x1000 to 0x1200 (0x1000 + 512)
      
               perf record -e mem:0x1000/512:w
      
         - event throttling/rotating fixes
      
         - various event group handling fixes, cleanups and general paranoia
           code to be more robust against bugs in the future.
      
          - kernel stack overhead fixes
      
        User-visible tooling side changes:
      
         - Show precise number of samples in at the end of a 'record' session,
           if processing build ids, since we will then traverse the whole
           perf.data file and see all the PERF_RECORD_SAMPLE records,
           otherwise stop showing the previous off-base heuristicly counted
           number of "samples" (Namhyung Kim).
      
         - Support to read compressed module from build-id cache (Namhyung
           Kim)
      
         - Enable sampling loads and stores simultaneously in 'perf mem'
           (Stephane Eranian)
      
         - 'perf diff' output improvements (Namhyung Kim)
      
         - Fix error reporting for evsel pgfault constructor (Arnaldo Carvalho
           de Melo)
      
        Tooling side infrastructure changes:
      
         - Cache eh/debug frame offset for dwarf unwind (Namhyung Kim)
      
         - Support parsing parameterized events (Cody P Schafer)
      
         - Add support for IP address formats in libtraceevent (David Ahern)
      
        Plus other misc fixes"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)
        perf: Decouple unthrottling and rotating
        perf: Drop module reference on event init failure
        perf: Use POLLIN instead of POLL_IN for perf poll data in flag
        perf: Fix put_event() ctx lock
        perf: Fix move_group() order
        perf: Fix event->ctx locking
        perf: Add a bit of paranoia
        perf symbols: Convert lseek + read to pread
        perf tools: Use perf_data_file__fd() consistently
        perf symbols: Support to read compressed module from build-id cache
        perf evsel: Set attr.task bit for a tracking event
        perf header: Set header version correctly
        perf record: Show precise number of samples
        perf tools: Do not use __perf_session__process_events() directly
        perf callchain: Cache eh/debug frame offset for dwarf unwind
        perf tools: Provide stub for missing pthread_attr_setaffinity_np
        perf evsel: Don't rely on malloc working for sz 0
        tools lib traceevent: Add support for IP address formats
        perf ui/tui: Show fatal error message only if exists
        perf tests: Fix typo in sample-parsing.c
        ...
      a4cbbf54
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8308756f
      Linus Torvalds authored
      Pull core locking updates from Ingo Molnar:
       "The main changes are:
      
         - mutex, completions and rtmutex micro-optimizations
         - lock debugging fix
         - various cleanups in the MCS and the futex code"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/rtmutex: Optimize setting task running after being blocked
        locking/rwsem: Use task->state helpers
        sched/completion: Add lock-free checking of the blocking case
        sched/completion: Remove unnecessary ->wait.lock serialization when reading completion state
        locking/mutex: Explicitly mark task as running after wakeup
        futex: Fix argument handling in futex_lock_pi() calls
        doc: Fix misnamed FUTEX_CMP_REQUEUE_PI op constants
        locking/Documentation: Update code path
        softirq/preempt: Add missing current->preempt_disable_ip update
        locking/osq: No need for load/acquire when acquire-polling
        locking/mcs: Better differentiate between MCS variants
        locking/mutex: Introduce ww_mutex_set_context_slowpath()
        locking/mutex: Move MCS related comments to proper location
        locking/mutex: Checking the stamp is WW only
      8308756f
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 23e8fe2e
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main RCU changes in this cycle are:
      
         - Documentation updates.
      
         - Miscellaneous fixes.
      
         - Preemptible-RCU fixes, including fixing an old bug in the
           interaction of RCU priority boosting and CPU hotplug.
      
         - SRCU updates.
      
         - RCU CPU stall-warning updates.
      
         - RCU torture-test updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
        rcu: Initialize tiny RCU stall-warning timeouts at boot
        rcu: Fix RCU CPU stall detection in tiny implementation
        rcu: Add GP-kthread-starvation checks to CPU stall warnings
        rcu: Make cond_resched_rcu_qs() apply to normal RCU flavors
        rcu: Optionally run grace-period kthreads at real-time priority
        ksoftirqd: Use new cond_resched_rcu_qs() function
        ksoftirqd: Enable IRQs and call cond_resched() before poking RCU
        rcutorture: Add more diagnostics in rcu_barrier() test failure case
        torture: Flag console.log file to prevent holdovers from earlier runs
        torture: Add "-enable-kvm -soundhw pcspk" to qemu command line
        rcutorture: Handle different mpstat versions
        rcutorture: Check from beginning to end of grace period
        rcu: Remove redundant rcu_batches_completed() declaration
        rcutorture: Drop rcu_torture_completed() and friends
        rcu: Provide rcu_batches_completed_sched() for TINY_RCU
        rcutorture: Use unsigned for Reader Batch computations
        rcutorture: Make build-output parsing correctly flag RCU's warnings
        rcu: Make _batches_completed() functions return unsigned long
        rcutorture: Issue warnings on close calls due to Reader Batch blows
        documentation: Fix smp typo in memory-barriers.txt
        ...
      23e8fe2e
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 30d46827
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This has not been a busy release for the regulator framework, though
        we do have the first parts of some ongoing work from Bjorn Andersson
        to allow us to support more complex modern systems with dynamic
        configuration of regulators in suspend and idle states.
      
         - Support for device-specific properties on regulator nodes when
           using simplified DT parsing in the core from Krzysztof Kozlowski.
      
         - Restructuring of the load tracking code, intended to support future
           improvements in this area for more complex system designs.
      
         - New drivers for Maxim MAX77843 and Mediatek MT6397.
      
         - Lots of smaller fixes and improvements"
      
      * tag 'regulator-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (29 commits)
        regulator: max77843: Add max77843 regulator driver
        regulator: Fix build breakage on !REGULATOR
        regulator: Build sysfs entries with static attribute groups
        regulator: qcom-rpm: Make it possible to specify supply
        regulator: core: Consolidate drms update handling
        regulator: qcom-rpm: signedness bug in probe()
        regulator: da9211: Add gpio control for enable/disable of buck
        regulator: qcom_rpm: Don't update vreg->uV/mV if rpm_reg_write fails
        regulator: lp872x: Remove **regulators from struct lp872x
        regulator: da9211: fix unmatched of_node
        regulator: Update documentation after renaming function argument
        regulator: axp20x: Migrate to regulator core's simplified DT parsing code
        regulator: axp20x: Fill regulators_node and of_match descriptor fields
        regulator: pfuze100-regulator: add pfuze3000 support
        regulator: max77686: Document gpio properties
        regulator: Allow parsing custom properties when using simplified DT parsing
        regulator: max77686: Add GPIO control
        regulator: Copy config passed during registration
        regulator: tps65023: Constify struct regmap_config and regulator_ops
        regulator: max8649: Constify struct regmap_config and regulator_ops
        ...
      30d46827
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b0c1936c
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "The major highlight this release is a refactoring of the core to allow
        us to run synchronous transfers in the context of the caller when
        there is no contention for the bus.  This improves performance in the
        very common case by eliminating context switches and reducing the
        number of hardware setup and teardown operations we need to perform.
      
        Other changes:
      
         - New drivers for DLN-2 USB-SPI adapter and ST SPI controllers.
      
         - A big round of cleanups, performance and feature improvements for
           the xilinx driver from Ricardo Ribalda Delgado.
      
         - A wide range of smaller cleanups, fixes and feature improvements
           throughout the subsystem"
      
      * tag 'spi-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (68 commits)
        spi: mxs: cleanup wait_for_completion return handling
        spi: ti-qspi: cleanup wait_for_completion return handling
        spi: spi-imx: cleanup wait_for_completion handling
        spi: sh-msiof: cleanup wait_for_completion return handling
        spi: match var type to return type of wait_for_completion
        spi: spi-pxa2xx: only include mach/dma.h for legacy DMA
        spi: atmel: cleanup wait_for_completion return handling
        spi: fsl-dspi: Remove possible memory leak of 'chip'
        spi: sh-msiof: Update calculation of frequency dividing
        spi: spidev: Convert buf pointers for 32-bit compat SPI_IOC_MESSAGE(n)
        spi/xilinx: Fix access invalid memory on xilinx_spi_tx
        spi: Revert "spi/xilinx: Remove iowrite/ioread wrappers"
        spi/xilinx: Check number of slaves range
        spi/xilinx: Use polling mode on small transfers
        spi/xilinx: Remove remaining_words driver data variable
        spi/xilinx: Remove iowrite/ioread wrappers
        spi/xilinx: Convert bits_per_word in bytes_per_word
        spi/xilinx: Convert remainding_bytes in remaining words
        spi/xilinx: Make spi_tx and spi_rx simmetric
        spi/xilinx: Remove rx_fn and tx_fn pointer
        ...
      b0c1936c
    • Linus Torvalds's avatar
      Merge tag 'regmap-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · f381f906
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A very quiet release for regmap this time around:
      
         - Fix an endianness issue for I2C devices connected via SMBus where
           we were getting two layers both trying to do endianness handling.
         - Use a union to reduce the size of the regmap struct.
         - A couple of smaller fixes"
      
      * tag 'regmap-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fix i2c word access when using SMBus access functions
        regmap: Export regmap_get_val_endian
        regmap: ac97: Clean up indentation
        regmap: correct the description of structure element in reg_field
        regmap: Move spinlock_flags into the union
      f381f906
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v3.20' of... · 5c30c3cc
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       "Explicit support for ina231 added to ina2xx driver.
      
        Minor improvements, cleanup and fixes in various drivers"
      
      * tag 'hwmon-for-linus-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (tmp102) add hibernation callbacks
        hwmon: (ads2828) Only keep data in device data structure if needed
        hwmon: (ads2828) Convert to use regmap
        hwmon: (jc42) Allow negative hysteresis temperatures
        hwmon: (adc128d818) Do proper sign extension
        hwmon: (ad7314) Do proper sign extension
        hwmon: (abx500) Fix format string warnings
        hwmon: (jc42) Fix integer overflow when writing hysteresis value
        hwmon: (jc42) Fix integer overflow
        hwmon: (jc42) Use sign_extend32 for sign extension
        hwmon: (ina2xx) Add ina231 compatible string
        hwmon: (ina2xx) use DIV_ROUND_CLOSEST() to avoid rounding errors
        hwmon: (ina2xx) remove an unnecessary dev_get_drvdata() result check
        hwmon: (ina2xx) implement update_interval attribute for ina226
        hwmon: (ina2xx) make shunt resistance configurable at run-time
        hwmon: (ina2xx) don't accept shunt values greater than the calibration factor
        hwmon: (ina2xx) remove a stray new line
        hwmon: (ina2xx) reinitialize the chip in case it's been reset
        hwmon: (nct7802) Constify struct regmap_config
      5c30c3cc
    • George Spelvin's avatar
      random: Fix fast_mix() function · 19acc77a
      George Spelvin authored
      There was a bad typo in commit 43759d4f ("random: use an improved
      fast_mix() function") and I didn't notice because it "looked right", so
      I saw what I expected to see when I reviewed it.
      
      Only months later did I look and notice it's not the Threefish-inspired
      mix function that I had designed and optimized.
      
      Mea Culpa.  Each input bit still has a chance to affect each output bit,
      and the fast pool is spilled *long* before it fills, so it's not a total
      disaster, but it's definitely not the intended great improvement.
      
      I'm still working on finding better rotation constants.  These are good
      enough, but since it's unrolled twice, it's possible to get better
      mixing for free by using eight different constants rather than repeating
      the same four.
      Signed-off-by: default avatarGeorge Spelvin <linux@horizon.com>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Cc: stable@vger.kernel.org  # v3.16+
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      19acc77a
    • Tejun Heo's avatar
      Merge branch 'for-3.19-fixes' of... · b12aa1f2
      Tejun Heo authored
      Merge branch 'for-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata into for-3.20
      
      09c32aaa ("ahci_xgene: Fix the dma state machine lockup for the
      ATA_CMD_SMART PIO mode command.") missed 3.19 release.  Fold it into
      for-3.20.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      b12aa1f2