1. 16 1月, 2014 1 次提交
  2. 05 12月, 2013 2 次提交
    • J
      tools lib traceevent: Remove malloc_or_die from event-plugin.c · f9bb36af
      Jiri Olsa 提交于
      Removing malloc_or_die calls from event-plugin.c,
      replacing them with standard malloc and error path.
      Suggested-by: NNamhyung Kim <namhyung@kernel.org>
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-23-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f9bb36af
    • J
      tools lib traceevent: Add plugin support · c877bbd8
      Jiri Olsa 提交于
      Backporting plugin support for traceevent lib.
      
      Backported from Steven Rostedt's trace-cmd repo (HEAD 0f2c2fb):
      git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
      
      It's now possible to use following interface to load plugins
      (shared objects) to enhance pevent object functionality.
      
      The plugin interface/hooks are as follows:
      (taken from event-parse.h comments)
      
      - 'pevent_plugin_loader' (required)
          The function name to initialized the plugin.
      
          int pevent_plugin_loader(struct pevent *pevent)
      
      - 'pevent_plugin_unloader' (optional)
          The function called just before unloading
      
          int pevent_plugin_unloader(void)
      
      - 'pevent_plugin_options'  (optional)
          Plugin options that can be set before loading
      
          struct plugin_option pevent_plugin_options[] = {
             {
                     .name = "option-name",
                     .plugin_alias = "overide-file-name", (optional)
                     .description = "description of option to show users",
             },
             {
                     .name = NULL,
             },
          };
      
          Array must end with .name = NULL;
      
          The plugin_alias (below) can be used to give a shorter
          name to access the variable. Useful if a plugin handles
          more than one event.
      
          NOTE options support is not backported yet.
      
      - 'pevent_plugin_alias' (optional)
          The name to use for finding options (uses filename if not defined)
      
      New traceevent functions are added to search and load
      available plugins:
      
        struct plugin_list*
        traceevent_load_plugins(struct pevent *pevent)
          - loads plusing for 'struct pevent' object and returns
            loaded plugins list
      
        void traceevent_unload_plugins(struct plugin_list *plugin_list);
          - unload plugin list
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-3-git-send-email-jolsa@redhat.comSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      c877bbd8