03 Dec, 2013

1 commit

  • Pull perf fixes from Ingo Molnar:
    "Misc kernel and tooling fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools lib traceevent: Fix conversion of pointer to integer of different size
    perf/trace: Properly use u64 to hold event_id
    perf: Remove fragile swevent hlist optimization
    ftrace, perf: Avoid infinite event generation loop
    tools lib traceevent: Fix use of multiple options in processing field
    perf header: Fix possible memory leaks in process_group_desc()
    perf header: Fix bogus group name
    perf tools: Tag thread comm as overriden

    Linus Torvalds
     

24 Nov, 2013

1 commit

  • Pull crypto update from Herbert Xu:
    - Made x86 ablk_helper generic for ARM
    - Phase out chainiv in favour of eseqiv (affects IPsec)
    - Fixed aes-cbc IV corruption on s390
    - Added constant-time crypto_memneq which replaces memcmp
    - Fixed aes-ctr in omap-aes
    - Added OMAP3 ROM RNG support
    - Add PRNG support for MSM SoC's
    - Add and use Job Ring API in caam
    - Misc fixes

    [ NOTE! This pull request was sent within the merge window, but Herbert
    has some questionable email sending setup that makes him public enemy
    #1 as far as gmail is concerned. So most of his emails seem to be
    trapped by gmail as spam, resulting in me not seeing them. - Linus ]

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (49 commits)
    crypto: s390 - Fix aes-cbc IV corruption
    crypto: omap-aes - Fix CTR mode counter length
    crypto: omap-sham - Add missing modalias
    padata: make the sequence counter an atomic_t
    crypto: caam - Modify the interface layers to use JR API's
    crypto: caam - Add API's to allocate/free Job Rings
    crypto: caam - Add Platform driver for Job Ring
    hwrng: msm - Add PRNG support for MSM SoC's
    ARM: DT: msm: Add Qualcomm's PRNG driver binding document
    crypto: skcipher - Use eseqiv even on UP machines
    crypto: talitos - Simplify key parsing
    crypto: picoxcell - Simplify and harden key parsing
    crypto: ixp4xx - Simplify and harden key parsing
    crypto: authencesn - Simplify key parsing
    crypto: authenc - Export key parsing helper function
    crypto: mv_cesa: remove deprecated IRQF_DISABLED
    hwrng: OMAP3 ROM Random Number Generator support
    crypto: sha256_ssse3 - also test for BMI2
    crypto: mv_cesa - Remove redundant of_match_ptr
    crypto: sahara - Remove redundant of_match_ptr
    ...

    Linus Torvalds
     

23 Nov, 2013

2 commits

  • Pull DRM fixes from Dave Airlie:
    "I was going to leave this until post -rc1 but sysfs fixes broke
    hotplug in userspace, so I had to fix it harder, otherwise a set of
    pulls from intel, radeon and vmware,

    The vmware/ttm changes are bit larger but since its early and they are
    unlikely to break anything else I put them in, it lets vmware work
    with dri3"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (36 commits)
    drm/sysfs: fix hotplug regression since lifetime changes
    drm/exynos: g2d: fix memory leak to userptr
    drm/i915: Fix gen3 self-refresh watermarks
    drm/ttm: Remove set_need_resched from the ttm fault handler
    drm/ttm: Don't move non-existing data
    drm/radeon: hook up backlight functions for CI and KV family.
    drm/i915: Replicate BIOS eDP bpp clamping hack for hsw
    drm/i915: Do not enable package C8 on unsupported hardware
    drm/i915: Hold pc8 lock around toggling pc8.gpu_idle
    drm/i915: encoder->get_config is no longer optional
    drm/i915/tv: add ->get_config callback
    drm/radeon/cik: Add macrotile mode array query
    drm/radeon/cik: Return backend map information to userspace
    drm/vmwgfx: Make vmwgfx dma buffers prime aware
    drm/vmwgfx: Make surfaces prime-aware
    drm/vmwgfx: Hook up the prime ioctls
    drm/ttm: Add a minimal prime implementation for ttm base objects
    drm/vmwgfx: Fix false lockdep warning
    drm/ttm: Allow execbuf util reserves without ticket
    drm/i915: restore the early forcewake cleanup
    ...

    Linus Torvalds
     
  • Pull KVM fixes from Gleb Natapov.

    * 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: kvm_clear_guest_page(): fix empty_zero_page usage
    kvm: mmu: delay mmu audit activation
    arm/arm64: KVM: Fix hyp mappings of vmalloc regions

    Linus Torvalds
     

22 Nov, 2013

1 commit

  • There are two code paths how page with pmd page table can be freed:
    pmd_free() and pmd_free_tlb().

    I've missed the second one and didn't add page table destructor call
    there. It leads to leak of page->ptl for pmd page tables, if
    dynamically allocated page->ptl is in use.

    The patch adds the missed destructor and modifies documentation
    accordingly.

    Signed-off-by: Kirill A. Shutemov
    Reported-by: Andrey Vagin
    Tested-by: Andrey Vagin
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     

21 Nov, 2013

3 commits

  • …rm-intel into drm-fixes

    Just a small pile of fixes for bugs and a few regressions. I'm still
    trying to track down a driver load hang on my g33 (which infuriatingly
    doesn't happen when loading the module manually after boot), somehow
    bisecting loves to go astray on this one :( And there's a (harmless)
    locking WARN in the suspend code due to one of Jesse's vlv backlight
    rework patches. Otherwise nothing outstanding afaik.

    * tag 'drm-intel-fixes-2013-11-20' of git://people.freedesktop.org/~danvet/drm-intel:
    drm/i915: Fix gen3 self-refresh watermarks
    drm/i915: Replicate BIOS eDP bpp clamping hack for hsw
    drm/i915: Do not enable package C8 on unsupported hardware
    drm/i915: Hold pc8 lock around toggling pc8.gpu_idle
    drm/i915: encoder->get_config is no longer optional
    drm/i915/tv: add ->get_config callback
    drm/i915: restore the early forcewake cleanup
    Partially revert "drm/i915: tune the RC6 threshold for stability"
    drm/i915: flush cursors harder
    i915: Use 120MHz LVDS SSC clock for gen5/gen6/gen7
    x86/early quirk: use gen6 stolen detection for VLV
    drm/i915/dp: set sink to power down mode on dp disable

    Dave Airlie
     
  • Note that pmds[i] is simply uninitialized at that point...

    Granted, it's very hard to hit (you need split page locks *and*
    kmalloc(sizeof(spinlock_t), GFP_KERNEL) failing), but the code is
    obviously bogus.

    Introduced by commit 09ef4939850a ("x86: add missed
    pgtable_pmd_page_ctor/dtor calls for preallocated pmds")

    Signed-off-by: Al Viro
    Cc: Kirill A. Shutemov
    Cc: Ingo Molnar
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Pull more ACPI and power management updates from Rafael Wysocki:

    - ACPI-based device hotplug fixes for issues introduced recently and a
    fix for an older error code path bug in the ACPI PCI host bridge
    driver

    - Fix for recently broken OMAP cpufreq build from Viresh Kumar

    - Fix for a recent hibernation regression related to s2disk

    - Fix for a locking-related regression in the ACPI EC driver from
    Puneet Kumar

    - System suspend error code path fix related to runtime PM and runtime
    PM documentation update from Ulf Hansson

    - cpufreq's conservative governor fix from Xiaoguang Chen

    - New processor IDs for intel_idle and turbostat and removal of an
    obsolete Kconfig option from Len Brown

    - New device IDs for the ACPI LPSS (Low-Power Subsystem) driver and
    ACPI-based PCI hotplug (ACPIPHP) cleanup from Mika Westerberg

    - Removal of several ACPI video DMI blacklist entries that are not
    necessary any more from Aaron Lu

    - Rework of the ACPI companion representation in struct device and code
    cleanup related to that change from Rafael J Wysocki, Lan Tianyu and
    Jarkko Nikula

    - Fixes for assigning names to ACPI-enumerated I2C and SPI devices from
    Jarkko Nikula

    * tag 'pm+acpi-2-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (24 commits)
    PCI / hotplug / ACPI: Drop unused acpiphp_debug declaration
    ACPI / scan: Set flags.match_driver in acpi_bus_scan_fixed()
    ACPI / PCI root: Clear driver_data before failing enumeration
    ACPI / hotplug: Fix PCI host bridge hot removal
    ACPI / hotplug: Fix acpi_bus_get_device() return value check
    cpufreq: governor: Remove fossil comment in the cpufreq_governor_dbs()
    ACPI / video: clean up DMI table for initial black screen problem
    ACPI / EC: Ensure lock is acquired before accessing ec struct members
    PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps()
    ACPI / AC: Remove struct acpi_device pointer from struct acpi_ac
    spi: Use stable dev_name for ACPI enumerated SPI slaves
    i2c: Use stable dev_name for ACPI enumerated I2C slaves
    ACPI: Provide acpi_dev_name accessor for struct acpi_device device name
    ACPI / bind: Use (put|get)_device() on ACPI device objects too
    ACPI: Eliminate the DEVICE_ACPI_HANDLE() macro
    ACPI / driver core: Store an ACPI device pointer in struct acpi_dev_node
    cpufreq: OMAP: Fix compilation error 'r & ret undeclared'
    PM / Runtime: Fix error path for prepare
    PM / Runtime: Update documentation around probe|remove|suspend
    cpufreq: conservative: set requested_freq to policy max when it is over policy max
    ...

    Linus Torvalds
     

20 Nov, 2013

4 commits

  • We should not be using jump labels before they were initialized. Push back
    the callback to until after jump label initialization.

    Signed-off-by: Sasha Levin
    Signed-off-by: Gleb Natapov

    Sasha Levin
     
  • Pull UML changes from Richard Weinberger:
    "This pile contains a nice defconfig cleanup, a rewritten stack
    unwinder and various cleanups"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: Remove unused declarations from
    um: remove used STDIO_CONSOLE Kconfig param
    um/vdso: add .gitignore for a couple of targets
    arch/um: make it work with defconfig and x86_64
    um: Make kstack_depth_to_print conform to arch/x86
    um: Get rid of thread_struct->saved_task
    um: Make stack trace reliable against kernel mode faults
    um: Rewrite show_stack()

    Linus Torvalds
     
  • Pull x86 fix from Ingo Molnar:
    "A modular build fix for certain .config's"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Export 'boot_cpu_physical_apicid' to modules

    Linus Torvalds
     
  • Pull irq cleanups from Ingo Molnar:
    "This is a multi-arch cleanup series from Thomas Gleixner, which we
    kept to near the end of the merge window, to not interfere with
    architecture updates.

    This series (motivated by the -rt kernel) unifies more aspects of IRQ
    handling and generalizes PREEMPT_ACTIVE"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    preempt: Make PREEMPT_ACTIVE generic
    sparc: Use preempt_schedule_irq
    ia64: Use preempt_schedule_irq
    m32r: Use preempt_schedule_irq
    hardirq: Make hardirq bits generic
    m68k: Simplify low level interrupt handling code
    genirq: Prevent spurious detection for unconditionally polled interrupts

    Linus Torvalds
     

19 Nov, 2013

2 commits

  • Vince's perf-trinity fuzzer found yet another 'interesting' problem.

    When we sample the irq_work_exit tracepoint with period==1 (or
    PERF_SAMPLE_PERIOD) and we add an fasync SIGNAL handler we create an
    infinite event generation loop:

    ,->
    | irq_work_exit() ->
    | trace_irq_work_exit() ->
    | ...
    | __perf_event_overflow() -> (due to fasync)
    | irq_work_queue() -> (irq_work_list must be empty)
    '--------- arch_irq_work_raise()

    Similar things can happen due to regular poll() wakeups if we exceed
    the ring-buffer wakeup watermark, or have an event_limit.

    To avoid this, dis-allow sampling this particular tracepoint.

    In order to achieve this, create a special perf_perm function pointer
    for each event and call this (when set) on trying to create a
    tracepoint perf event.

    [ roasted: use expr... to allow for ',' in your expression ]

    Reported-by: Vince Weaver
    Tested-by: Vince Weaver
    Signed-off-by: Peter Zijlstra
    Cc: Steven Rostedt
    Cc: Dave Jones
    Cc: Frederic Weisbecker
    Link: http://lkml.kernel.org/r/20131114152304.GC5364@laptop.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • * pm-tools:
    tools / power turbostat: Support Silvermont

    Rafael J. Wysocki
     

17 Nov, 2013

4 commits

  • Cc: Richard Weinberger
    Signed-off-by: Ramkumar Ramachandra
    Signed-off-by: Richard Weinberger

    Ramkumar Ramachandra
     
  • arch/um/defconfig only lists one default configuration, and that applies
    only to the i386 architecture. Replace it with two minimal
    configuration files generated using `make savedefconfig`:

    i386_defconfig and x86_64_defconfig

    The build scripts now require two updates:

    1. um's Kconfig (arch/x86/um/Kconfig) should specify an ARCH_DEFCONFIG
    section explicitly pointing to these scripts if the required
    variables are set. Take care to remove the DEFCONFIG_LIST section
    defined in the included file arch/um/Kconfig.common.

    2. um's Makefile (arch/um/Makefile) should set KBUILD_DEFCONFIG properly
    for the top-level Makefile to pick up. Copy the logic in
    arch/x86/Makefile to properly pick the defconfig file depending on
    the actual architecture; except we're working with $SUBARCH here,
    instead of $ARCH.

    Now, you can do:

    $ ARCH=um make defconfig
    $ ARCH=um make

    and successfully build User-Mode Linux on an x86_64 box in default
    configuration.

    Cc: Richard Weinberger
    Cc: Jeff Dike
    Signed-off-by: Ramkumar Ramachandra
    Signed-off-by: Richard Weinberger

    Ramkumar Ramachandra
     
  • Currently on UML stack traces are not very reliable and both
    x86 and x86_64 have their on implementations.
    This patch unifies both and adds support to outline unreliable
    functions calls.

    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • Pull tracing update from Steven Rostedt:
    "This batch of changes is mostly clean ups and small bug fixes. The
    only real feature that was added this release is from Namhyung Kim,
    who introduced "set_graph_notrace" filter that lets you run the
    function graph tracer and not trace particular functions and their
    call chain.

    Tom Zanussi added some updates to the ftrace multibuffer tracing that
    made it more consistent with the top level tracing.

    One of the fixes for perf function tracing required an API change in
    RCU; the addition of "rcu_is_watching()". As Paul McKenney is pushing
    that change in this release too, he gave me a branch that included all
    the changes to get that working, and I pulled that into my tree in
    order to complete the perf function tracing fix"

    * tag 'trace-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Add rcu annotation for syscall trace descriptors
    tracing: Do not use signed enums with unsigned long long in fgragh output
    tracing: Remove unused function ftrace_off_permanent()
    tracing: Do not assign filp->private_data to freed memory
    tracing: Add helper function tracing_is_disabled()
    tracing: Open tracer when ftrace_dump_on_oops is used
    tracing: Add support for SOFT_DISABLE to syscall events
    tracing: Make register/unregister_ftrace_command __init
    tracing: Update event filters for multibuffer
    recordmcount.pl: Add support for __fentry__
    ftrace: Have control op function callback only trace when RCU is watching
    rcu: Do not trace rcu_is_watching() functions
    ftrace/x86: skip over the breakpoint for ftrace caller
    trace/trace_stat: use rbtree postorder iteration helper instead of opencoding
    ftrace: Add set_graph_notrace filter
    ftrace: Narrow down the protected area of graph_lock
    ftrace: Introduce struct ftrace_graph_data
    ftrace: Get rid of ftrace_graph_filter_enabled
    tracing: Fix potential out-of-bounds in trace_get_user()
    tracing: Show more exact help information about snapshot

    Linus Torvalds
     

16 Nov, 2013

2 commits

  • Pull trivial tree updates from Jiri Kosina:
    "Usual earth-shaking, news-breaking, rocket science pile from
    trivial.git"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits)
    doc: usb: Fix typo in Documentation/usb/gadget_configs.txt
    doc: add missing files to timers/00-INDEX
    timekeeping: Fix some trivial typos in comments
    mm: Fix some trivial typos in comments
    irq: Fix some trivial typos in comments
    NUMA: fix typos in Kconfig help text
    mm: update 00-INDEX
    doc: Documentation/DMA-attributes.txt fix typo
    DRM: comment: `halve' -> `half'
    Docs: Kconfig: `devlopers' -> `developers'
    doc: typo on word accounting in kprobes.c in mutliple architectures
    treewide: fix "usefull" typo
    treewide: fix "distingush" typo
    mm/Kconfig: Grammar s/an/a/
    kexec: Typo s/the/then/
    Documentation/kvm: Update cpuid documentation for steal time and pv eoi
    treewide: Fix common typo in "identify"
    __page_to_pfn: Fix typo in comment
    Correct some typos for word frequency
    clk: fixed-factor: Fix a trivial typo
    ...

    Linus Torvalds
     
  • Pull Kconfig cleanups from Mark Salter:
    "Remove some unused config options from C6X and clean up PC_PARPORT
    dependencies. The latter was discussed here:

    https://lkml.org/lkml/2013/10/8/12"

    * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
    c6x: remove unused COMMON_CLKDEV Kconfig parameter
    Kconfig cleanup (PARPORT_PC dependencies)
    x86: select ARCH_MIGHT_HAVE_PC_PARPORT
    unicore32: select ARCH_MIGHT_HAVE_PC_PARPORT
    sparc: select ARCH_MIGHT_HAVE_PC_PARPORT
    sh: select ARCH_MIGHT_HAVE_PC_PARPORT
    powerpc: select ARCH_MIGHT_HAVE_PC_PARPORT
    parisc: select ARCH_MIGHT_HAVE_PC_PARPORT
    mips: select ARCH_MIGHT_HAVE_PC_PARPORT
    microblaze: select ARCH_MIGHT_HAVE_PC_PARPORT
    m68k: select ARCH_MIGHT_HAVE_PC_PARPORT
    ia64: select ARCH_MIGHT_HAVE_PC_PARPORT
    arm: select ARCH_MIGHT_HAVE_PC_PARPORT
    alpha: select ARCH_MIGHT_HAVE_PC_PARPORT
    c6x: remove unused parameter in Kconfig

    Linus Torvalds
     

15 Nov, 2013

11 commits

  • Commit 9ebddac7ea2a "ACPI, x86: Fix extended error log driver to depend on
    CONFIG_X86_LOCAL_APIC" fixed a build error when CONFIG_X86_LOCAL_APIC was not
    selected and !CONFIG_SMP.

    However, since CONFIG_ACPI_EXTLOG is tristate, there is a second build error:

    ERROR: "boot_cpu_physical_apicid" [drivers/acpi/acpi_extlog.ko] undefined!

    The symbol needs to be exported for it to be available.

    Signed-off-by: David Rientjes
    Acked-by: Tony Luck
    Cc: Chen Gong
    Cc: Rafael J. Wysocki
    Link: http://lkml.kernel.org/r/alpine.DEB.2.02.1311141504080.30112@chino.kir.corp.google.com
    [ Changed it to a _GPL() export. ]
    Signed-off-by: Ingo Molnar

    David Rientjes
     
  • Pull drm updates from Dave Airlie:
    "This is a combo of -next and some -fixes that came in in the
    intervening time.

    Highlights:

    New drivers:
    ARM Armada driver for Marvell Armada 510 SOCs

    Intel:
    Broadwell initial support under a default off switch,
    Stereo/3D HDMI mode support
    Valleyview improvements
    Displayport improvements
    Haswell fixes
    initial mipi dsi panel support
    CRC support for debugging
    build with CONFIG_FB=n

    Radeon:
    enable DPM on a number of GPUs by default
    secondary GPU powerdown support
    enable HDMI audio by default
    Hawaii support

    Nouveau:
    dynamic pm code infrastructure reworked, does nothing major yet
    GK208 modesetting support
    MSI fixes, on by default again
    PMPEG improvements
    pageflipping fixes

    GMA500:
    minnowboard SDVO support

    VMware:
    misc fixes

    MSM:
    prime, plane and rendernodes support

    Tegra:
    rearchitected to put the drm driver into the drm subsystem.
    HDMI and gr2d support for tegra 114 SoC

    QXL:
    oops fix, and multi-head fixes

    DRM core:
    sysfs lifetime fixes
    client capability ioctl
    further cleanups to device midlayer
    more vblank timestamp fixes"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (789 commits)
    drm/nouveau: do not map evicted vram buffers in nouveau_bo_vma_add
    drm/nvc0-/gr: shift wrapping bug in nvc0_grctx_generate_r406800
    drm/nouveau/pwr: fix missing mutex unlock in a failure path
    drm/nv40/therm: fix slowing down fan when pstate undefined
    drm/nv11-: synchronise flips to vblank, unless async flip requested
    drm/nvc0-: remove nasty fifo swmthd hack for flip completion method
    drm/nv10-: we no longer need to create nvsw object on user channels
    drm/nouveau: always queue flips relative to kernel channel activity
    drm/nouveau: there is no need to reserve/fence the new fb when flipping
    drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fence
    drm/nouveau: allow nouveau_fence_ref() to be a noop
    drm/nvc8/mc: msi rearm is via the nvc0 method
    drm/ttm: Fix vma page_prot bit manipulation
    drm/vmwgfx: Fix a couple of compile / sparse warnings and errors
    drm/vmwgfx: Resource evict fixes
    drm/edid: compare actual vrefresh for all modes for quirks
    drm: shmob_drm: Convert to clk_prepare/unprepare
    drm/nouveau: fix 32-bit build
    drm/i915/opregion: fix build error on CONFIG_ACPI=n
    Revert "drm/radeon/audio: don't set speaker allocation on DCE4+"
    ...

    Linus Torvalds
     
  • Pull KVM changes from Paolo Bonzini:
    "Here are the 3.13 KVM changes. There was a lot of work on the PPC
    side: the HV and emulation flavors can now coexist in a single kernel
    is probably the most interesting change from a user point of view.

    On the x86 side there are nested virtualization improvements and a few
    bugfixes.

    ARM got transparent huge page support, improved overcommit, and
    support for big endian guests.

    Finally, there is a new interface to connect KVM with VFIO. This
    helps with devices that use NoSnoop PCI transactions, letting the
    driver in the guest execute WBINVD instructions. This includes some
    nVidia cards on Windows, that fail to start without these patches and
    the corresponding userspace changes"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (146 commits)
    kvm, vmx: Fix lazy FPU on nested guest
    arm/arm64: KVM: PSCI: propagate caller endianness to the incoming vcpu
    arm/arm64: KVM: MMIO support for BE guest
    kvm, cpuid: Fix sparse warning
    kvm: Delete prototype for non-existent function kvm_check_iopl
    kvm: Delete prototype for non-existent function complete_pio
    hung_task: add method to reset detector
    pvclock: detect watchdog reset at pvclock read
    kvm: optimize out smp_mb after srcu_read_unlock
    srcu: API for barrier after srcu read unlock
    KVM: remove vm mmap method
    KVM: IOMMU: hva align mapping page size
    KVM: x86: trace cpuid emulation when called from emulator
    KVM: emulator: cleanup decode_register_operand() a bit
    KVM: emulator: check rex prefix inside decode_register()
    KVM: x86: fix emulation of "movzbl %bpl, %eax"
    kvm_host: typo fix
    KVM: x86: emulate SAHF instruction
    MAINTAINERS: add tree for kvm.git
    Documentation/kvm: add a 00-INDEX file
    ...

    Linus Torvalds
     
  • Pull Xen updates from Konrad Rzeszutek Wilk:
    "This has tons of fixes and two major features which are concentrated
    around the Xen SWIOTLB library.

    The short is that the tracing facility (just one function) has
    been added to SWIOTLB to make it easier to track I/O progress.
    Additionally under Xen and ARM (32 & 64) the Xen-SWIOTLB driver
    "is used to translate physical to machine and machine to physical
    addresses of foreign[guest] pages for DMA operations" (Stefano) when
    booting under hardware without proper IOMMU.

    There are also bug-fixes, cleanups, compile warning fixes, etc.

    The commit times for some of the commits is a bit fresh - that is b/c
    we wanted to make sure we have the Ack's from the ARM folks - which
    with the string of back-to-back conferences took a bit of time. Rest
    assured - the code has been stewing in #linux-next for some time.

    Features:
    - SWIOTLB has tracing added when doing bounce buffer.
    - Xen ARM/ARM64 can use Xen-SWIOTLB. This work allows Linux to
    safely program real devices for DMA operations when running as a
    guest on Xen on ARM, without IOMMU support. [*1]
    - xen_raw_printk works with PVHVM guests if needed.

    Bug-fixes:
    - Make memory ballooning work under HVM with large MMIO region.
    - Inform hypervisor of MCFG regions found in ACPI DSDT.
    - Remove deprecated IRQF_DISABLED.
    - Remove deprecated __cpuinit.

    [*1]:
    "On arm and arm64 all Xen guests, including dom0, run with second
    stage translation enabled. As a consequence when dom0 programs a
    device for a DMA operation is going to use (pseudo) physical
    addresses instead machine addresses. This work introduces two trees
    to track physical to machine and machine to physical mappings of
    foreign pages. Local pages are assumed mapped 1:1 (physical address
    == machine address). It enables the SWIOTLB-Xen driver on ARM and
    ARM64, so that Linux can translate physical addresses to machine
    addresses for dma operations when necessary. " (Stefano)"

    * tag 'stable/for-linus-3.13-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (32 commits)
    xen/arm: pfn_to_mfn and mfn_to_pfn return the argument if nothing is in the p2m
    arm,arm64/include/asm/io.h: define struct bio_vec
    swiotlb-xen: missing include dma-direction.h
    pci-swiotlb-xen: call pci_request_acs only ifdef CONFIG_PCI
    arm: make SWIOTLB available
    xen: delete new instances of added __cpuinit
    xen/balloon: Set balloon's initial state to number of existing RAM pages
    xen/mcfg: Call PHYSDEVOP_pci_mmcfg_reserved for MCFG areas.
    xen: remove deprecated IRQF_DISABLED
    x86/xen: remove deprecated IRQF_DISABLED
    swiotlb-xen: fix error code returned by xen_swiotlb_map_sg_attrs
    swiotlb-xen: static inline xen_phys_to_bus, xen_bus_to_phys, xen_virt_to_bus and range_straddles_page_boundary
    grant-table: call set_phys_to_machine after mapping grant refs
    arm,arm64: do not always merge biovec if we are running on Xen
    swiotlb: print a warning when the swiotlb is full
    swiotlb-xen: use xen_dma_map/unmap_page, xen_dma_sync_single_for_cpu/device
    xen: introduce xen_dma_map/unmap_page and xen_dma_sync_single_for_cpu/device
    tracing/events: Fix swiotlb tracepoint creation
    swiotlb-xen: use xen_alloc/free_coherent_pages
    xen: introduce xen_alloc/free_coherent_pages
    ...

    Linus Torvalds
     
  • We've switched over every architecture that supports SMP to it, so
    remove the new useless config variable.

    Signed-off-by: Christoph Hellwig
    Cc: Jan Kara
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • If split page table lock is in use, we embed the lock into struct page
    of table's page. We have to disable split lock, if spinlock_t is too
    big be to be embedded, like when DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC
    enabled.

    This patch add support for dynamic allocation of split page table lock
    if we can't embed it to struct page.

    page->ptl is unsigned long now and we use it as spinlock_t if
    sizeof(spinlock_t) ptl.

    Signed-off-by: Kirill A. Shutemov
    Reviewed-by: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Signed-off-by: Kirill A. Shutemov
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • In split page table lock case, we embed spinlock_t into struct page.
    For obvious reason, we don't want to increase size of struct page if
    spinlock_t is too big, like with DEBUG_SPINLOCK or DEBUG_LOCK_ALLOC or
    on -rt kernel. So we disable split page table lock, if spinlock_t is
    too big.

    This patchset allows to allocate the lock dynamically if spinlock_t is
    big. In this page->ptl is used to store pointer to spinlock instead of
    spinlock itself. It costs additional cache line for indirect access,
    but fix page fault scalability for multi-threaded applications.

    LOCK_STAT depends on DEBUG_SPINLOCK, so on current kernel enabling
    LOCK_STAT to analyse scalability issues breaks scalability. ;)

    The patchset mostly fixes this. Results for ./thp_memscale -c 80 -b 512M
    on 4-socket machine:

    baseline, no CONFIG_LOCK_STAT: 9.115460703 seconds time elapsed
    baseline, CONFIG_LOCK_STAT=y: 53.890567123 seconds time elapsed
    patched, no CONFIG_LOCK_STAT: 8.852250368 seconds time elapsed
    patched, CONFIG_LOCK_STAT=y: 11.069770759 seconds time elapsed

    Patch count is scary, but most of them trivial. Overview:

    Patches 1-4 Few bug fixes. No dependencies to other patches.
    Probably should applied as soon as possible.

    Patch 5 Changes signature of pgtable_page_ctor(). We will use it
    for dynamic lock allocation, so it can fail.

    Patches 6-8 Add missing constructor/destructor calls on few archs.
    It's fixes NR_PAGETABLE accounting and prepare to use
    split ptl.

    Patches 9-33 Add pgtable_page_ctor() fail handling to all archs.

    Patches 34 Finally adds support of dynamically-allocated page->pte.
    Also contains documentation for split page table lock.

    This patch (of 34):

    I've missed that we preallocate few pmds on pgd_alloc() if X86_PAE
    enabled. Let's add missed constructor/destructor calls.

    I haven't noticed it during testing since prep_new_page() clears
    page->mapping and therefore page->ptl. It's effectively equal to
    spin_lock_init(&page->ptl).

    Signed-off-by: Kirill A. Shutemov
    Acked-by: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: "James E.J. Bottomley"
    Cc: "Kirill A. Shutemov"
    Cc: Benjamin Herrenschmidt
    Cc: Catalin Marinas
    Cc: Chen Liqin
    Cc: Chris Metcalf
    Cc: Chris Zankel
    Cc: Christoph Lameter
    Cc: David Howells
    Cc: David S. Miller
    Cc: Fenghua Yu
    Cc: Geert Uytterhoeven
    Cc: Grant Likely
    Cc: Guan Xuetao
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: Hirokazu Takata
    Cc: Ivan Kokshaysky
    Cc: James Hogan
    Cc: Jeff Dike
    Cc: Jesper Nilsson
    Cc: Jonas Bonn
    Cc: Koichi Yasutake
    Cc: Lennox Wu
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michal Simek
    Cc: Mikael Starvik
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Peter Zijlstra
    Cc: Ralf Baechle
    Cc: Richard Henderson
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rob Herring
    Cc: Russell King
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Will Deacon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Enable PMD split page table lock for X86_64 and PAE.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Kirill A. Shutemov
    Tested-by: Alex Thorlton
    Cc: Ingo Molnar
    Cc: Naoya Horiguchi
    Cc: "Eric W . Biederman"
    Cc: "Paul E . McKenney"
    Cc: Al Viro
    Cc: Andi Kleen
    Cc: Andrea Arcangeli
    Cc: Dave Hansen
    Cc: Dave Jones
    Cc: David Howells
    Cc: Frederic Weisbecker
    Cc: Johannes Weiner
    Cc: Kees Cook
    Cc: Mel Gorman
    Cc: Michael Kerrisk
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Rik van Riel
    Cc: Robin Holt
    Cc: Sedat Dilek
    Cc: Srikar Dronamraju
    Cc: Thomas Gleixner
    Cc: Hugh Dickins
    Reviewed-by: Steven Rostedt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • We're going to introduce split page table lock for PMD level. Let's
    rename existing split ptlock for PTE level to avoid confusion.

    Signed-off-by: Kirill A. Shutemov
    Tested-by: Alex Thorlton
    Cc: Ingo Molnar
    Cc: Naoya Horiguchi
    Cc: "Eric W . Biederman"
    Cc: "Paul E . McKenney"
    Cc: Al Viro
    Cc: Andi Kleen
    Cc: Andrea Arcangeli
    Cc: Dave Hansen
    Cc: Dave Jones
    Cc: David Howells
    Cc: Frederic Weisbecker
    Cc: Johannes Weiner
    Cc: Kees Cook
    Cc: Mel Gorman
    Cc: Michael Kerrisk
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Rik van Riel
    Cc: Robin Holt
    Cc: Sedat Dilek
    Cc: Srikar Dronamraju
    Cc: Thomas Gleixner
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Modify struct acpi_dev_node to contain a pointer to struct acpi_device
    associated with the given device object (that is, its ACPI companion
    device) instead of an ACPI handle corresponding to it. Introduce two
    new macros for manipulating that pointer in a CONFIG_ACPI-safe way,
    ACPI_COMPANION() and ACPI_COMPANION_SET(), and rework the
    ACPI_HANDLE() macro to take the above changes into account.
    Drop the ACPI_HANDLE_SET() macro entirely and rework its users to
    use ACPI_COMPANION_SET() instead. For some of them who used to
    pass the result of acpi_get_child() directly to ACPI_HANDLE_SET()
    introduce a helper routine acpi_preset_companion() doing an
    equivalent thing.

    The main motivation for doing this is that there are things
    represented by struct acpi_device objects that don't have valid
    ACPI handles (so called fixed ACPI hardware features, such as
    power and sleep buttons) and we would like to create platform
    device objects for them and "glue" them to their ACPI companions
    in the usual way (which currently is impossible due to the
    lack of valid ACPI handles). However, there are more reasons
    why it may be useful.

    First, struct acpi_device pointers allow of much better type checking
    than void pointers which are ACPI handles, so it should be more
    difficult to write buggy code using modified struct acpi_dev_node
    and the new macros. Second, the change should help to reduce (over
    time) the number of places in which the result of ACPI_HANDLE() is
    passed to acpi_bus_get_device() in order to obtain a pointer to the
    struct acpi_device associated with the given "physical" device,
    because now that pointer is returned by ACPI_COMPANION() directly.
    Finally, the change should make it easier to write generic code that
    will build both for CONFIG_ACPI set and unset without adding explicit
    compiler directives to it.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Greg Kroah-Hartman
    Tested-by: Mika Westerberg # on Haswell
    Reviewed-by: Mika Westerberg
    Reviewed-by: Aaron Lu # for ATA and SDIO part

    Rafael J. Wysocki
     

14 Nov, 2013

8 commits

  • We've always been able to use either method on VLV, but it appears more
    recent BIOSes only support the gen6 method, so switch over to that.

    References: https://bugs.freedesktop.org/show_bug.cgi?id=71370
    Signed-off-by: Jesse Barnes
    Reviewed-by: Ville Syrjälä
    Signed-off-by: Daniel Vetter

    Jesse Barnes
     
  • Pull two x86 fixes from Ingo Molnar.

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/microcode/amd: Tone down printk(), don't treat a missing firmware file as an error
    x86/dumpstack: Fix printk_address for direct addresses

    Linus Torvalds
     
  • Pull core locking changes from Ingo Molnar:
    "The biggest changes:

    - add lockdep support for seqcount/seqlocks structures, this
    unearthed both bugs and required extra annotation.

    - move the various kernel locking primitives to the new
    kernel/locking/ directory"

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    block: Use u64_stats_init() to initialize seqcounts
    locking/lockdep: Mark __lockdep_count_forward_deps() as static
    lockdep/proc: Fix lock-time avg computation
    locking/doc: Update references to kernel/mutex.c
    ipv6: Fix possible ipv6 seqlock deadlock
    cpuset: Fix potential deadlock w/ set_mems_allowed
    seqcount: Add lockdep functionality to seqcount/seqlock structures
    net: Explicitly initialize u64_stats_sync structures for lockdep
    locking: Move the percpu-rwsem code to kernel/locking/
    locking: Move the lglocks code to kernel/locking/
    locking: Move the rwsem code to kernel/locking/
    locking: Move the rtmutex code to kernel/locking/
    locking: Move the semaphore core to kernel/locking/
    locking: Move the spinlock code to kernel/locking/
    locking: Move the lockdep code to kernel/locking/
    locking: Move the mutex code to kernel/locking/
    hung_task debugging: Add tracepoint to report the hang
    x86/locking/kconfig: Update paravirt spinlock Kconfig description
    lockstat: Report avg wait and hold times
    lockdep, x86/alternatives: Drop ancient lockdep fixup message
    ...

    Linus Torvalds
     
  • Pull x86/trace changes from Ingo Molnar:
    "This adds page fault tracepoints which have zero runtime cost in the
    disabled case via IDT trickery (no NOPs in the page fault hotpath)"

    * 'x86-trace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, trace: Change user|kernel_page_fault to page_fault_user|kernel
    x86, trace: Add page fault tracepoints
    x86, trace: Delete __trace_alloc_intr_gate()
    x86, trace: Register exception handler to trace IDT
    x86, trace: Remove __alloc_intr_gate()

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:
    "Resource management
    - Fix host bridge window coalescing (Alexey Neyman)
    - Pass type, width, and prefetchability for window alignment (Wei Yang)

    PCI device hotplug
    - Convert acpiphp, acpiphp_ibm to dynamic debug (Lan Tianyu)

    Power management
    - Remove pci_pm_complete() (Liu Chuansheng)

    MSI
    - Fail initialization if device is not in PCI_D0 (Yijing Wang)

    MPS (Max Payload Size)
    - Use pcie_get_mps() and pcie_set_mps() to simplify code (Yijing Wang)
    - Use pcie_set_readrq() to simplify code (Yijing Wang)
    - Use cached pci_dev->pcie_mpss to simplify code (Yijing Wang)

    SR-IOV
    - Enable upstream bridges even for VFs on virtual buses (Bjorn Helgaas)
    - Use pci_is_root_bus() to avoid catching virtual buses (Wei Yang)

    Virtualization
    - Add x86 MSI masking ops (Konrad Rzeszutek Wilk)

    Freescale i.MX6
    - Support i.MX6 PCIe controller (Sean Cross)
    - Increase link startup timeout (Marek Vasut)
    - Probe PCIe in fs_initcall() (Marek Vasut)
    - Fix imprecise abort handler (Tim Harvey)
    - Remove redundant of_match_ptr (Sachin Kamat)

    Renesas R-Car
    - Support Gen2 internal PCIe controller (Valentine Barshak)

    Samsung Exynos
    - Add MSI support (Jingoo Han)
    - Turn off power when link fails (Jingoo Han)
    - Add Jingoo Han as maintainer (Jingoo Han)
    - Add clk_disable_unprepare() on error path (Wei Yongjun)
    - Remove redundant of_match_ptr (Sachin Kamat)

    Synopsys DesignWare
    - Add irq_create_mapping() (Pratyush Anand)
    - Add header guards (Seungwon Jeon)

    Miscellaneous
    - Enable native PCIe services by default on non-ACPI (Andrew Murray)
    - Cleanup _OSC usage and messages (Bjorn Helgaas)
    - Remove pcibios_last_bus boot option on non-x86 (Bjorn Helgaas)
    - Convert bus code to use bus_, drv_, and dev_groups (Greg Kroah-Hartman)
    - Remove unused pci_mem_start (Myron Stowe)
    - Make sysfs functions static (Sachin Kamat)
    - Warn on invalid return from driver probe (Stephen M. Cameron)
    - Remove Intel Haswell D3 delays (Todd E Brandt)
    - Call pci_set_master() in core if driver doesn't do it (Yinghai Lu)
    - Use pci_is_pcie() to simplify code (Yijing Wang)
    - Use PCIe capability accessors to simplify code (Yijing Wang)
    - Use cached pci_dev->pcie_cap to simplify code (Yijing Wang)
    - Removed unused "is_pcie" from struct pci_dev (Yijing Wang)
    - Simplify sysfs CPU affinity implementation (Yijing Wang)"

    * tag 'pci-v3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (79 commits)
    PCI: Enable upstream bridges even for VFs on virtual buses
    PCI: Add pci_upstream_bridge()
    PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq()
    PCI: Warn on driver probe return value greater than zero
    PCI: Drop warning about drivers that don't use pci_set_master()
    PCI: Workaround missing pci_set_master in pci drivers
    powerpc/pci: Use pci_is_pcie() to simplify code [fix]
    PCI: Update pcie_ports 'auto' behavior for non-ACPI platforms
    PCI: imx6: Probe the PCIe in fs_initcall()
    PCI: Add R-Car Gen2 internal PCI support
    PCI: imx6: Remove redundant of_match_ptr
    PCI: Report pci_pme_active() kmalloc failure
    mn10300/PCI: Remove useless pcibios_last_bus
    frv/PCI: Remove pcibios_last_bus
    PCI: imx6: Increase link startup timeout
    PCI: exynos: Remove redundant of_match_ptr
    PCI: imx6: Fix imprecise abort handler
    PCI: Fail MSI/MSI-X initialization if device is not in PCI_D0
    PCI: imx6: Remove redundant dev_err() in imx6_pcie_probe()
    x86/PCI: Coalesce multiple overlapping host bridge windows
    ...

    Linus Torvalds
     
  • Pull ACPI and power management updates from Rafael J Wysocki:

    - New power capping framework and the the Intel Running Average Power
    Limit (RAPL) driver using it from Srinivas Pandruvada and Jacob Pan.

    - Addition of the in-kernel switching feature to the arm_big_little
    cpufreq driver from Viresh Kumar and Nicolas Pitre.

    - cpufreq support for iMac G5 from Aaro Koskinen.

    - Baytrail processors support for intel_pstate from Dirk Brandewie.

    - cpufreq support for Midway/ECX-2000 from Mark Langsdorf.

    - ARM vexpress/TC2 cpufreq support from Sudeep KarkadaNagesha.

    - ACPI power management support for the I2C and SPI bus types from Mika
    Westerberg and Lv Zheng.

    - cpufreq core fixes and cleanups from Viresh Kumar, Srivatsa S Bhat,
    Stratos Karafotis, Xiaoguang Chen, Lan Tianyu.

    - cpufreq drivers updates (mostly fixes and cleanups) from Viresh
    Kumar, Aaro Koskinen, Jungseok Lee, Sudeep KarkadaNagesha, Lukasz
    Majewski, Manish Badarkhe, Hans-Christian Egtvedt, Evgeny Kapaev.

    - intel_pstate updates from Dirk Brandewie and Adrian Huang.

    - ACPICA update to version 20130927 includig fixes and cleanups and
    some reduction of divergences between the ACPICA code in the kernel
    and ACPICA upstream in order to improve the automatic ACPICA patch
    generation process. From Bob Moore, Lv Zheng, Tomasz Nowicki, Naresh
    Bhat, Bjorn Helgaas, David E Box.

    - ACPI IPMI driver fixes and cleanups from Lv Zheng.

    - ACPI hotplug fixes and cleanups from Bjorn Helgaas, Toshi Kani, Zhang
    Yanfei, Rafael J Wysocki.

    - Conversion of the ACPI AC driver to the platform bus type and
    multiple driver fixes and cleanups related to ACPI from Zhang Rui.

    - ACPI processor driver fixes and cleanups from Hanjun Guo, Jiang Liu,
    Bartlomiej Zolnierkiewicz, Mathieu Rhéaume, Rafael J Wysocki.

    - Fixes and cleanups and new blacklist entries related to the ACPI
    video support from Aaron Lu, Felipe Contreras, Lennart Poettering,
    Kirill Tkhai.

    - cpuidle core cleanups from Viresh Kumar and Lorenzo Pieralisi.

    - cpuidle drivers fixes and cleanups from Daniel Lezcano, Jingoo Han,
    Bartlomiej Zolnierkiewicz, Prarit Bhargava.

    - devfreq updates from Sachin Kamat, Dan Carpenter, Manish Badarkhe.

    - Operation Performance Points (OPP) core updates from Nishanth Menon.

    - Runtime power management core fix from Rafael J Wysocki and update
    from Ulf Hansson.

    - Hibernation fixes from Aaron Lu and Rafael J Wysocki.

    - Device suspend/resume lockup detection mechanism from Benoit Goby.

    - Removal of unused proc directories created for various ACPI drivers
    from Lan Tianyu.

    - ACPI LPSS driver fix and new device IDs for the ACPI platform scan
    handler from Heikki Krogerus and Jarkko Nikula.

    - New ACPI _OSI blacklist entry for Toshiba NB100 from Levente Kurusa.

    - Assorted fixes and cleanups related to ACPI from Andy Shevchenko, Al
    Stone, Bartlomiej Zolnierkiewicz, Colin Ian King, Dan Carpenter,
    Felipe Contreras, Jianguo Wu, Lan Tianyu, Yinghai Lu, Mathias Krause,
    Liu Chuansheng.

    - Assorted PM fixes and cleanups from Andy Shevchenko, Thierry Reding,
    Jean-Christophe Plagniol-Villard.

    * tag 'pm+acpi-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (386 commits)
    cpufreq: conservative: fix requested_freq reduction issue
    ACPI / hotplug: Consolidate deferred execution of ACPI hotplug routines
    PM / runtime: Use pm_runtime_put_sync() in __device_release_driver()
    ACPI / event: remove unneeded NULL pointer check
    Revert "ACPI / video: Ignore BIOS initial backlight value for HP 250 G1"
    ACPI / video: Quirk initial backlight level 0
    ACPI / video: Fix initial level validity test
    intel_pstate: skip the driver if ACPI has power mgmt option
    PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
    ACPI / hotplug: Do not execute "insert in progress" _OST
    ACPI / hotplug: Carry out PCI root eject directly
    ACPI / hotplug: Merge device hot-removal routines
    ACPI / hotplug: Make acpi_bus_hot_remove_device() internal
    ACPI / hotplug: Simplify device ejection routines
    ACPI / hotplug: Fix handle_root_bridge_removal()
    ACPI / hotplug: Refuse to hot-remove all objects with disabled hotplug
    ACPI / scan: Start matching drivers after trying scan handlers
    ACPI: Remove acpi_pci_slot_init() headers from internal.h
    ACPI / blacklist: fix name of ThinkPad Edge E530
    PowerCap: Fix build error with option -Werror=format-security
    ...

    Conflicts:
    arch/arm/mach-omap2/opp.c
    drivers/Kconfig
    drivers/spi/spi.c

    Linus Torvalds
     
  • No point in having this bit defined by architecture.

    Signed-off-by: Thomas Gleixner
    Acked-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20130917183629.090698799@linutronix.de

    Thomas Gleixner
     
  • If a nested guest does a NM fault but its CR0 doesn't contain the TS
    flag (because it was already cleared by the guest with L1 aid) then we
    have to activate FPU ourselves in L0 and then continue to L2. If TS flag
    is set then we fallback on the previous behavior, forward the fault to
    L1 if it asked for.

    Signed-off-by: Anthoine Bourgeois
    Signed-off-by: Paolo Bonzini

    Anthoine Bourgeois
     

13 Nov, 2013

1 commit

  • Pull networking updates from David Miller:

    1) The addition of nftables. No longer will we need protocol aware
    firewall filtering modules, it can all live in userspace.

    At the core of nftables is a, for lack of a better term, virtual
    machine that executes byte codes to inspect packet or metadata
    (arriving interface index, etc.) and make verdict decisions.

    Besides support for loading packet contents and comparing them, the
    interpreter supports lookups in various datastructures as
    fundamental operations. For example sets are supports, and
    therefore one could create a set of whitelist IP address entries
    which have ACCEPT verdicts attached to them, and use the appropriate
    byte codes to do such lookups.

    Since the interpreted code is composed in userspace, userspace can
    do things like optimize things before giving it to the kernel.

    Another major improvement is the capability of atomically updating
    portions of the ruleset. In the existing netfilter implementation,
    one has to update the entire rule set in order to make a change and
    this is very expensive.

    Userspace tools exist to create nftables rules using existing
    netfilter rule sets, but both kernel implementations will need to
    co-exist for quite some time as we transition from the old to the
    new stuff.

    Kudos to Patrick McHardy, Pablo Neira Ayuso, and others who have
    worked so hard on this.

    2) Daniel Borkmann and Hannes Frederic Sowa made several improvements
    to our pseudo-random number generator, mostly used for things like
    UDP port randomization and netfitler, amongst other things.

    In particular the taus88 generater is updated to taus113, and test
    cases are added.

    3) Support 64-bit rates in HTB and TBF schedulers, from Eric Dumazet
    and Yang Yingliang.

    4) Add support for new 577xx tigon3 chips to tg3 driver, from Nithin
    Sujir.

    5) Fix two fatal flaws in TCP dynamic right sizing, from Eric Dumazet,
    Neal Cardwell, and Yuchung Cheng.

    6) Allow IP_TOS and IP_TTL to be specified in sendmsg() ancillary
    control message data, much like other socket option attributes.
    From Francesco Fusco.

    7) Allow applications to specify a cap on the rate computed
    automatically by the kernel for pacing flows, via a new
    SO_MAX_PACING_RATE socket option. From Eric Dumazet.

    8) Make the initial autotuned send buffer sizing in TCP more closely
    reflect actual needs, from Eric Dumazet.

    9) Currently early socket demux only happens for TCP sockets, but we
    can do it for connected UDP sockets too. Implementation from Shawn
    Bohrer.

    10) Refactor inet socket demux with the goal of improving hash demux
    performance for listening sockets. With the main goals being able
    to use RCU lookups on even request sockets, and eliminating the
    listening lock contention. From Eric Dumazet.

    11) The bonding layer has many demuxes in it's fast path, and an RCU
    conversion was started back in 3.11, several changes here extend the
    RCU usage to even more locations. From Ding Tianhong and Wang
    Yufen, based upon suggestions by Nikolay Aleksandrov and Veaceslav
    Falico.

    12) Allow stackability of segmentation offloads to, in particular, allow
    segmentation offloading over tunnels. From Eric Dumazet.

    13) Significantly improve the handling of secret keys we input into the
    various hash functions in the inet hashtables, TCP fast open, as
    well as syncookies. From Hannes Frederic Sowa. The key fundamental
    operation is "net_get_random_once()" which uses static keys.

    Hannes even extended this to ipv4/ipv6 fragmentation handling and
    our generic flow dissector.

    14) The generic driver layer takes care now to set the driver data to
    NULL on device removal, so it's no longer necessary for drivers to
    explicitly set it to NULL any more. Many drivers have been cleaned
    up in this way, from Jingoo Han.

    15) Add a BPF based packet scheduler classifier, from Daniel Borkmann.

    16) Improve CRC32 interfaces and generic SKB checksum iterators so that
    SCTP's checksumming can more cleanly be handled. Also from Daniel
    Borkmann.

    17) Add a new PMTU discovery mode, IP_PMTUDISC_INTERFACE, which forces
    using the interface MTU value. This helps avoid PMTU attacks,
    particularly on DNS servers. From Hannes Frederic Sowa.

    18) Use generic XPS for transmit queue steering rather than internal
    (re-)implementation in virtio-net. From Jason Wang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1622 commits)
    random32: add test cases for taus113 implementation
    random32: upgrade taus88 generator to taus113 from errata paper
    random32: move rnd_state to linux/random.h
    random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized
    random32: add periodic reseeding
    random32: fix off-by-one in seeding requirement
    PHY: Add RTL8201CP phy_driver to realtek
    xtsonic: add missing platform_set_drvdata() in xtsonic_probe()
    macmace: add missing platform_set_drvdata() in mace_probe()
    ethernet/arc/arc_emac: add missing platform_set_drvdata() in arc_emac_probe()
    ipv6: protect for_each_sk_fl_rcu in mem_check with rcu_read_lock_bh
    vlan: Implement vlan_dev_get_egress_qos_mask as an inline.
    ixgbe: add warning when max_vfs is out of range.
    igb: Update link modes display in ethtool
    netfilter: push reasm skb through instead of original frag skbs
    ip6_output: fragment outgoing reassembled skb properly
    MAINTAINERS: mv643xx_eth: take over maintainership from Lennart
    net_sched: tbf: support of 64bit rates
    ixgbe: deleting dfwd stations out of order can cause null ptr deref
    ixgbe: fix build err, num_rx_queues is only available with CONFIG_RPS
    ...

    Linus Torvalds