26 Jan, 2013

1 commit

  • The tracepoint sample code was used to teach developers how to
    create their own tracepoints. But now the trace_events have been
    added as a higher level that is used directly by developers today.

    Only the trace_event code should use the tracepoint interface
    directly and no new tracepoints should be added.

    Besides, the example had a race condition with the use of the
    ->d_name.name dentry field, as pointed out by Al Viro.

    Best just to remove the code so it wont be used by other developers.

    Link: http://lkml.kernel.org/r/20130123225523.GY4939@ZenIV.linux.org.uk

    Cc: Al Viro
    Acked-by: Mathieu Desnoyers
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

25 Jan, 2013

1 commit


24 Jan, 2013

16 commits

  • …/acme/linux into perf/core

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    . perf build-id cache now can show DSOs present in a perf.data file that are
    not in the cache, to integrate with build-id servers being put in place by
    organizations such as Fedora.

    . perf buildid-list -i an-elf-file-instead-of-a-perf.data is back showing its
    build-id.

    . No need to do feature checks when doing a 'make tags'

    . Fix some 'perf test' errors and make them use the tracepoint evsel constructor.

    . perf top now shares more of the evsel config/creation routines with 'record',
    paving the way for further integration like 'top' snapshots, etc.

    . perf top now supports DWARF callchains.

    . perf evlist decodes sample_type and read_format, helping diagnose problems.

    . Fix mmap limitations on 32-bit, fix from David Miller.

    . perf diff fixes from Jiri Olsa.

    . Ignore ABS symbols when loading data maps, fix from Namhyung Kim

    . Hists improvements from Namhyung Kim

    . Don't check configuration on make clean, from Namhyung Kim

    . Fix dso__fprintf() print statement, from Stephane Eranian.

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • The last remaining user was oprofile and its use has been
    removed a while ago in commit bc078e4eab65f11bba
    ("oprofile: convert oprofile from timer_hook to hrtimer").

    There doesn't seem to be any upstream user of this hook
    for about two years now. And I'm not even aware of any out of
    tree user.

    Let's remove it.

    Signed-off-by: Frederic Weisbecker
    Cc: Alessio Igor Bogani
    Cc: Avi Kivity
    Cc: Chris Metcalf
    Cc: Christoph Lameter
    Cc: Geoff Levand
    Cc: Gilad Ben Yossef
    Cc: Hakan Akkan
    Cc: Paul E. McKenney
    Cc: Paul Gortmaker
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/1356191991-2251-1-git-send-email-fweisbec@gmail.com
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     
  • …it/ras/ras into perf/core

    Use perf/event tracing to report PCI Express advanced errors, by
    Tony Luck.

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • …stedt/linux-trace into perf/core

    Pull small function-tracing smatch fixlet from Steve Rostedt.

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • Dan's smatch found a compare bug with the result of the
    trace_test_and_set_recursion() and comparing to less than
    zero. If the function fails, it returns -1, but was saved in
    an unsigned int, which will never be less than zero and will
    ignore the result of the test if a recursion did happen.

    Luckily this is the last of the recursion tests, as the
    infrastructure of ftrace would catch recursions before it
    got here, except for some few exceptions.

    Reported-by: Dan Carpenter
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • …stedt/linux-trace into perf/core

    Pull tracing updates from Steve Rostedt.

    This commit:

    tracing: Remove the extra 4 bytes of padding in events

    changes the ABI. All involved parties seem to agree that it's safe to
    do now, but the devil is in the details ...

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • Pull more USB fixes from Greg Kroah-Hartman:
    "Here are some more USB fixes for the 3.8-rc4 tree.

    Some gadget driver fixes, and finally resolved the ehci-mxc driver
    build issues (it's just some code moving around and being deleted)."

    * tag 'usb-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: EHCI: fix build error in ehci-mxc
    USB: EHCI: add a name for the platform-private field
    USB: EHCI: fix incorrect configuration test
    USB: EHCI: Move definition of EHCI_STATS to ehci.h
    USB: UHCI: fix IRQ race during initialization
    usb: gadget: FunctionFS: Fix missing braces in parse_opts
    usb: dwc3: gadget: fix ep->maxburst for ep0
    ARM: i.MX clock: Change the connection-id for fsl-usb2-udc
    usb: gadget: fsl_mxc_udc: replace MX35_IO_ADDRESS to ioremap
    usb: gadget: fsl-mxc-udc: replace cpu_is_xxx() with platform_device_id
    usb: musb: cppi_dma: drop '__init' annotation

    Linus Torvalds
     
  • Pull drivers/misc fix from Greg Kroah-Hartman:
    "Here is a single revert for the ti-st misc driver, fixing problem that
    was introduced in 3.7-rc1 that has been bothering people."

    * tag 'char-misc-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    Revert "drivers/misc/ti-st: remove gpio handling"

    Linus Torvalds
     
  • Pull a TTY maintainer patch from Greg Kroah-Hartman:
    "Just a MAINTAINERS update, now that Alan has left for a bit, I'll
    continue to watch over the serial drivers."

    * tag 'tty-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    MAINTAINERS: Someone needs to watch over the serial drivers

    Linus Torvalds
     
  • Pull media fixes from Mauro Carvalho Chehab:
    - gspca: add needed delay for I2C traffic for sonixb/sonixj cameras
    - gspca: add one missing Kinect USB ID
    - usbvideo: some regression fixes
    - omap3isp: fix some build issues
    - videobuf2: fix video output handling
    - exynos s5p/m5mols: a few regression fixes.

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] uvcvideo: Set error_idx properly for S_EXT_CTRLS failures
    [media] uvcvideo: Cleanup leftovers of partial revert
    [media] uvcvideo: Return -EACCES when trying to set a read-only control
    [media] omap3isp: Don't include
    [media] s5p-mfc: Fix interrupt error handling routine
    [media] s5p-fimc: Fix return value of __fimc_md_create_flite_source_links()
    [media] m5mols: Fix typo in get_fmt callback
    [media] v4l: vb2: Set data_offset to 0 for single-plane output buffers
    [media] [FOR,v3.8] omap3isp: Don't include deleted OMAP plat/ header files
    [media] gspca_sonixj: Add a small delay after i2c_w1
    [media] gspca_sonixb: Properly wait between i2c writes
    [media] gspca_kinect: add Kinect for Windows USB id

    Linus Torvalds
     
  • Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Pull m68k fixes from Geert Uytterhoeven:
    "The asm-generic changeset has been ack'ed by Arnd."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Wire up finit_module
    asm-generic/dma-mapping-broken.h: Provide dma_alloc_attrs()/dma_free_attrs()
    m68k: Provide dma_alloc_attrs()/dma_free_attrs()

    Linus Torvalds
     
  • Pull arm64 fixes from Catalin Marinas:
    - ELF coredump fix (more registers dumped than what user space expects)
    - SUBARCH name generation (s/aarch64/arm64/)

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
    arm64: makefile: fix uname munging when setting ARCH on native machine
    arm64: elf: fix core dumping to match what glibc expects

    Linus Torvalds
     
  • This patch (as1643b) fixes a build error in ehci-hcd when compiling for
    ARM with allmodconfig:

    drivers/usb/host/ehci-hcd.c:1285:0: warning: "PLATFORM_DRIVER" redefined [enabled by default]
    drivers/usb/host/ehci-hcd.c:1255:0: note: this is the location of the previous definition
    drivers/usb/host/ehci-mxc.c:280:31: warning: 'ehci_mxc_driver' defined but not used [-Wunused-variable]
    drivers/usb/host/ehci-hcd.c:1285:0: warning: "PLATFORM_DRIVER" redefined [enabled by default]
    drivers/usb/host/ehci-hcd.c:1255:0: note: this is the location of the previous definition

    The fix is to convert ehci-mxc over to the new "ehci-hcd is a library"
    scheme so that it can coexist peacefully with the ehci-platform
    driver. As part of the conversion the ehci_mxc_priv data structure,
    which was allocated dynamically, is now placed where it belongs: in
    the private area at the end of struct ehci_hcd.

    Signed-off-by: Alan Stern
    Tested-by: Shawn Guo
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Pull sound fixes from Takashi Iwai:
    "Only a few small HD-audio fixes:
    - Addition of new Conexant codec IDs
    - Two one-liners to add fixups for Realtek codecs
    - A last-minute regression fix for auto-mute with power-saving mode
    (regressed since 3.8-rc1)"

    * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix inconsistent pin states after resume
    ALSA: hda - Add Conexant CX20755/20756/20757 codec IDs
    ALSA: hda - Add fixup for Acer AO725 laptop
    ALSA: hda - Fix mute led for another HP machine

    Linus Torvalds
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     

23 Jan, 2013

22 commits

  • The commit [26a6cb6c: ALSA: hda - Implement a poll loop for jacks as a
    module parameter] introduced the polling jack detection code, but it
    also moved the call of snd_hda_jack_set_dirty_all() in the resume path
    after resume/init ops call. This caused a regression when the jack
    state has been changed during power-down (e.g. in the power save
    mode). Since the driver doesn't probe the new jack state but keeps
    using the cached value due to no dirty flag, the pin state remains
    also as if the jack is still plugged.

    The fix is simply moving snd_hda_jack_set_dirty_all() to the original
    position.

    Reported-by: Manolo Díaz
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • ring_buffer.c use to require declarations from trace.h, but
    these have moved to the generic header files. There's nothing
    in trace.h that ring_buffer.c requires.

    There's some headers that trace.h included that ring_buffer.c
    needs, but it's best that it includes them directly, and not
    include trace.h.

    Also, some things may use ring_buffer.c without having tracing
    configured. This removes the dependency that may come in the
    future.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Using context bit recursion checking, we can help increase the
    performance of the ring buffer.

    Before this patch:

    # echo function > /debug/tracing/current_tracer
    # for i in `seq 10`; do ./hackbench 50; done
    Time: 10.285
    Time: 10.407
    Time: 10.243
    Time: 10.372
    Time: 10.380
    Time: 10.198
    Time: 10.272
    Time: 10.354
    Time: 10.248
    Time: 10.253

    (average: 10.3012)

    Now we have:

    # echo function > /debug/tracing/current_tracer
    # for i in `seq 10`; do ./hackbench 50; done
    Time: 9.712
    Time: 9.824
    Time: 9.861
    Time: 9.827
    Time: 9.962
    Time: 9.905
    Time: 9.886
    Time: 10.088
    Time: 9.861
    Time: 9.834

    (average: 9.876)

    a 4% savings!

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The function tracer had two different versions of function tracing.

    The disabling of irqs version and the preempt disable version.

    As function tracing in very intrusive and can cause nasty recursion
    issues, it has its own recursion protection. But the old method to
    do this was a flat layer. If it detected that a recursion was happening
    then it would just return without recording.

    This made the preempt version (much faster than the irq disabling one)
    not very useful, because if an interrupt were to occur after the
    recursion flag was set, the interrupt would not be traced at all,
    because every function that was traced would think it recursed on
    itself (due to the context it preempted setting the recursive flag).

    Now that we have a recursion flag for every context level, we
    no longer need to worry about that. We can disable preemption,
    set the current context recursion check bit, and go on. If an
    interrupt were to come along, it would check its own context bit
    and happily continue to trace.

    As the preempt version is faster than the irq disable version,
    there's no more reason to keep the preempt version around.
    And the irq disable version still had an issue with missing
    out on tracing NMI code.

    Remove the irq disable function tracer version and have the
    preempt disable version be the default (and only version).

    Before this patch we had from running:

    # echo function > /debug/tracing/current_tracer
    # for i in `seq 10`; do ./hackbench 50; done
    Time: 12.028
    Time: 11.945
    Time: 11.925
    Time: 11.964
    Time: 12.002
    Time: 11.910
    Time: 11.944
    Time: 11.929
    Time: 11.941
    Time: 11.924

    (average: 11.9512)

    Now we have:

    # echo function > /debug/tracing/current_tracer
    # for i in `seq 10`; do ./hackbench 50; done
    Time: 10.285
    Time: 10.407
    Time: 10.243
    Time: 10.372
    Time: 10.380
    Time: 10.198
    Time: 10.272
    Time: 10.354
    Time: 10.248
    Time: 10.253

    (average: 10.3012)

    a 13.8% savings!

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • When function tracing occurs, the following steps are made:
    If arch does not support a ftrace feature:
    call internal function (uses INTERNAL bits) which calls...
    If callback is registered to the "global" list, the list
    function is called and recursion checks the GLOBAL bits.
    then this function calls...
    The function callback, which can use the FTRACE bits to
    check for recursion.

    Now if the arch does not suppport a feature, and it calls
    the global list function which calls the ftrace callback
    all three of these steps will do a recursion protection.
    There's no reason to do one if the previous caller already
    did. The recursion that we are protecting against will
    go through the same steps again.

    To prevent the multiple recursion checks, if a recursion
    bit is set that is higher than the MAX bit of the current
    check, then we know that the check was made by the previous
    caller, and we can skip the current check.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Convert the bits into enums which makes the code a little easier
    to maintain.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Currently for recursion checking in the function tracer, ftrace
    tests a task_struct bit to determine if the function tracer had
    recursed or not. If it has, then it will will return without going
    further.

    But this leads to races. If an interrupt came in after the bit
    was set, the functions being traced would see that bit set and
    think that the function tracer recursed on itself, and would return.

    Instead add a bit for each context (normal, softirq, irq and nmi).

    A check of which context the task is in is made before testing the
    associated bit. Now if an interrupt preempts the function tracer
    after the previous context has been set, the interrupt functions
    can still be traced.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • There is lots of places that perform:

    op = rcu_dereference_raw(ftrace_control_list);
    while (op != &ftrace_list_end) {

    Add a helper macro to do this, and also optimize for a single
    entity. That is, gcc will optimize a loop for either no iterations
    or more than one iteration. But usually only a single callback
    is registered to the function tracer, thus the optimized case
    should be a single pass. to do this we now do:

    op = rcu_dereference_raw(list);
    do {
    [...]
    } while (likely(op = rcu_dereference_raw((op)->next)) &&
    unlikely((op) != &ftrace_list_end));

    An op is always registered (ftrace_list_end when no callbacks is
    registered), thus when a single callback is registered, the link
    list looks like:

    top => callback => ftrace_list_end => NULL.

    The likely(op = op->next) still must be performed due to the race
    of removing the callback, where the first op assignment could
    equal ftrace_list_end. In that case, the op->next would be NULL.
    But this is unlikely (only happens in a race condition when
    removing the callback).

    But it is very likely that the next op would be ftrace_list_end,
    unless more than one callback has been registered. This tells
    gcc what the most common case is and makes the fast path with
    the least amount of branches.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The function tracing recursion self test should not crash
    the machine if the resursion test fails. If it detects that
    the function tracing is recursing when it should not be, then
    bail, don't go into an infinite recursive loop.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • If one of the function tracers set by the global ops is not recursion
    safe, it can still be called directly without the added recursion
    supplied by the ftrace infrastructure.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The test that checks function recursion does things differently
    if the arch does not support all ftrace features. But that really
    doesn't make a difference with how the test runs, and either way
    the count variable should be 2 at the end.

    Currently the test wrongly fails for archs that don't support all
    the ftrace features.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • There's a race condition between the setting of a new tracer and
    the update of the max trace buffers (the swap). When a new tracer
    is added, it sets current_trace to nop_trace before disabling
    the old tracer. At this moment, if the old tracer uses update_max_tr(),
    the update may trigger the warning against !current_trace->use_max-tr,
    as nop_trace doesn't have that set.

    As update_max_tr() requires that interrupts be disabled, we can
    add a check to see if current_trace == nop_trace and bail if it
    does. Then when disabling the current_trace, set it to nop_trace
    and run synchronize_sched(). This will make sure all calls to
    update_max_tr() have completed (it was called with interrupts disabled).

    As a clean up, this commit also removes shrinking and recreating
    the max_tr buffer if the old and new tracers both have use_max_tr set.
    The old way use to always shrink the buffer, and then expand it
    for the next tracer. This is a waste of time.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • This reverts commit eccf2979b2c034b516e01b8a104c3739f7ef07d1.

    The reason is that it broke TI WiLink shared transport on Panda.
    Also, callback functions should not be added to board files anymore,
    so revert to implementing the power functions in the driver itself.

    Additionally, changed a variable name ('status' to 'err') so that this
    revert compiles properly.

    Cc: stable [3.7]
    Acked-by: Tony Lindgren
    Signed-off-by: Luciano Coelho
    Signed-off-by: Greg Kroah-Hartman

    Luciano Coelho
     
  • Pull PCI updates from Bjorn Helgaas:
    "The most important is a fix for a pciehp deadlock that occurs when
    unplugging a Thunderbolt adapter. We also applied the same fix to
    shpchp, removed CONFIG_EXPERIMENTAL dependencies, fixed a
    pcie_aspm=force problem, and fixed a refcount leak.

    Details:

    - Hotplug
    PCI: pciehp: Use per-slot workqueues to avoid deadlock
    PCI: shpchp: Make shpchp_wq non-ordered
    PCI: shpchp: Handle push button event asynchronously
    PCI: shpchp: Use per-slot workqueues to avoid deadlock

    - Power management
    PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported

    - Misc
    PCI/AER: pci_get_domain_bus_and_slot() call missing required pci_dev_put()
    PCI: remove depends on CONFIG_EXPERIMENTAL"

    * tag '3.8-pci-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: remove depends on CONFIG_EXPERIMENTAL
    PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported
    PCI: shpchp: Use per-slot workqueues to avoid deadlock
    PCI: shpchp: Handle push button event asynchronously
    PCI: shpchp: Make shpchp_wq non-ordered
    PCI/AER: pci_get_domain_bus_and_slot() call missing required pci_dev_put()
    PCI: pciehp: Use per-slot workqueues to avoid deadlock

    Linus Torvalds
     
  • Commit 083b804c4d3e ("async: use workqueue for worker pool") made it
    possible that async jobs are moved from pending to running out-of-order.
    While pending async jobs will be queued and dispatched for execution in
    the same order, nothing guarantees they'll enter "1) move self to the
    running queue" of async_run_entry_fn() in the same order.

    Before the conversion, async implemented its own worker pool. An async
    worker, upon being woken up, fetches the first item from the pending
    list, which kept the executing lists sorted. The conversion to
    workqueue was done by adding work_struct to each async_entry and async
    just schedules the work item. The queueing and dispatching of such work
    items are still in order but now each worker thread is associated with a
    specific async_entry and moves that specific async_entry to the
    executing list. So, depending on which worker reaches that point
    earlier, which is non-deterministic, we may end up moving an async_entry
    with larger cookie before one with smaller one.

    This broke __lowest_in_progress(). running->domain may not be properly
    sorted and is not guaranteed to contain lower cookies than pending list
    when not empty. Fix it by ensuring sort-inserting to the running list
    and always looking at both pending and running when trying to determine
    the lowest cookie.

    Over time, the async synchronization implementation became quite messy.
    We better restructure it such that each async_entry is linked to two
    lists - one global and one per domain - and not move it when execution
    starts. There's no reason to distinguish pending and running. They
    behave the same for synchronization purposes.

    Signed-off-by: Tejun Heo
    Cc: Arjan van de Ven
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Tejun Heo
     
  • Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

    . revert 20b279 - require exclude_guest to use PEBS - kernel side, now
    older binaries will continue working for things like cycles:pp
    without needing to pass extra modifiers, from David Ahern.

    . Fix building from 'make perf-*-src-pkg' tarballs, broken by UAPI,
    from Sebastian Andrzej Siewior

    [ Pulling directly, Ingo would normally pull but has been unresponsive ]

    * tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
    perf tools: Fix building from 'make perf-*-src-pkg' tarballs
    perf x86: revert 20b279 - require exclude_guest to use PEBS - kernel side

    Linus Torvalds
     
  • Pull parisc fixes from Helge Deller:
    "Improve the stability of the linux kernel on the parisc architecture"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: sigaltstack doesn't round ss.ss_sp as required
    parisc: improve ptrace support for gdb single-step
    parisc: don't claim cpu irqs more than once
    parisc: avoid undefined shift in cnv_float.h

    Linus Torvalds
     
  • Pull fuse fixes from Miklos Szeredi:
    "This contain a bugfix for CUSE and miscellaneous small fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    fuse: remove unused variable in fuse_try_move_page()
    fuse: make fuse_file_fallocate() static
    fuse: Move CUSE Kconfig entry from fs/Kconfig into fs/fuse/Kconfig
    cuse: fix uninitialized variable warnings
    cuse: do not register multiple devices with identical names
    cuse: use mutex as registration lock instead of spinlocks

    Linus Torvalds
     
  • Pull GPIO fixes from Linus Walleij:
    "Here are some GPIO fixes I stacked up in my GPIO tree:

    - Remove a bad #include from the Samsung driver
    - Some Kconfig hazzle for the Samsungs
    - Skip gpiolib registration on EXYNOS5440
    - Don't free the MVEBU label"

    * tag 'fixes-for-v3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: mvebu: Don't free chip label memory
    gpio: samsung: skip gpio lib registration for EXYNOS5440
    gpio: samsung: silent build warning for EXYNOS5 SoCs
    gpio: samsung: fix pinctrl condition for exynos and exynos5440
    gpio: samsung: remove inclusion

    Linus Torvalds
     
  • Pull f2fs fixes from Jaegeuk Kim:
    o Support swap file and link generic_file_remap_pages
    o Enhance the bio streaming flow and free section control
    o Major bug fix on recovery routine
    o Minor bug/warning fixes and code cleanups

    * tag 'f2fs-for-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (22 commits)
    f2fs: use _safe() version of list_for_each
    f2fs: add comments of start_bidx_of_node
    f2fs: avoid issuing small bios due to several dirty node pages
    f2fs: support swapfile
    f2fs: add remap_pages as generic_file_remap_pages
    f2fs: add __init to functions in init_f2fs_fs
    f2fs: fix the debugfs entry creation path
    f2fs: add global mutex_lock to protect f2fs_stat_list
    f2fs: remove the blk_plug usage in f2fs_write_data_pages
    f2fs: avoid redundant time update for parent directory in f2fs_delete_entry
    f2fs: remove redundant call to set_blocksize in f2fs_fill_super
    f2fs: move f2fs_balance_fs to punch_hole
    f2fs: add f2fs_balance_fs in several interfaces
    f2fs: revisit the f2fs_gc flow
    f2fs: check return value during recovery
    f2fs: avoid null dereference in f2fs_acl_from_disk
    f2fs: initialize newly allocated dnode structure
    f2fs: update f2fs partition info about SIT/NAT layout
    f2fs: update f2fs document to reflect SIT/NAT layout correctly
    f2fs: remove unneeded INIT_LIST_HEAD at few places
    ...

    Linus Torvalds
     
  • Pull vfio fix from Alex Williamson.
    "vfio-pci: Fix buffer overfill"

    * tag 'vfio-for-v3.8-rc5' of git://github.com/awilliam/linux-vfio:
    vfio-pci: Fix buffer overfill

    Linus Torvalds
     
  • Pull ftrace fix from Steven Rostedt:
    "Kprobes now uses the function tracer if it can. That is, if a probe
    is placed on a function mcount/nop location, and the arch supports it,
    instead of adding a breakpoint, kprobes will register a function
    callback as that is much more efficient.

    The function tracer requires to update modules before they run, and
    uses the module notifier to do so. But if something else in the
    module notifiers registers a kprobe at one of these locations, before
    ftrace can get to it, then the system could fail.

    The function tracer must be initialized early, otherwise module
    notifiers that probe will only work by chance."

    * tag 'trace-3.8-rc4-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ftrace: Be first to run code modification on modules

    Linus Torvalds