1. 08 6月, 2014 3 次提交
    • S
      tools lib traceevent: Add options to function plugin · 49440828
      Steven Rostedt (Red Hat) 提交于
      Add the options "parent" and "indent" to the function plugin.
      
      When parent is set, the output looks like this:
      
      function:             fsnotify_modify <-- vfs_write
      function:             zone_statistics <-- get_page_from_freelist
      function:                __inc_zone_state <-- zone_statistics
      function:                inotify_inode_queue_event <-- fsnotify_modify
      function:                fsnotify_parent <-- fsnotify_modify
      function:                __inc_zone_state <-- zone_statistics
      function:                   __fsnotify_parent <-- fsnotify_parent
      function:                   inotify_dentry_parent_queue_event <-- fsnotify_parent
      function:             add_to_page_cache_lru <-- do_read_cache_page
      
      When it's not set, it looks like:
      
      function:             fsnotify_modify
      function:             zone_statistics
      function:                __inc_zone_state
      function:                inotify_inode_queue_event
      function:                fsnotify_parent
      function:                __inc_zone_state
      function:                   __fsnotify_parent
      function:                   inotify_dentry_parent_queue_event
      function:             add_to_page_cache_lru
      
      When the otpion "indent" is not set, it looks like this:
      
      function:             fsnotify_modify <-- vfs_write
      function:             zone_statistics <-- get_page_from_freelist
      function:             __inc_zone_state <-- zone_statistics
      function:             inotify_inode_queue_event <-- fsnotify_modify
      function:             fsnotify_parent <-- fsnotify_modify
      function:             __inc_zone_state <-- zone_statistics
      function:             __fsnotify_parent <-- fsnotify_parent
      function:             inotify_dentry_parent_queue_event <-- fsnotify_parent
      function:             add_to_page_cache_lru <-- do_read_cache_page
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Acked-by: NNamhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/20140603032224.056940410@goodmis.orgSigned-off-by: NJiri Olsa <jolsa@kernel.org>
      49440828
    • S
      tools lib traceevent: Add options to plugins · 5827f2fa
      Steven Rostedt 提交于
      The traceevent plugins allows developers to have their events print out
      information that is more advanced than what can be achieved by the
      trace event format files.
      
      As these plugins are used on the userspace side of the tracing tools, it
      is only logical that the tools should be able to produce different types
      of output for the events. The types of events still need to be defined by
      the plugins thus we need a way to pass information from the tool to the
      plugin to specify what type of information to be shown.
      
      Not only does the information need to be passed by the tool to plugin, but
      the plugin also requires a way to notify the tool of what options it can
      provide.
      
      This builds the plugin option infrastructure that is taken from trace-cmd
      that is used to allow plugins to produce different output based on the
      options specified by the tool.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Acked-by: NNamhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/20140603184154.0a4c031c@gandalf.local.homeSigned-off-by: NJiri Olsa <jolsa@kernel.org>
      5827f2fa
    • S
      tools lib traceevent: Add flag to not load event plugins · a7c3196c
      Steven Rostedt (Red Hat) 提交于
      Add a flag to pevent that will let the callers be able to set it and
      keep the system, and perhaps even normal plugins from being loaded.
      
      This is useful when plugins might hide certain information and seeing
      the raw events shows what may be going on.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Acked-by: NNamhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/20140603032223.678098063@goodmis.orgSigned-off-by: NJiri Olsa <jolsa@kernel.org>
      a7c3196c
  2. 06 6月, 2014 3 次提交
  3. 05 6月, 2014 16 次提交
  4. 04 6月, 2014 12 次提交
  5. 02 6月, 2014 6 次提交
    • O
      uprobes: Teach copy_insn() to support tmpfs · 45e0a79a
      Oleg Nesterov 提交于
      tmpfs is widely used but as Denys reports shmem_aops doesn't have
      ->readpage() and thus you can't probe a binary on this filesystem.
      
      As Hugh suggested we can use shmem_read_mapping_page() in this case,
      just we need to check shmem_mapping() if ->readpage == NULL.
      Reported-by: NDenys Vlasenko <dvlasenk@redhat.com>
      Suggested-by: NHugh Dickins <hughd@google.com>
      Acked-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      Signed-off-by: NOleg Nesterov <oleg@redhat.com>
      45e0a79a
    • O
      uprobes: Shift ->readpage check from __copy_insn() to uprobe_register() · 7fa31348
      Oleg Nesterov 提交于
      copy_insn() fails with -EIO if ->readpage == NULL, but this error
      is not propagated unless uprobe_register() path finds ->mm which
      already mmaps this file. In this case (say) "perf record" does not
      actually install the probe, but the user can't know about this.
      
      Move this check into uprobe_register() so that this problem can be
      detected earlier and reported to user.
      
      Note: this is still not perfect,
      
      	- copy_insn() and arch_uprobe_analyze_insn() should be called
      	  by uprobe_register() but this is not simple, we need vm_file
      	  for read_mapping_page() (although perhaps we can pass NULL),
      	  and we need ->mm for is_64bit_mm() (although this logic is
      	  broken anyway).
      
      	- uprobe_register() should be called by create_trace_uprobe(),
      	  not by probe_event_enable(), so that an error can be detected
      	  at "perf probe -x" time. This also needs more changes in the
      	  core uprobe code, uprobe register/unregister interface was
      	  poorly designed from the very beginning.
      Reported-by: NDenys Vlasenko <dvlasenk@redhat.com>
      Acked-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      Signed-off-by: NOleg Nesterov <oleg@redhat.com>
      7fa31348
    • L
      Linux 3.15-rc8 · fad01e86
      Linus Torvalds 提交于
      fad01e86
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 204fe038
      Linus Torvalds 提交于
      Pull powerpc fix from Ben Herrenschmidt:
       "Here's just one trivial patch to wire up sys_renameat2 which I seem to
        have completely missed so far.
      
        (My test build scripts fwd me warnings but miss the ones generated for
        missing syscalls)"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Wire renameat2() syscall
      204fe038
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 568180a5
      Linus Torvalds 提交于
      Pull MIPS fixes from Ralf Baechle:
       "A fair number of fixes across the field.  Nothing terribly
        complicated; the one liners in below changelog should be fairly
        descriptive.
      
        Noteworthy is the SB1 change which the result of changes to binutils
        resulting in one big gas warning for most files being assembled as
        well as the asid_cache and branch emulation fixes which fix corruption
        or possible uninteded behaviour of kernel or application code.  The
        remainder of fixes are more platforms or subsystem specific"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: R46000: Fix Micro-assembler field overflow for R4600 V2
        MIPS: ptrace: Avoid smp_processor_id() in preemptible code
        MIPS: Lemote 2F: cs5536: mfgpt: use raw locks
        MIPS: SB1: Fix excessive kernel warnings.
        MIPS: RC32434: fix broken PCI resource initialization
        MIPS: malta: memory.c: Initialize the 'memsize' variable
        MIPS: Fix typo when reporting cache and ftlb errors for ImgTec cores
        MIPS: Fix inconsistancy of __NR_Linux_syscalls value
        MIPS: Fix branch emulation of branch likely instructions.
        MIPS: Fix a typo error in AUDIT_ARCH definition
        MIPS: Change type of asid_cache to unsigned long
      568180a5
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 32439700
      Linus Torvalds 提交于
      Pull scheduler fixes from Ingo Molnar:
       "Various fixlets, mostly related to the (root-only) SCHED_DEADLINE
        policy, but also a hotplug bug fix and a fix for a NR_CPUS related
        overallocation bug causing a suspend/resume regression"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Fix hotplug vs. set_cpus_allowed_ptr()
        sched/cpupri: Replace NR_CPUS arrays
        sched/deadline: Replace NR_CPUS arrays
        sched/deadline: Restrict user params max value to 2^63 ns
        sched/deadline: Change sched_getparam() behaviour vs SCHED_DEADLINE
        sched: Disallow sched_attr::sched_policy < 0
        sched: Make sched_setattr() correctly return -EFBIG
      32439700