linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Slavomir Kaslev <slavomir.kaslev@gmail.com>
To: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>, linux-trace-devel@vger.kernel.org
Subject: Re: [PATCH v15 16/18] trace-cmd: Basic infrastructure for host - guest timestamp synchronization
Date: Thu, 28 Nov 2019 17:08:08 +0200	[thread overview]
Message-ID: <CAE0o1Nv33cEQGGX92XDCW7Y_E8CZ2uZ-ZKV=-_TkMeh3LB02DQ@mail.gmail.com> (raw)
In-Reply-To: <20191128085409.289684-17-tz.stoyanov@gmail.com>

On Thu, Nov 28, 2019 at 11:02 AM Tzvetomir Stoyanov (VMware)
<tz.stoyanov@gmail.com> wrote:

[...]

> --- a/Documentation/trace-cmd-record.1.txt
> +++ b/Documentation/trace-cmd-record.1.txt
> @@ -338,6 +338,12 @@ OPTIONS
>      the offset will also be in nanoseconds even if the displayed units are
>      in microseconds.
>
> +*--tsync-interval*::
> +    Set the loop interval, in ms, for timestamps synchronization with guests:
> +        If a negative number is specified, timestamps synchronization is disabled
> +        If 0 is specified, no loop is performed - timestamps offset is calculated only twice,"
> +        at the beginnig and at the end of the trace\n"

Typo in "beginnig".

[...]

> diff --git a/lib/trace-cmd/trace-msg.c b/lib/trace-cmd/trace-msg.c
> index a34297f..8944013 100644
> --- a/lib/trace-cmd/trace-msg.c
> +++ b/lib/trace-cmd/trace-msg.c
> @@ -26,8 +26,12 @@
>  #include "trace-local.h"
>  #include "trace-msg.h"
>
> +typedef __u16 u16;
> +typedef __s16 s16;

s16 and u16 seem to not be used.

[...]

> @@ -264,6 +278,17 @@ static int tracecmd_msg_send(int fd, struct tracecmd_msg *msg)
>         return ret;
>  }
>
> +static int tracecmd_msg_send_nofree(int fd, struct tracecmd_msg *msg)
> +{
> +       int ret = 0;
> +
> +       ret = msg_write(fd, msg);
> +       if (ret < 0)
> +               ret = -ECOMM;
> +
> +       return ret;
> +}

Maybe reuse tracecmd_msg_send_nofree in tracecmd_msg_send above?

[...]

> +int tracecmd_msg_recv_time_sync(struct tracecmd_msg_handle *msg_handle,
> +                               unsigned int *sync_protocol,
> +                               unsigned int *sync_msg_id,
> +                               unsigned int *payload_size, char **payload)
> +{
> +       struct tracecmd_msg msg;
> +       int ret = -1;
> +       int buf_size;
> +
> +       memset(&msg, 0, sizeof(msg));
> +       ret = tracecmd_msg_recv(msg_handle->fd, &msg);
> +       if (ret < 0)
> +               goto out;
> +
> +       if (ntohl(msg.hdr.cmd) != MSG_TIME_SYNC) {
> +               ret = -EOPNOTSUPP;
> +               goto out;
> +       }
> +
> +       if (sync_protocol)
> +               *sync_protocol = ntohl(msg.tsync.sync_protocol);
> +       if (sync_msg_id)
> +               *sync_msg_id = ntohl(msg.tsync.sync_msg_id);
> +
> +       buf_size = msg_buf_len(&msg);
> +       if (buf_size < 0) {
> +               ret = -EINVAL;
> +               goto out;
> +       }
> +
> +       if (buf_size && payload && payload_size) {
> +               if (*payload_size) {
> +                       if (*payload_size != buf_size || *payload == NULL) {
> +                               ret = -ENOMEM;

Returning ENOMEM in this case is confusing. If this case is intended
make it so that we don't allocate on each tracecmd_msg_recv_time_sync,
maybe do realloc() here instead?

-- 
Slavomir Kaslev

  reply	other threads:[~2019-11-28 15:08 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-28  8:53 [PATCH v15 00/18]Timestamp synchronization of host - guest tracing session Tzvetomir Stoyanov (VMware)
2019-11-28  8:53 ` [PATCH v15 01/18] trace-cmd: Implement new lib API: tracecmd_local_events_system() Tzvetomir Stoyanov (VMware)
2019-11-28  8:53 ` [PATCH v15 02/18] trace-cmd: Add support for negative time offsets in trace.dat file Tzvetomir Stoyanov (VMware)
2019-11-28  8:53 ` [PATCH v15 03/18] trace-cmd: Add implementations of htonll() and ntohll() Tzvetomir Stoyanov (VMware)
2019-11-28  8:53 ` [PATCH v15 04/18] trace-cmd: Add new library APIs for ftrace instances Tzvetomir Stoyanov (VMware)
2019-11-28  8:53 ` [PATCH v15 05/18] trace-cmd: Add new library API for local CPU count Tzvetomir Stoyanov (VMware)
2019-11-28  8:53 ` [PATCH v15 06/18] trace-cmd: Add new library API for reading ftrace buffers Tzvetomir Stoyanov (VMware)
2019-11-28  8:53 ` [PATCH v15 07/18] trace-cmd: Find and store pids of tasks, which run virtual CPUs of given VM Tzvetomir Stoyanov (VMware)
2019-11-28  8:53 ` [PATCH v15 08/18] trace-cmd: Implement new API tracecmd_add_option_v() Tzvetomir Stoyanov (VMware)
2019-11-28  8:54 ` [PATCH v15 09/18] trace-cmd: Add new API to generate a unique ID of the tracing session Tzvetomir Stoyanov (VMware)
2019-11-28  8:54 ` [PATCH v15 10/18] trace-cmd: Store the session tracing ID in the trace.dat file Tzvetomir Stoyanov (VMware)
2019-11-28  8:54 ` [PATCH v15 11/18] trace-cmd: Exchange tracing IDs between host and guest Tzvetomir Stoyanov (VMware)
2019-11-28 14:34   ` Slavomir Kaslev
2019-11-28 14:58     ` Tzvetomir Stoyanov
2019-11-29 10:22       ` Tzvetomir Stoyanov
2019-11-28  8:54 ` [PATCH v15 12/18] trace-cmd: Implement new option in trace.dat file: TRACECMD_OPTION_TIME_SHIFT Tzvetomir Stoyanov (VMware)
2019-11-28  8:54 ` [PATCH v15 13/18] trace-cmd: Add guest information in host's trace.dat file Tzvetomir Stoyanov (VMware)
2019-11-28  8:54 ` [PATCH v15 14/18] trace-cmd: Add host trace clock as guest trace argument Tzvetomir Stoyanov (VMware)
2019-11-28 14:45   ` Slavomir Kaslev
2019-11-28 15:05     ` Tzvetomir Stoyanov
2019-11-28  8:54 ` [PATCH v15 15/18] trace-cmd: Refactor few trace-cmd internal functions Tzvetomir Stoyanov (VMware)
2019-11-28 14:51   ` Slavomir Kaslev
2019-11-28 15:08     ` Tzvetomir Stoyanov
2019-11-28  8:54 ` [PATCH v15 16/18] trace-cmd: Basic infrastructure for host - guest timestamp synchronization Tzvetomir Stoyanov (VMware)
2019-11-28 15:08   ` Slavomir Kaslev [this message]
2019-11-28 15:27     ` Tzvetomir Stoyanov
2019-11-28  8:54 ` [PATCH v15 17/18] trace-cmd: [POC] PTP-like algorithm " Tzvetomir Stoyanov (VMware)
2019-11-28  8:54 ` [PATCH v15 18/18] trace-cmd: Debug scripts for " Tzvetomir Stoyanov (VMware)

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='CAE0o1Nv33cEQGGX92XDCW7Y_E8CZ2uZ-ZKV=-_TkMeh3LB02DQ@mail.gmail.com' \
    --to=slavomir.kaslev@gmail.com \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tz.stoyanov@gmail.com \
    /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).