]> git.baikalelectronics.ru Git - kernel.git/commit
perf tools: Add jsmn `jasmine' JSON parser
authorAndi Kleen <ak@linux.intel.com>
Thu, 15 Sep 2016 22:24:38 +0000 (15:24 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 3 Oct 2016 14:40:36 +0000 (11:40 -0300)
commit6277515bb50734f92e3668adf57af03b35933ad3
treee4a3404a2d41282b8752751d298f7e1e1de6376c
parente79dbb2e2f987745d96961cc95b7b63f86ae559a
perf tools: Add jsmn `jasmine' JSON parser

I need a JSON parser. This adds the simplest JSON parser I could find --
Serge Zaitsev's jsmn `jasmine' -- to the perf library. I merely
converted it to (mostly) Linux style and added support for non 0
terminated input.

The parser is quite straight forward and does not copy any data, just
returns tokens with offsets into the input buffer. So it's relatively
efficient and simple to use.

The code is not fully checkpatch clean, but I didn't want to completely
fork the upstream code.

Original source: http://zserge.bitbucket.org/jsmn.html

In addition I added a simple wrapper that mmaps a json file and provides
some straight forward access functions.

Used in follow-on patches to parse event files.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/1473978296-20712-2-git-send-email-sukadev@linux.vnet.ibm.com
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
[ Use fcntl.h instead of sys/fcntl.h to fix the build on Alpine Linux 3.4/musl libc,
  use stdbool.h to avoid clashing with 'bool' typedef there ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/pmu-events/jsmn.c [new file with mode: 0644]
tools/perf/pmu-events/jsmn.h [new file with mode: 0644]
tools/perf/pmu-events/json.c [new file with mode: 0644]
tools/perf/pmu-events/json.h [new file with mode: 0644]