linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tzvetomir Stoyanov <tstoyanov@vmware.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: "linux-trace-devel@vger.kernel.org"  <linux-trace-devel@vger.kernel.org>
Subject: Re: [PATCH 2/7] trace-cmd: Added new option in trace.dat file for negative time offsets
Date: Tue, 22 Jan 2019 13:28:19 +0000	[thread overview]
Message-ID: <CACqStocW=2c-uTMJ==biTsxLjx9Fr-xgUMQrP0kd7a8rSxPH2Q@mail.gmail.com> (raw)
In-Reply-To: <20190121040806.6fce022f@vmware.local.home>

On Mon, Jan 21, 2019 at 11:08 AM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Wed, 16 Jan 2019 21:18:33 +0200
> Tzvetomir Stoyanov <tstoyanov@vmware.com> wrote:
>
> > diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c
> > index b628570..de15d4b 100644
> > --- a/lib/trace-cmd/trace-input.c
> > +++ b/lib/trace-cmd/trace-input.c
> > @@ -2151,6 +2151,7 @@ static int handle_options(struct tracecmd_input *handle)
> >                       handle->ts_offset += offset;
> >                       break;
> >               case TRACECMD_OPTION_OFFSET:
> > +             case TRACECMD_OPTION_OFFSET_N:
> >                       /*
> >                        * Similar to date option, but just adds an
> >                        * offset to the timestamp.
> > @@ -2158,7 +2159,11 @@ static int handle_options(struct tracecmd_input *handle)
> >                       if (handle->flags & TRACECMD_FL_IGNORE_DATE)
> >                               break;
> >                       offset = strtoll(buf, NULL, 0);
> > -                     handle->ts_offset += offset;
> > +                     if (option == TRACECMD_OPTION_OFFSET_N) {
>
> Instead of adding a new option, couldn't we just make option a "long
> long" and save a negative number in the trace.dat file? strtoll()
> should be able to handle it.

Yes,  we can make in long long, but this will break the backward compatibility.
The old versions of  trace-cmd will get confused, as they will cast it
to unsigned.
That's why I added a new option, in this way old trace-cmd versions
will not read the
negative offset at all.

>
> -- Steve
>
>
> > +                             if (handle->ts_offset > offset)
> > +                                     handle->ts_offset -= offset;
> > +                     } else
> > +                             handle->ts_offset += offset;
> >                       break;
> >               case TRACECMD_OPTION_CPUSTAT:
> >                       buf[size-1] = '\n';



-- 

Tzvetomir (Ceco) Stoyanov
VMware Open Source Technology Center

  reply	other threads:[~2019-01-22 13:28 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-16 19:18 [PATCH 0/7] trace-cmd [POC]: Timestamps sync using PTP-like algorithm, relying on vsock events Tzvetomir Stoyanov
2019-01-16 19:18 ` [PATCH 1/7] trace-cmd: Implemented new lib API: tracecmd_local_events_system() Tzvetomir Stoyanov
2019-01-21  9:02   ` Steven Rostedt
2019-01-16 19:18 ` [PATCH 2/7] trace-cmd: Added new option in trace.dat file for negative time offsets Tzvetomir Stoyanov
2019-01-21  9:08   ` Steven Rostedt
2019-01-22 13:28     ` Tzvetomir Stoyanov [this message]
2019-01-16 19:18 ` [PATCH 3/7] trace-cmd: Fixed logic in tracecmd_read_page_record() Tzvetomir Stoyanov
2019-01-21  9:09   ` Steven Rostedt
2019-01-22 13:36     ` Tzvetomir Stoyanov
2019-01-16 19:18 ` [PATCH 4/7] trace-cmd: Added implementation of htonll() and ntohll() Tzvetomir Stoyanov
2019-01-16 19:18 ` [PATCH 5/7] trace-cmd: Added user configured clock to the record context Tzvetomir Stoyanov
2019-01-21  9:19   ` Steven Rostedt
2019-01-22 13:43     ` Tzvetomir Stoyanov
2019-01-22 14:14       ` Slavomir Kaslev
2019-01-16 19:18 ` [PATCH 6/7] trace-cmd: Refactored make_instances() and tracecmd_remove_instances() Tzvetomir Stoyanov
2019-01-21  9:13   ` Steven Rostedt
2019-01-16 19:18 ` [PATCH 7/7] trace-cmd [POC]: Implemented timestamps synch PTP-like algorithm, using vsock events Tzvetomir Stoyanov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACqStocW=2c-uTMJ==biTsxLjx9Fr-xgUMQrP0kd7a8rSxPH2Q@mail.gmail.com' \
    --to=tstoyanov@vmware.com \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).