14 Jul, 2013

1 commit

  • Pull perf fixes from Thomas Gleixner:
    - fix for do_div() abuse on x86
    - locking fix in perf core
    - a pile of (build) fixes and cleanups in perf tools

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
    perf/x86: Fix incorrect use of do_div() in NMI warning
    perf: Fix perf_lock_task_context() vs RCU
    perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid scenario
    perf: Clone child context from parent context pmu
    perf script: Fix broken include in Context.xs
    perf tools: Fix -ldw/-lelf link test when static linking
    perf tools: Revert regression in configuration of Python support
    perf tools: Fix perf version generation
    perf stat: Fix per-socket output bug for uncore events
    perf symbols: Fix vdso list searching
    perf evsel: Fix missing increment in sample parsing
    perf tools: Update symbol_conf.nr_events when processing attribute events
    perf tools: Fix new_term() missing free on error path
    perf tools: Fix parse_events_terms() segfault on error path
    perf evsel: Fix count parameter to read call in event_format__new
    perf tools: fix a typo of a Power7 event name
    perf tools: Fix -x/--exclude-other option for report command
    perf evlist: Enhance perf_evlist__start_workload()
    perf record: Remove -f/--force option
    perf record: Remove -A/--append option
    ...

    Linus Torvalds
     

12 Jul, 2013

2 commits

  • I completely botched understanding the calling conventions of
    do_div(). I assumed that do_div() returned the result instead
    of realizing that it modifies its argument and returns a
    remainder. The side-effect from this would be bogus numbers
    for the "msecs" value in the warning messages:

    INFO: NMI handler (perf_event_nmi_handler) took too long to run: 0.114 msecs

    Note, there was a second fix posted by Stephane Eranian for
    a separate patch which I also botched:

    http://lkml.kernel.org/r/20130704223010.GA30625@quad

    Signed-off-by: Dave Hansen
    Cc: Dave Hansen
    Link: http://lkml.kernel.org/r/20130708214404.B0B6EA66@viggo.jf.intel.com
    Signed-off-by: Ingo Molnar

    Dave Hansen
     
  • Pull thermal management updates from Zhang Rui:
    "There are not too many changes this time, except two new platform
    thermal drivers, ti-soc-thermal driver and x86_pkg_temp_thermal
    driver, and a couple of small fixes.

    Highlights:

    - move the ti-soc-thermal driver out of the staging tree to the
    thermal tree.

    - introduce the x86_pkg_temp_thermal driver. This driver registers
    CPU digital temperature package level sensor as a thermal zone.

    - small fixes/cleanups including removing redundant use of
    platform_set_drvdata() and of_match_ptr for all platform thermal
    drivers"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (34 commits)
    thermal: cpu_cooling: fix stub function
    thermal: ti-soc-thermal: use standard GPIO DT bindings
    thermal: MAINTAINERS: Add git tree path for SoC specific updates
    thermal: fix x86_pkg_temp_thermal.c build and Kconfig
    Thermal: Documentation for x86 package temperature thermal driver
    Thermal: CPU Package temperature thermal
    thermal: consider emul_temperature while computing trend
    thermal: ti-soc-thermal: add DT example for DRA752 chip
    thermal: ti-soc-thermal: add dra752 chip to device table
    thermal: ti-soc-thermal: add thermal data for DRA752 chips
    thermal: ti-soc-thermal: remove usage of IS_ERR_OR_NULL
    thermal: ti-soc-thermal: freeze FSM while computing trend
    thermal: ti-soc-thermal: remove external heat while extrapolating hotspot
    thermal: ti-soc-thermal: update DT reference for OMAP5430
    x86, mcheck, therm_throt: Process package thresholds
    thermal: cpu_cooling: fix 'descend' check in get_property()
    Thermal: spear: Remove redundant use of of_match_ptr
    Thermal: kirkwood: Remove redundant use of of_match_ptr
    Thermal: dove: Remove redundant use of of_match_ptr
    Thermal: armada: Remove redundant use of of_match_ptr
    ...

    Linus Torvalds
     

11 Jul, 2013

5 commits


10 Jul, 2013

13 commits

  • Pull networking updates from David Miller:
    "This is a re-do of the net-next pull request for the current merge
    window. The only difference from the one I made the other day is that
    this has Eliezer's interface renames and the timeout handling changes
    made based upon your feedback, as well as a few bug fixes that have
    trickeled in.

    Highlights:

    1) Low latency device polling, eliminating the cost of interrupt
    handling and context switches. Allows direct polling of a network
    device from socket operations, such as recvmsg() and poll().

    Currently ixgbe, mlx4, and bnx2x support this feature.

    Full high level description, performance numbers, and design in
    commit 0a4db187a999 ("Merge branch 'll_poll'")

    From Eliezer Tamir.

    2) With the routing cache removed, ip_check_mc_rcu() gets exercised
    more than ever before in the case where we have lots of multicast
    addresses. Use a hash table instead of a simple linked list, from
    Eric Dumazet.

    3) Add driver for Atheros CQA98xx 802.11ac wireless devices, from
    Bartosz Markowski, Janusz Dziedzic, Kalle Valo, Marek Kwaczynski,
    Marek Puzyniak, Michal Kazior, and Sujith Manoharan.

    4) Support reporting the TUN device persist flag to userspace, from
    Pavel Emelyanov.

    5) Allow controlling network device VF link state using netlink, from
    Rony Efraim.

    6) Support GRE tunneling in openvswitch, from Pravin B Shelar.

    7) Adjust SOCK_MIN_RCVBUF and SOCK_MIN_SNDBUF for modern times, from
    Daniel Borkmann and Eric Dumazet.

    8) Allow controlling of TCP quickack behavior on a per-route basis,
    from Cong Wang.

    9) Several bug fixes and improvements to vxlan from Stephen
    Hemminger, Pravin B Shelar, and Mike Rapoport. In particular,
    support receiving on multiple UDP ports.

    10) Major cleanups, particular in the area of debugging and cookie
    lifetime handline, to the SCTP protocol code. From Daniel
    Borkmann.

    11) Allow packets to cross network namespaces when traversing tunnel
    devices. From Nicolas Dichtel.

    12) Allow monitoring netlink traffic via AF_PACKET sockets, in a
    manner akin to how we monitor real network traffic via ptype_all.
    From Daniel Borkmann.

    13) Several bug fixes and improvements for the new alx device driver,
    from Johannes Berg.

    14) Fix scalability issues in the netem packet scheduler's time queue,
    by using an rbtree. From Eric Dumazet.

    15) Several bug fixes in TCP loss recovery handling, from Yuchung
    Cheng.

    16) Add support for GSO segmentation of MPLS packets, from Simon
    Horman.

    17) Make network notifiers have a real data type for the opaque
    pointer that's passed into them. Use this to properly handle
    network device flag changes in arp_netdev_event(). From Jiri
    Pirko and Timo Teräs.

    18) Convert several drivers over to module_pci_driver(), from Peter
    Huewe.

    19) tcp_fixup_rcvbuf() can loop 500 times over loopback, just use a
    O(1) calculation instead. From Eric Dumazet.

    20) Support setting of explicit tunnel peer addresses in ipv6, just
    like ipv4. From Nicolas Dichtel.

    21) Protect x86 BPF JIT against spraying attacks, from Eric Dumazet.

    22) Prevent a single high rate flow from overruning an individual cpu
    during RX packet processing via selective flow shedding. From
    Willem de Bruijn.

    23) Don't use spinlocks in TCP md5 signing fast paths, from Eric
    Dumazet.

    24) Don't just drop GSO packets which are above the TBF scheduler's
    burst limit, chop them up so they are in-bounds instead. Also
    from Eric Dumazet.

    25) VLAN offloads are missed when configured on top of a bridge, fix
    from Vlad Yasevich.

    26) Support IPV6 in ping sockets. From Lorenzo Colitti.

    27) Receive flow steering targets should be updated at poll() time
    too, from David Majnemer.

    28) Fix several corner case regressions in PMTU/redirect handling due
    to the routing cache removal, from Timo Teräs.

    29) We have to be mindful of ipv4 mapped ipv6 sockets in
    upd_v6_push_pending_frames(). From Hannes Frederic Sowa.

    30) Fix L2TP sequence number handling bugs, from James Chapman."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1214 commits)
    drivers/net: caif: fix wrong rtnl_is_locked() usage
    drivers/net: enic: release rtnl_lock on error-path
    vhost-net: fix use-after-free in vhost_net_flush
    net: mv643xx_eth: do not use port number as platform device id
    net: sctp: confirm route during forward progress
    virtio_net: fix race in RX VQ processing
    virtio: support unlocked queue poll
    net/cadence/macb: fix bug/typo in extracting gem_irq_read_clear bit
    Documentation: Fix references to defunct linux-net@vger.kernel.org
    net/fs: change busy poll time accounting
    net: rename low latency sockets functions to busy poll
    bridge: fix some kernel warning in multicast timer
    sfc: Fix memory leak when discarding scattered packets
    sit: fix tunnel update via netlink
    dt:net:stmmac: Add dt specific phy reset callback support.
    dt:net:stmmac: Add support to dwmac version 3.610 and 3.710
    dt:net:stmmac: Allocate platform data only if its NULL.
    net:stmmac: fix memleak in the open method
    ipv6: rt6_check_neigh should successfully verify neigh if no NUD information are available
    net: ipv6: fix wrong ping_v6_sendmsg return value
    ...

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Okay this is the big one, I was stalled on the fbdev pull req as I
    stupidly let fbdev guys merge a patch I required to fix a warning with
    some patches I had, they ended up merging the patch from the wrong
    place, but the warning should be fixed. In future I'll just take the
    patch myself!

    Outside drm:

    There are some snd changes for the HDMI audio interactions on haswell,
    they've been acked for inclusion via my tree. This relies on the
    wound/wait tree from Ingo which is already merged.

    Major changes:

    AMD finally released the dynamic power management code for all their
    GPUs from r600->present day, this is great, off by default for now but
    also a huge amount of code, in fact it is most of this pull request.

    Since it landed there has been a lot of community testing and Alex has
    sent a lot of fixes for any bugs found so far. I suspect radeon might
    now be the biggest kernel driver ever :-P p.s. radeon.dpm=1 to enable
    dynamic powermanagement for anyone.

    New drivers:

    Renesas r-car display unit.

    Other highlights:

    - core: GEM CMA prime support, use new w/w mutexs for TTM
    reservations, cursor hotspot, doc updates
    - dvo chips: chrontel 7010B support
    - i915: Haswell (fbc, ips, vecs, watermarks, audio powerwell),
    Valleyview (enabled by default, rc6), lots of pll reworking, 30bpp
    support (this time for sure)
    - nouveau: async buffer object deletion, context/register init
    updates, kernel vp2 engine support, GF117 support, GK110 accel
    support (with external nvidia ucode), context cleanups.
    - exynos: memory leak fixes, Add S3C64XX SoC series support, device
    tree updates, common clock framework support,
    - qxl: cursor hotspot support, multi-monitor support, suspend/resume
    support
    - mgag200: hw cursor support, g200 mode limiting
    - shmobile: prime support
    - tegra: fixes mostly

    I've been banging on this quite a lot due to the size of it, and it
    seems to okay on everything I've tested it on."

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (811 commits)
    drm/radeon/dpm: implement vblank_too_short callback for si
    drm/radeon/dpm: implement vblank_too_short callback for cayman
    drm/radeon/dpm: implement vblank_too_short callback for btc
    drm/radeon/dpm: implement vblank_too_short callback for evergreen
    drm/radeon/dpm: implement vblank_too_short callback for 7xx
    drm/radeon/dpm: add checks against vblank time
    drm/radeon/dpm: add helper to calculate vblank time
    drm/radeon: remove stray line in old pm code
    drm/radeon/dpm: fix display_gap programming on rv7xx
    drm/nvc0/gr: fix gpc firmware regression
    drm/nouveau: fix minor thinko causing bo moves to not be async on kepler
    drm/radeon/dpm: implement force performance level for TN
    drm/radeon/dpm: implement force performance level for ON/LN
    drm/radeon/dpm: implement force performance level for SI
    drm/radeon/dpm: implement force performance level for cayman
    drm/radeon/dpm: implement force performance levels for 7xx/eg/btc
    drm/radeon/dpm: add infrastructure to force performance levels
    drm/radeon: fix surface setup on r1xx
    drm/radeon: add support for 3d perf states on older asics
    drm/radeon: set default clocks for SI when DPM is disabled
    ...

    Linus Torvalds
     
  • Integrates the LZ4 decompression code to the arm pre-boot code.

    Signed-off-by: Kyungsik Lee
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Russell King
    Cc: Borislav Petkov
    Cc: Florian Fainelli
    Cc: Yann Collet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kyungsik Lee
     
  • Merge together the unicore32, arm, and x86 reboot= command line
    parameter handling.

    Signed-off-by: Robin Holt
    Cc: H. Peter Anvin
    Cc: Russell King
    Cc: Guan Xuetao
    Cc: Russ Anderson
    Cc: Robin Holt
    Acked-by: Ingo Molnar
    Acked-by: Guan Xuetao
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • Prepare for the moving the parsing of reboot= to the generic kernel code
    by making reboot_mode into a more generic form.

    Signed-off-by: Robin Holt
    Cc: H. Peter Anvin
    Cc: Miguel Boton
    Cc: Russ Anderson
    Cc: Robin Holt
    Cc: Russell King
    Cc: Guan Xuetao
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • flush_ptrace_hw_breakpoint() destroys the counters set by ptrace, but
    "leaks" ->debugreg6 and ->ptrace_dr7.

    The problem is minor, but still it doesn't look right and flush_thread()
    did this until commit 66cb59172959 ("hw-breakpoints: use the new wrapper
    routines to access debug registers in process/thread code"). Now that
    PTRACE_DETACH does flush_ too this makes even more sense.

    Signed-off-by: Oleg Nesterov
    Cc: Benjamin Herrenschmidt
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jan Kratochvil
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Will Deacon
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • ptrace_set_debugreg() is trivial but looks horrible. Kill the unnecessary
    goto's and return's to cleanup the code.

    This matches ptrace_get_debugreg() which also needs the trivial whitespace
    cleanups.

    Signed-off-by: Oleg Nesterov
    Acked-by: Frederic Weisbecker
    Cc: Benjamin Herrenschmidt
    Cc: Ingo Molnar
    Cc: Jan Kratochvil
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Will Deacon
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Commit 24f1e32c60c4 ("hw-breakpoints: Rewrite the hw-breakpoints layer
    on top of perf events") introduced the minor regression. Before this
    commit

    PTRACE_POKEUSER DR7, enableDR0
    PTRACE_POKEUSER DR0, address

    was perfectly valid, now PTRACE_POKEUSER(DR7) fails if DR0 was not
    previously initialized by PTRACE_POKEUSER(DR0).

    Change ptrace_write_dr7() to do ptrace_register_breakpoint(addr => 0) if
    !bp && !disabled.

    This fixes watchpoint-zeroaddr from ptrace-tests, see

    https://bugzilla.redhat.com/show_bug.cgi?id=660204.

    Signed-off-by: Oleg Nesterov
    Reported-by: Jan Kratochvil
    Acked-by: Frederic Weisbecker
    Cc: Benjamin Herrenschmidt
    Cc: Ingo Molnar
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Will Deacon
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • No functional changes, preparation.

    Extract the "register breakpoint" code from ptrace_get_debugreg() into
    the new/generic helper, ptrace_register_breakpoint(). It will have more
    users.

    The patch also adds another simple helper, ptrace_fill_bp_fields(), to
    factor out the arch_bp_generic_fields() logic in register/modify.

    Signed-off-by: Oleg Nesterov
    Acked-by: Frederic Weisbecker
    Cc: Benjamin Herrenschmidt
    Cc: Ingo Molnar
    Cc: Jan Kratochvil
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Will Deacon
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • ptrace_write_dr7() skips ptrace_modify_breakpoint(disabled => true)
    unless second_pass, this buys nothing but complicates the code and means
    that we always do the main loop twice even if "disabled" was never true.

    The comment says:

    Don't unregister the breakpoints right-away,
    unless all register_user_hw_breakpoint()
    requests have succeeded.

    Firstly, we do not do register_user_hw_breakpoint(), it was removed by
    commit 24f1e32c60c4 ("hw-breakpoints: Rewrite the hw-breakpoints layer
    on top of perf events").

    We are going to restore register_user_hw_breakpoint() (see the next
    patch) but this doesn't matter: after commit 44234adcdce3
    ("hw-breakpoints: Modify breakpoints without unregistering them")
    perf_event_disable() can not hurt, hw_breakpoint_del() does not free the
    slot.

    Remove the "second_pass" check from the main loop and simplify the code.
    Since we have to check "bp != NULL" anyway, the patch also removes the
    same check in ptrace_modify_breakpoint() and moves the comment into
    ptrace_write_dr7().

    With this patch the second pass is only needed to restore the saved
    old_dr7. This should never fail, so the patch adds WARN_ON() to catch
    the potential problems as Frederic suggested.

    Signed-off-by: Oleg Nesterov
    Acked-by: Frederic Weisbecker
    Cc: Benjamin Herrenschmidt
    Cc: Ingo Molnar
    Cc: Jan Kratochvil
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Will Deacon
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • ptrace_write_dr7() looks unnecessarily overcomplicated. We can factor
    out ptrace_modify_breakpoint() and do not do "continue" twice, just we
    need to pass the proper "disabled" argument to
    ptrace_modify_breakpoint().

    Signed-off-by: Oleg Nesterov
    Acked-by: Frederic Weisbecker
    Cc: Benjamin Herrenschmidt
    Cc: Ingo Molnar
    Cc: Jan Kratochvil
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Will Deacon
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • This reverts commit 87dc669ba257 ("hw_breakpoints: Fix racy access to
    ptrace breakpoints").

    The patch was fine but we can no longer race with SIGKILL after commit
    9899d11f6544 ("ptrace: ensure arch_ptrace/ptrace_request can never race
    with SIGKILL"), the __TASK_TRACED tracee can't be woken up and
    ->ptrace_bps[] can't go away.

    The patch only removes ptrace_get_breakpoints/ptrace_put_breakpoints and
    does a couple of "while at it" cleanups, it doesn't remove other changes
    from the reverted commit.

    Signed-off-by: Oleg Nesterov
    Acked-by: Ingo Molnar
    Acked-by: Frederic Weisbecker
    Cc: Benjamin Herrenschmidt
    Cc: Jan Kratochvil
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Will Deacon
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • The old codes accumulate addr to get right pmd, however, currently pmds
    are preallocated and transfered as a parameter, there is unnecessary to
    accumulate addr variable any more, this patch remove it.

    Signed-off-by: Wanpeng Li
    Reviewed-by: Michal Hocko
    Reviewed-by: Zhang Yanfei
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wanpeng Li
     

07 Jul, 2013

2 commits

  • Pull timer core updates from Thomas Gleixner:
    "The timer changes contain:

    - posix timer code consolidation and fixes for odd corner cases

    - sched_clock implementation moved from ARM to core code to avoid
    duplication by other architectures

    - alarm timer updates

    - clocksource and clockevents unregistration facilities

    - clocksource/events support for new hardware

    - precise nanoseconds RTC readout (Xen feature)

    - generic support for Xen suspend/resume oddities

    - the usual lot of fixes and cleanups all over the place

    The parts which touch other areas (ARM/XEN) have been coordinated with
    the relevant maintainers. Though this results in an handful of
    trivial to solve merge conflicts, which we preferred over nasty cross
    tree merge dependencies.

    The patches which have been committed in the last few days are bug
    fixes plus the posix timer lot. The latter was in akpms queue and
    next for quite some time; they just got forgotten and Frederic
    collected them last minute."

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (59 commits)
    hrtimer: Remove unused variable
    hrtimers: Move SMP function call to thread context
    clocksource: Reselect clocksource when watchdog validated high-res capability
    posix-cpu-timers: don't account cpu timer after stopped thread runtime accounting
    posix_timers: fix racy timer delta caching on task exit
    posix-timers: correctly get dying task time sample in posix_cpu_timer_schedule()
    selftests: add basic posix timers selftests
    posix_cpu_timers: consolidate expired timers check
    posix_cpu_timers: consolidate timer list cleanups
    posix_cpu_timer: consolidate expiry time type
    tick: Sanitize broadcast control logic
    tick: Prevent uncontrolled switch to oneshot mode
    tick: Make oneshot broadcast robust vs. CPU offlining
    x86: xen: Sync the CMOS RTC as well as the Xen wallclock
    x86: xen: Sync the wallclock when the system time is set
    timekeeping: Indicate that clock was set in the pvclock gtod notifier
    timekeeping: Pass flags instead of multiple bools to timekeeping_update()
    xen: Remove clock_was_set() call in the resume path
    hrtimers: Support resuming with two or more CPUs online (but stopped)
    timer: Fix jiffies wrap behavior of round_jiffies_common()
    ...

    Linus Torvalds
     
  • Pull irqdomain refactoring from Grant Likely:
    "This is the long awaited simplification of irqdomain. It gets rid of
    the different types of irq domains and instead both linear and tree
    mappings can be supported in a single domain. Doing this removes a
    lot of special case code and makes irq domains simpler to understand
    overall"

    * tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux:
    irq: fix checkpatch error
    irqdomain: Include hwirq number in /proc/interrupts
    irqdomain: make irq_linear_revmap() a fast path again
    irqdomain: remove irq_domain_generate_simple()
    irqdomain: Refactor irq_domain_associate_many()
    irqdomain: Beef up debugfs output
    irqdomain: Clean up aftermath of irq_domain refactoring
    irqdomain: Eliminate revmap type
    irqdomain: merge linear and tree reverse mappings.
    irqdomain: Add a name field
    irqdomain: Replace LEGACY mapping with LINEAR
    irqdomain: Relax failure path on setting up mappings

    Linus Torvalds
     

06 Jul, 2013

1 commit

  • Pull crypto update from Herbert Xu:
    - Do not idle omap device between crypto operations in one session.
    - Added sha224/sha384 shims for SSSE3.
    - More optimisations for camellia-aesni-avx2.
    - Removed defunct blowfish/twofish AVX2 implementations.
    - Added unaligned buffer self-tests.
    - Added PCLMULQDQ optimisation for CRCT10DIF.
    - Added support for Freescale's DCP co-processor
    - Misc fixes.

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (44 commits)
    crypto: testmgr - test hash implementations with unaligned buffers
    crypto: testmgr - test AEADs with unaligned buffers
    crypto: testmgr - test skciphers with unaligned buffers
    crypto: testmgr - check that entries in alg_test_descs are in correct order
    Revert "crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher"
    Revert "crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher"
    crypto: camellia-aesni-avx2 - tune assembly code for more performance
    hwrng: bcm2835 - fix MODULE_LICENSE tag
    hwrng: nomadik - use clk_prepare_enable()
    crypto: picoxcell - replace strict_strtoul() with kstrtoul()
    crypto: dcp - Staticize local symbols
    crypto: dcp - Use NULL instead of 0
    crypto: dcp - Use devm_* APIs
    crypto: dcp - Remove redundant platform_set_drvdata()
    hwrng: use platform_{get,set}_drvdata()
    crypto: omap-aes - Don't idle/start AES device between Encrypt operations
    crypto: crct10dif - Use PTR_RET
    crypto: ux500 - Cocci spatch "resource_size.spatch"
    crypto: sha256_ssse3 - add sha224 support
    crypto: sha512_ssse3 - add sha384 support
    ...

    Linus Torvalds
     

05 Jul, 2013

5 commits

  • As Linus said its not an error to not have an AMD IOMMU; esp.
    when you're not even running on an AMD platform.

    Reported-by: Linus Torvalds
    Signed-off-by: Peter Zijlstra
    Acked-by: Suravee Suthikulpanit
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20130703075542.GF23916@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/core

    Frederic sayed: "Most of these patches have been hanging around for
    several month now, in -mmotm for a significant chunk. They already
    missed a few releases."

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Pull trivial tree updates from Jiri Kosina:
    "The usual stuff from trivial tree"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)
    treewide: relase -> release
    Documentation/cgroups/memory.txt: fix stat file documentation
    sysctl/net.txt: delete reference to obsolete 2.4.x kernel
    spinlock_api_smp.h: fix preprocessor comments
    treewide: Fix typo in printk
    doc: device tree: clarify stuff in usage-model.txt.
    open firmware: "/aliasas" -> "/aliases"
    md: bcache: Fixed a typo with the word 'arithmetic'
    irq/generic-chip: fix a few kernel-doc entries
    frv: Convert use of typedef ctl_table to struct ctl_table
    sgi: xpc: Convert use of typedef ctl_table to struct ctl_table
    doc: clk: Fix incorrect wording
    Documentation/arm/IXP4xx fix a typo
    Documentation/networking/ieee802154 fix a typo
    Documentation/DocBook/media/v4l fix a typo
    Documentation/video4linux/si476x.txt fix a typo
    Documentation/virtual/kvm/api.txt fix a typo
    Documentation/early-userspace/README fix a typo
    Documentation/video4linux/soc-camera.txt fix a typo
    lguest: fix CONFIG_PAE -> CONFIG_x86_PAE in comment
    ...

    Linus Torvalds
     
  • Merge Kconfig menu diet patches from Dave Hansen:
    "I think the "Kernel Hacking" menu has gotten a bit out of hand. It is
    over 120 lines long on my system with everything enabled and options
    are scattered around it haphazardly.

    http://sr71.net/~dave/linux/kconfig-horror.png

    Let's try to introduce some sanity. This set takes that 120 lines
    down to 55 and makes it vastly easier to find some things. It's a
    start.

    This set stands on its own, but there is plenty of room for follow-up
    patches. The arch-specific debug options still end up getting stuck
    in the top-level "kernel hacking" menu. OPTIMIZE_INLINING, for
    instance, could obviously go in to the "compiler options" menu, but
    the fact that it is defined in arch/ in a separate Kconfig file keeps
    it on its own for the moment.

    The Signed-off-by's in here look funky. I changed employers while
    working on this set, so I have signoffs from both email addresses"

    * emailed patches from Dave Hansen :
    hang and lockup detection menu
    kconfig: consolidate printk options
    group locking debugging options
    consolidate compilation option configs
    consolidate runtime testing configs
    order memory debugging Kconfig options
    consolidate per-arch stack overflow debugging options

    Linus Torvalds
     
  • Original posting:

    http://lkml.kernel.org/r/20121214184202.F54094D9@kernel.stglabs.ibm.com

    Several architectures have similar stack debugging config options.
    They all pretty much do the same thing, some with slightly
    differing help text.

    This patch changes the architectures to instead enable a Kconfig
    boolean, and then use that boolean in the generic Kconfig.debug
    to present the actual menu option. This removes a bunch of
    duplication and adds consistency across arches.

    Signed-off-by: Dave Hansen
    Reviewed-by: H. Peter Anvin
    Reviewed-by: James Hogan
    Acked-by: Chris Metcalf [for tile]
    Signed-off-by: Dave Hansen
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

04 Jul, 2013

11 commits

  • Some userspaces do not preserve unusable property. Since usable
    segment has to be present according to VMX spec we can use present
    property to amend userspace bug by making unusable segment always
    nonpresent. vmx_segment_access_rights() already marks nonpresent segment
    as unusable.

    Cc: stable@vger.kernel.org # 3.9+
    Reported-by: Stefan Pietsch
    Tested-by: Stefan Pietsch
    Signed-off-by: Gleb Natapov
    Signed-off-by: Paolo Bonzini

    Gleb Natapov
     
  • Merge first patch-bomb from Andrew Morton:
    - various misc bits
    - I'm been patchmonkeying ocfs2 for a while, as Joel and Mark have been
    distracted. There has been quite a bit of activity.
    - About half the MM queue
    - Some backlight bits
    - Various lib/ updates
    - checkpatch updates
    - zillions more little rtc patches
    - ptrace
    - signals
    - exec
    - procfs
    - rapidio
    - nbd
    - aoe
    - pps
    - memstick
    - tools/testing/selftests updates

    * emailed patches from Andrew Morton : (445 commits)
    tools/testing/selftests: don't assume the x bit is set on scripts
    selftests: add .gitignore for kcmp
    selftests: fix clean target in kcmp Makefile
    selftests: add .gitignore for vm
    selftests: add hugetlbfstest
    self-test: fix make clean
    selftests: exit 1 on failure
    kernel/resource.c: remove the unneeded assignment in function __find_resource
    aio: fix wrong comment in aio_complete()
    drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode
    drivers/memstick/host/r592.c: convert to module_pci_driver
    drivers/memstick/host/jmb38x_ms: convert to module_pci_driver
    pps-gpio: add device-tree binding and support
    drivers/pps/clients/pps-gpio.c: convert to module_platform_driver
    drivers/pps/clients/pps-gpio.c: convert to devm_* helpers
    drivers/parport/share.c: use kzalloc
    Documentation/accounting/getdelays.c: avoid strncpy in accounting tool
    aoe: update internal version number to v83
    aoe: update copyright date
    aoe: perform I/O completions in parallel
    ...

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:
    "PCI device hotplug
    - Add pci_alloc_dev() interface (Gu Zheng)
    - Add pci_bus_get()/put() for reference counting (Jiang Liu)
    - Fix SR-IOV reference count issues (Jiang Liu)
    - Remove unused acpi_pci_roots list (Jiang Liu)

    MSI
    - Conserve interrupt resources on x86 (Alexander Gordeev)

    AER
    - Force fatal severity when component has been reset (Betty Dall)
    - Reset link below Root Port as well as Downstream Port (Betty Dall)
    - Fix "Firmware first" flag setting (Bjorn Helgaas)
    - Don't parse HEST for non-PCIe devices (Bjorn Helgaas)

    ASPM
    - Warn when we can't disable ASPM as driver requests (Bjorn Helgaas)

    Miscellaneous
    - Add CircuitCo PCI IDs (Darren Hart)
    - Add AMD CZ SATA and SMBus PCI IDs (Shane Huang)
    - Work around Ivytown NTB BAR size issue (Jon Mason)
    - Detect invalid initial BAR values (Kevin Hao)
    - Add pcibios_release_device() (Sebastian Ott)
    - Fix powerpc & sparc PCI_UNKNOWN power state usage (Bjorn Helgaas)"

    * tag 'pci-v3.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (51 commits)
    MAINTAINERS: Add ACPI folks for ACPI-related things under drivers/pci
    PCI: Add CircuitCo vendor ID and subsystem ID
    PCI: Use pdev->pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM)
    PCI: Return early on allocation failures to unindent mainline code
    PCI: Simplify IOV implementation and fix reference count races
    PCI: Drop redundant setting of bus->is_added in virtfn_add_bus()
    unicore32/PCI: Remove redundant call of pci_bus_add_devices()
    m68k/PCI: Remove redundant call of pci_bus_add_devices()
    PCI / ACPI / PM: Use correct power state strings in messages
    PCI: Fix comment typo for pcie_pme_remove()
    PCI: Rename pci_release_bus_bridge_dev() to pci_release_host_bridge_dev()
    PCI: Fix refcount issue in pci_create_root_bus() error recovery path
    ia64/PCI: Clean up pci_scan_root_bus() usage
    PCI/AER: Reset link for devices below Root Port or Downstream Port
    ACPI / APEI: Force fatal AER severity when component has been reset
    PCI/AER: Remove "extern" from function declarations
    PCI/AER: Move AER severity defines to aer.h
    PCI/AER: Set dev->__aer_firmware_first only for matching devices
    PCI/AER: Factor out HEST device type matching
    PCI/AER: Don't parse HEST table for non-PCIe devices
    ...

    Linus Torvalds
     
  • Add a configuration option to build RapidIO subsystem core code as a
    loadable kernel module. Currently this option is available only for
    x86-based platforms, with the additional patch for PowerPC planned to be
    provided later.

    This patch replaces kernel command line parameter "riohdid=" with its
    module-specific analog "rapidio.hdid=".

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Micha Nelissen
    Cc: Stef van Os
    Cc: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Because it is not used.

    Signed-off-by: Oleg Nesterov
    Cc: Benjamin Herrenschmidt
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jan Kratochvil
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Will Deacon
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Prepare for removing num_physpages and simplify mem_init().

    Signed-off-by: Jiang Liu
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Andreas Herrmann
    Cc: Tang Chen
    Cc: Wen Congyang
    Cc: Jianguo Wu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Concentrate code to modify totalram_pages into the mm core, so the arch
    memory initialized code doesn't need to take care of it. With these
    changes applied, only following functions from mm core modify global
    variable totalram_pages: free_bootmem_late(), free_all_bootmem(),
    free_all_bootmem_node(), adjust_managed_page_count().

    With this patch applied, it will be much more easier for us to keep
    totalram_pages and zone->managed_pages in consistence.

    Signed-off-by: Jiang Liu
    Acked-by: David Howells
    Cc: "H. Peter Anvin"
    Cc: "Michael S. Tsirkin"
    Cc:
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Chris Metcalf
    Cc: Geert Uytterhoeven
    Cc: Ingo Molnar
    Cc: Jeremy Fitzhardinge
    Cc: Jianguo Wu
    Cc: Joonsoo Kim
    Cc: Kamezawa Hiroyuki
    Cc: Konrad Rzeszutek Wilk
    Cc: Marek Szyprowski
    Cc: Mel Gorman
    Cc: Michel Lespinasse
    Cc: Minchan Kim
    Cc: Rik van Riel
    Cc: Rusty Russell
    Cc: Tang Chen
    Cc: Tejun Heo
    Cc: Thomas Gleixner
    Cc: Wen Congyang
    Cc: Will Deacon
    Cc: Yasuaki Ishimatsu
    Cc: Yinghai Lu
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • In order to simpilify management of totalram_pages and
    zone->managed_pages, make __free_pages_bootmem() only available at boot
    time. With this change applied, __free_pages_bootmem() will only be
    used by bootmem.c and nobootmem.c at boot time, so mark it as __init.
    Other callers of __free_pages_bootmem() have been converted to use
    free_reserved_page(), which handles totalram_pages and
    zone->managed_pages in a safer way.

    This patch also fix a bug in free_pagetable() for x86_64, which should
    increase zone->managed_pages instead of zone->present_pages when freeing
    reserved pages.

    And now we have managed_pages_count_lock to protect totalram_pages and
    zone->managed_pages, so remove the redundant ppb_lock lock in
    put_page_bootmem(). This greatly simplifies the locking rules.

    Signed-off-by: Jiang Liu
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Yinghai Lu
    Cc: Wen Congyang
    Cc: Tang Chen
    Cc: Yasuaki Ishimatsu
    Cc: Mel Gorman
    Cc: Minchan Kim
    Cc: "Michael S. Tsirkin"
    Cc:
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Chris Metcalf
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Cc: Jeremy Fitzhardinge
    Cc: Jianguo Wu
    Cc: Joonsoo Kim
    Cc: Kamezawa Hiroyuki
    Cc: Konrad Rzeszutek Wilk
    Cc: Marek Szyprowski
    Cc: Michel Lespinasse
    Cc: Rik van Riel
    Cc: Rusty Russell
    Cc: Tejun Heo
    Cc: Will Deacon
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Commit "mm: introduce new field 'managed_pages' to struct zone" assumes
    that all highmem pages will be freed into the buddy system by function
    mem_init(). But that's not always true, some architectures may reserve
    some highmem pages during boot. For example PPC may allocate highmem
    pages for giagant HugeTLB pages, and several architectures have code to
    check PageReserved flag to exclude highmem pages allocated during boot
    when freeing highmem pages into the buddy system.

    So treat highmem pages in the same way as normal pages, that is to:
    1) reset zone->managed_pages to zero in mem_init().
    2) recalculate managed_pages when freeing pages into the buddy system.

    Signed-off-by: Jiang Liu
    Cc: "H. Peter Anvin"
    Cc: Tejun Heo
    Cc: Joonsoo Kim
    Cc: Yinghai Lu
    Cc: Mel Gorman
    Cc: Minchan Kim
    Cc: Kamezawa Hiroyuki
    Cc: Marek Szyprowski
    Cc: "Michael S. Tsirkin"
    Cc:
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Chris Metcalf
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Cc: Ingo Molnar
    Cc: Jeremy Fitzhardinge
    Cc: Jianguo Wu
    Cc: Konrad Rzeszutek Wilk
    Cc: Michel Lespinasse
    Cc: Rik van Riel
    Cc: Rusty Russell
    Cc: Tang Chen
    Cc: Thomas Gleixner
    Cc: Wen Congyang
    Cc: Will Deacon
    Cc: Yasuaki Ishimatsu
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Use common help function free_reserved_area() to simplify code.

    Signed-off-by: Jiang Liu
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Yinghai Lu
    Cc: Tang Chen
    Cc: Wen Congyang
    Cc: Jianguo Wu
    Cc: "Michael S. Tsirkin"
    Cc:
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Chris Metcalf
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Cc: Jeremy Fitzhardinge
    Cc: Joonsoo Kim
    Cc: Kamezawa Hiroyuki
    Cc: Konrad Rzeszutek Wilk
    Cc: Marek Szyprowski
    Cc: Mel Gorman
    Cc: Michel Lespinasse
    Cc: Minchan Kim
    Cc: Rik van Riel
    Cc: Rusty Russell
    Cc: Tejun Heo
    Cc: Will Deacon
    Cc: Yasuaki Ishimatsu
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • The soft-dirty is a bit on a PTE which helps to track which pages a task
    writes to. In order to do this tracking one should

    1. Clear soft-dirty bits from PTEs ("echo 4 > /proc/PID/clear_refs)
    2. Wait some time.
    3. Read soft-dirty bits (55'th in /proc/PID/pagemap2 entries)

    To do this tracking, the writable bit is cleared from PTEs when the
    soft-dirty bit is. Thus, after this, when the task tries to modify a
    page at some virtual address the #PF occurs and the kernel sets the
    soft-dirty bit on the respective PTE.

    Note, that although all the task's address space is marked as r/o after
    the soft-dirty bits clear, the #PF-s that occur after that are processed
    fast. This is so, since the pages are still mapped to physical memory,
    and thus all the kernel does is finds this fact out and puts back
    writable, dirty and soft-dirty bits on the PTE.

    Another thing to note, is that when mremap moves PTEs they are marked
    with soft-dirty as well, since from the user perspective mremap modifies
    the virtual memory at mremap's new address.

    Signed-off-by: Pavel Emelyanov
    Cc: Matt Mackall
    Cc: Xiao Guangrong
    Cc: Glauber Costa
    Cc: Marcelo Tosatti
    Cc: KOSAKI Motohiro
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Emelyanov