05/05/2020 19:28, Jerin Jacob: > On Tue, May 5, 2020 at 10:50 PM Thomas Monjalon <tho...@monjalon.net> wrote: > > 05/05/2020 19:09, Jerin Jacob: > > > On Tue, May 5, 2020 at 10:38 PM Jerin Jacob <jerinjac...@gmail.com> wrote: > > > > On Tue, May 5, 2020 at 10:28 PM Thomas Monjalon <tho...@monjalon.net> > > > > wrote: > > > > > 05/05/2020 18:46, Jerin Jacob: > > > > > > On Tue, May 5, 2020 at 9:58 PM David Marchand > > > > > > <david.march...@redhat.com> wrote: > > > > > > > On Tue, May 5, 2020 at 5:25 PM Jerin Jacob > > > > > > > <jerinjac...@gmail.com> wrote: > > > > > > > > On Tue, May 5, 2020 at 5:56 PM Jerin Jacob > > > > > > > > <jerinjac...@gmail.com> wrote: > > > > > > > > > On Tue, May 5, 2020 at 5:06 PM David Marchand > > > > > > > > > <david.march...@redhat.com> wrote: > > > > > > > > > > On Tue, May 5, 2020 at 12:13 PM Jerin Jacob > > > > > > > > > > <jerinjac...@gmail.com> wrote: > > > > > > > > > > > > > Please share the data. > > > > > > > > > > > > > > > > > > > > > > > > Measured time between first rte_trace_point_register > > > > > > > > > > > > and last one with > > > > > > > > > > > > a simple patch: > > > > > > > > > > > > > > > > > > > > > > I will try to reproduce this, once we finalize on the > > > > > > > > > > > above synergy > > > > > > > > > > > with rte_log. > > > > > > > > > > > > > > > > > > > > I took the time to provide measure but you won't take the > > > > > > > > > > time to look at this. > > > > > > > > > > > > > > > > > > I will spend time on this. I would like to test with a shared > > > > > > > > > library > > > > > > > > > also and more tracepoints. > > > > > > > > > I was looking for an agreement on using the constructor for > > > > > > > > > rte_log as > > > > > > > > > well(Just make sure the direction is correct). > > > > > > > > > > > > > > > > > > Next steps: > > > > > > > > > - I will analyze the come back on this overhead on this > > > > > > > > > thread. > > > > > > > > > > > > > > > > I have added 500 constructors for testing the overhead with the > > > > > > > > shared > > > > > > > > build and static build. > > > > > > > > My results inline with your results aka negligible overhead. > > > > > > > > > > > > > > > > David, > > > > > > > > Do you have plan for similar RTE_LOG_REGISTER as mentioned > > > > > > > > earlier? > > > > > > > > I would like to have rte_log and rte_trace semantics similar to > > > > > > > > registration. > > > > > > > > If you are not planning to submit the rte_log patch then I can > > > > > > > > send > > > > > > > > one for RC2 cleanup. > > > > > > > > > > > > > > It won't be possible for me. > > > > > > > > > > > > I can do that if we agree on the specifics. > > > > > > > > > > > > > > > > > > > > > > > > > > Relying on the current rte_log_register is buggy with shared > > > > > > > builds, > > > > > > > as drivers are calling rte_log_register, then impose a default > > > > > > > level > > > > > > > without caring about what the user passed. > > > > > > > So if we introduce a RTE_LOG_REGISTER macro now at least this > > > > > > > must be fixed too. > > > > > > > > > > > > > > What I wanted to do: > > > > > > > - merge rte_log_register_and_pick_level() (experimental) into > > > > > > > rte_log_register, doing this should be fine from my pov, > > > > > > > - reconsider the relevance of a fallback logtype when > > > > > > > registration fails, > > > > > > > - shoot the default level per component thing: levels meaning is > > > > > > > fragmented across the drivers/libraries because of it, but this > > > > > > > will > > > > > > > open a big box of stuff, > > > > > > > > > > > > This you are referring to internal implementation improvement. > > > > > > Right? > > > > > > I was referring to remove the current clutter[1] > > > > > > If we stick the following as the interface. Then you can do other > > > > > > improvements when you get time > > > > > > that won't change the consumer code or interference part. > > > > > > > > > > > > #define RTE_LOG_REGISTER(type, name, level) > > > > > > > > > > This discussion is interesting but out of scope for rte_trace. > > > > > I am also interested in rte_log registration cleanup, > > > > > but I know it is too much work for the last weeks of 20.05. > > > > > > > > > > As Olivier said about rte_trace, > > > > > "Since it's a new API, it makes sense to make > > > > > it as good as possible for the first version." > > > > > > > > > > So please let's conclude on this rte_trace patch for 20.05-rc2, > > > > > and commit to fix rte_log registration in the first days of 20.08. > > > > > > > > Why not hold the trace registration patch 2/8 and apply rest for RC2. > > > > Once we have synergy between the registration scheme between rte_log > > > > and rte_trace > > > > apply the patch for RC2. > > > > > > I meant, Once we have synergy between the registration scheme between > > > rte_log and rte_trace > > > apply the patch for _20.08_? > > > > Because of what I wrote above: > > As Olivier said about rte_trace, > > "Since it's a new API, it makes sense to make > > it as good as possible for the first version." > > > > The intent is to show an API as simple as possible > > in order to have a maximum of developers integrating it, > > and getting more interesting feedbacks. > > > > In other words, we want to make your work shine for prime time. > > I like that, If it is not shining just because of 2/8 not applying now > then I fine with that. > Anyway, it is an experimental API, There is still room to change and > nothing is set and stone. > For me, the synergy between log/trace interface important as trace > needs to replace rte_log.
Now that I better understand what rte_trace (and tracing in general) is, I believe rte_log cannot be replaced. I think we can write logs in traces, as a log option, but it should be just one possible output among others. I think everybody agree to use one constructor per log type and per trace type. We are ready to do this change for rte_trace first. This is your call to accept it or not, even if don't understand why you would like both to be done at the exact same time.