* Julien Desfossez ([email protected]) wrote: > Add output selection in lttng_kernel_channel to use mmap or splice. >
Merged, with a slight change: specified the enum values. Thanks, Mathieu > Signed-off-by: Julien Desfossez <[email protected]> > --- > ltt-debugfs-abi.c | 18 +++++++++++++++--- > ltt-debugfs-abi.h | 9 +++++++++ > 2 files changed, 24 insertions(+), 3 deletions(-) > > diff --git a/ltt-debugfs-abi.c b/ltt-debugfs-abi.c > index 6327d09..0aa2cec 100644 > --- a/ltt-debugfs-abi.c > +++ b/ltt-debugfs-abi.c > @@ -289,12 +289,24 @@ int lttng_abi_create_channel(struct file *session_file, > } > switch (channel_type) { > case PER_CPU_CHANNEL: > - transport_name = chan_param.overwrite ? > - "relay-overwrite" : "relay-discard"; > + if (chan_param.output == LTTNG_KERNEL_SPLICE) { > + transport_name = chan_param.overwrite ? > + "relay-overwrite" : "relay-discard"; > + } else if (chan_param.output == LTTNG_KERNEL_MMAP) { > + transport_name = chan_param.overwrite ? > + "relay-overwrite-mmap" : "relay-discard-mmap"; > + } else { > + return -EINVAL; > + } > fops = <tng_channel_fops; > break; > case METADATA_CHANNEL: > - transport_name = "relay-metadata"; > + if (chan_param.output == LTTNG_KERNEL_SPLICE) > + transport_name = "relay-metadata"; > + else if (chan_param.output == LTTNG_KERNEL_MMAP) > + transport_name = "relay-metadata-mmap"; > + else > + return -EINVAL; > fops = <tng_metadata_fops; > break; > default: > diff --git a/ltt-debugfs-abi.h b/ltt-debugfs-abi.h > index e3a7160..e333655 100644 > --- a/ltt-debugfs-abi.h > +++ b/ltt-debugfs-abi.h > @@ -22,6 +22,14 @@ enum lttng_kernel_instrumentation { > }; > > /* > + * LTTng consumer mode > + */ > +enum lttng_kernel_output { > + LTTNG_KERNEL_SPLICE, > + LTTNG_KERNEL_MMAP, > +}; > + > +/* > * LTTng DebugFS ABI structures. > */ > > @@ -31,6 +39,7 @@ struct lttng_kernel_channel { > uint64_t num_subbuf; > unsigned int switch_timer_interval; /* usecs */ > unsigned int read_timer_interval; /* usecs */ > + enum lttng_kernel_output output; /* splice, mmap */ > }; > > /* > -- > 1.7.4.1 > -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
