All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] libsubcmd: Fix OPT_CALLBACK_SET()
@ 2020-06-19 13:34 Ravi Bangoria
  2020-06-19 13:34 ` [PATCH 2/2] perf record: Fix --switch-output=time documentation Ravi Bangoria
  2020-07-17  3:40 ` [PATCH 1/2] libsubcmd: Fix OPT_CALLBACK_SET() Ravi Bangoria
  0 siblings, 2 replies; 4+ messages in thread
From: Ravi Bangoria @ 2020-06-19 13:34 UTC (permalink / raw)
  To: acme; +Cc: ravi.bangoria, jolsa, linux-kernel

Any option macro with _SET suffix should set opt->set variable which
is not happening for OPT_CALLBACK_SET(). This is causing issues with
perf record --switch-output-event. Fix that.

Before:
  # ./perf record --overwrite -e sched:*switch,syscalls:sys_enter_mmap \
           --switch-output-event syscalls:sys_enter_mmap
  ^C[ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.297 MB perf.data (657 samples) ]

After:

  $ ./perf record --overwrite -e sched:*switch,syscalls:sys_enter_mmap \
          --switch-output-event syscalls:sys_enter_mmap
  [ perf record: dump data: Woken up 1 times ]
  [ perf record: Dump perf.data.2020061918144542 ]
  [ perf record: dump data: Woken up 1 times ]
  [ perf record: Dump perf.data.2020061918144608 ]
  [ perf record: dump data: Woken up 1 times ]
  [ perf record: Dump perf.data.2020061918144660 ]
  ^C[ perf record: dump data: Woken up 1 times ]
  [ perf record: Dump perf.data.2020061918144784 ]
  [ perf record: Woken up 0 times to write data ]
  [ perf record: Dump perf.data.2020061918144803 ]
  [ perf record: Captured and wrote 0.419 MB perf.data.<timestamp> ]

Fixes: 636eb4d001b1 ("libsubcmd: Introduce OPT_CALLBACK_SET()")
Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
---
 tools/lib/subcmd/parse-options.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/lib/subcmd/parse-options.c b/tools/lib/subcmd/parse-options.c
index dbb9efbf718a..39ebf6192016 100644
--- a/tools/lib/subcmd/parse-options.c
+++ b/tools/lib/subcmd/parse-options.c
@@ -237,6 +237,9 @@ static int get_value(struct parse_opt_ctx_t *p,
 		return err;
 
 	case OPTION_CALLBACK:
+		if (opt->set)
+			*(bool *)opt->set = true;
+
 		if (unset)
 			return (*opt->callback)(opt, NULL, 1) ? (-1) : 0;
 		if (opt->flags & PARSE_OPT_NOARG)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-07-17 12:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-19 13:34 [PATCH 1/2] libsubcmd: Fix OPT_CALLBACK_SET() Ravi Bangoria
2020-06-19 13:34 ` [PATCH 2/2] perf record: Fix --switch-output=time documentation Ravi Bangoria
2020-07-17  3:40 ` [PATCH 1/2] libsubcmd: Fix OPT_CALLBACK_SET() Ravi Bangoria
2020-07-17 12:34   ` Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.