Re: Ideals for tep plugin options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Steven,

On Mon, Jan 6, 2020 at 6:30 PM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> Hi Tzvetomir,
>
> I was looking at the plugin options, and I believe it needs to be
> updated.
>
> 1) the tep_plugin_option structure:
>
>   - rename "file" to "plugin"
>   - remove "plugin_alias"
>
> 2) Currently we have the following plugin option functions exported in
> trace-cmd:
>
>  char **tep_plugin_list_options(void);
>  void tep_plugin_free_options_list(char **list);
>  int tep_plugin_add_options(const char *name,
>                            struct tep_plugin_option *options);
>  int tep_plugin_add_option(const char *name, const char *val);
>  void tep_plugin_remove_options(struct tep_plugin_option *options);
>  void tep_plugin_print_options(struct trace_seq *s);
>  void tep_print_plugins(struct trace_seq *s,
>                         const char *prefix, const char *suffix,
>                         const struct tep_plugin_list *list);
>
> What we should only have is:
>
>  int tep_plugin_add_options(const char *plugin,
>                           struct tep_plugin_option *options);
>  int tep_plugin_set_option(const char *plugin, const char *name,
>                           const char *val);
>  int tep_plugin_remove_options(struct tep_plugin_option *options);
>  struct tep_plugin_option const * const tep_plugin_options_list(void);
>
>
> Where:
>
>   tep_plugin_add_options() is basically the same as we have now. But we
>     should change it so that if "plugin" is already registered, it
>     should fail with -EBUSY.
>
>  tep_plugin_set_option() lets us update the option. If "plugin" is
>    NULL, then it will ignore that value, and will set all options with
>    "name" to "val", regardless of what plugin it belongs to.
>
>  tep_plugin_remove_options() is basically the same as what we have now,
>    and removes the options from the list.
>
>  tep_plugin_options_list() returns an immutable list of all the
>    registered plugin options. This is the list that the application can
>    use to see what options are registered, as well as their default
>    (and current) values.
>
> Does this make sense?

Yes, it makes sense. I'll submit a patch set with these changes, in
the kernel tree.
I'm going to add also a check at the plugin loading time, if it is
already loaded -
the old one will be unloaded before the new one is registered.

>
> -- Steve

-- 
Tzvetomir (Ceco) Stoyanov
VMware Open Source Technology Center



[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux