Re: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation
On 15 September 2017 at 14:45, Lluís Vilanovawrote: > Do you have an opinion on specific trace points, or an observation in general? > > I wanted to have the following events: > > * cpu hotplug/hotunplug > * cpu reset > * memory access translation/execution > * BBL/TB translation/execution > * instruction translation/execution > * exceptions / syscalls My initial stab at a "basic" set of events would be: * instruction executes * memory accesses * exceptions But the better approach would probably be to survey the existing trace APIs in other models. thanks -- PMM
Re: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation
Peter Maydell writes: > On 12 September 2017 at 22:01, Lluís Vilanovawrote: >> This series adds an API to add instrumentation events. >> >> It also provides additional APIs for: >> * Controlling tracing events. >> * Peek/poke guest memory. >> Future APIs (for later series): >> * Peek/poke guest registers. >> * Add breakpoints to trigger instrumentation functions. >> * Trigger instrumentation functions from guest code (former hypertrace). >> * Add events for guest code translation/execution (once the respective >> tracing >> events are accepted upstream). >> * Add events for exceptions/syscalls. >> * Add events for TB invalidation (necessary for libraries to deallocate any >> data >> they might have allocated for the TBs they instrumented). >> >> The instrumentation code is dynamically loaded as a library into QEMU either >> when it starts or later using its remote control interfaces. The loaded code >> only has access to function explicitly exported through the QI_VPUBLIC macro. >> >> This series is branch 'devel-instrument' in >> https://code.gso.ac.upc.edu/git/qemu-dbi. > To parallel the comment I sent on Emilio's series: I think the > first thing we should do here is work out the API we want to > present to the instrumentation plugin, because that's permanent > and we want to get it right. Then we can figure out the > implementation details later. > Particular notes: > * putting things in the instrumentation plugin API that basically >parallel some existing trace points is something I'm wary of, >because a lot of our existing tracing is "output something at >a point and in a way that's convenient for our internal >implementation", rather than "what is the right clean interface >to provide this sort of information". I'd rather we started >with a blank piece of paper and designed an API, and then >implemented it. Do you have an opinion on specific trace points, or an observation in general? I wanted to have the following events: * cpu hotplug/hotunplug * cpu reset * memory access translation/execution * BBL/TB translation/execution * instruction translation/execution * exceptions / syscalls > * I definitely don't think we should expose to the instrumentation >the distinction between translate time and execute time Please see my response to your email in v6. Also, I forgot an even simpler case, like instrumenting a subset of memory accesses (e.g., only writes). Thanks, Lluis
Re: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation
On 12 September 2017 at 22:01, Lluís Vilanovawrote: > This series adds an API to add instrumentation events. > > It also provides additional APIs for: > * Controlling tracing events. > * Peek/poke guest memory. > Future APIs (for later series): > * Peek/poke guest registers. > * Add breakpoints to trigger instrumentation functions. > * Trigger instrumentation functions from guest code (former hypertrace). > * Add events for guest code translation/execution (once the respective tracing > events are accepted upstream). > * Add events for exceptions/syscalls. > * Add events for TB invalidation (necessary for libraries to deallocate any > data > they might have allocated for the TBs they instrumented). > > The instrumentation code is dynamically loaded as a library into QEMU either > when it starts or later using its remote control interfaces. The loaded code > only has access to function explicitly exported through the QI_VPUBLIC macro. > > This series is branch 'devel-instrument' in > https://code.gso.ac.upc.edu/git/qemu-dbi. To parallel the comment I sent on Emilio's series: I think the first thing we should do here is work out the API we want to present to the instrumentation plugin, because that's permanent and we want to get it right. Then we can figure out the implementation details later. Particular notes: * putting things in the instrumentation plugin API that basically parallel some existing trace points is something I'm wary of, because a lot of our existing tracing is "output something at a point and in a way that's convenient for our internal implementation", rather than "what is the right clean interface to provide this sort of information". I'd rather we started with a blank piece of paper and designed an API, and then implemented it. * I definitely don't think we should expose to the instrumentation the distinction between translate time and execute time thanks -- PMM
Re: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation
no-reply writes: > Hi, > This series failed automatic build test. Please find the testing commands and > their output below. If you have docker installed, you can probably reproduce > it > locally. > Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event > instrumentation > Message-id: 150525010239.15988.8172586618197849619.st...@frigg.lan > Type: series > === TEST SCRIPT BEGIN === > #!/bin/bash > set -e > git submodule update --init dtc > # Let docker tests dump environment info > export SHOW_ENV=1 > export J=8 > time make docker-test-quick@centos6 > time make docker-test-build@min-glib > time make docker-test-mingw@fedora > === TEST SCRIPT END === > Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 > Switched to a new branch 'test' > 1ab48ae9b7 instrument: Add API to manipulate guest memory > 7e0bd2cad7 instrument: Add event 'guest_user_syscall_ret' > 334caef899 instrument: Add event 'guest_user_syscall' > 09a1773791 instrument: Add event 'guest_mem_before_exec' > 2bd64563d3 instrument: Add event 'guest_mem_before_trans' > 5b344ec1c3 trace: Introduce a proper structure to describe memory accesses > 04e5b883b1 instrument: Add event 'guest_cpu_reset' > 7971d0f2a4 instrument: Add event 'guest_cpu_exit' > 53dbc9ad88 exec: Add function to synchronously flush TB on a stopped vCPU > d8b51515d2 instrument: Support synchronous modification of vCPU state > 08d492e35f instrument: Add event 'guest_cpu_enter' > 0be52b1bbd instrument: Track vCPUs > 7ab01f20f5 instrument: Add support for tracing events > 78676cff2d instrument: Add basic control interface > 00172972ae instrument: [hmp] Add library loader > 34ccf831e6 instrument: [qapi] Add library loader > d1ab648b00 instrument: [softmmu] Add command line library loader > 150ad4a651 instrument: [bsd-user] Add command line library loader > a064b1621a instrument: [linux-user] Add command line library loader > aa78ee9f5a instrument: Add generic library loader > f10357e313 instrument: Add configure-time flag > 4d324ad619 instrument: Add documentation > === OUTPUT BEGIN === > Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' > Cloning into '/var/tmp/patchew-tester-tmp-lf5qg9x6/src/dtc'... > Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d' > BUILD centos6 > make[1]: Entering directory '/var/tmp/patchew-tester-tmp-lf5qg9x6/src' > ARCHIVE qemu.tgz > ARCHIVE dtc.tgz > COPYRUNNER > RUN test-quick in qemu:centos6 > Packages installed: > SDL-devel-1.2.14-7.el6_7.1.x86_64 > bison-2.4.1-5.el6.x86_64 > bzip2-devel-1.0.5-7.el6_0.x86_64 > ccache-3.1.6-2.el6.x86_64 > csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64 > flex-2.5.35-9.el6.x86_64 > gcc-4.4.7-18.el6.x86_64 > git-1.7.1-8.el6.x86_64 > glib2-devel-2.28.8-9.el6.x86_64 > libepoxy-devel-1.2-3.el6.x86_64 > libfdt-devel-1.4.0-1.el6.x86_64 > librdmacm-devel-1.0.21-0.el6.x86_64 > lzo-devel-2.03-3.1.el6_5.1.x86_64 > make-3.81-23.el6.x86_64 > mesa-libEGL-devel-11.0.7-4.el6.x86_64 > mesa-libgbm-devel-11.0.7-4.el6.x86_64 > package g++ is not installed > pixman-devel-0.32.8-1.el6.x86_64 > spice-glib-devel-0.26-8.el6.x86_64 > spice-server-devel-0.12.4-16.el6.x86_64 > tar-1.23-15.el6_8.x86_64 > vte-devel-0.25.1-9.el6.x86_64 > xen-devel-4.6.3-15.el6.x86_64 > zlib-devel-1.2.3-29.el6.x86_64 > Environment variables: > PACKAGES=bison bzip2-devel ccache csnappy-devel flex g++ >gcc git glib2-devel libepoxy-devel libfdt-devel > librdmacm-devel lzo-devel make mesa-libEGL-devel > mesa-libgbm-devel pixman-devel SDL-devel spice-glib-devel > spice-server-devel tar vte-devel xen-devel zlib-devel > HOSTNAME=fd698ce7a83b > TERM=xterm > MAKEFLAGS= -j8 > HISTSIZE=1000 > J=8 > USER=root >
Re: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation
no-reply writes: > Hi, > This series seems to have some coding style problems. See output below for > more information: > Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event > instrumentation > Message-id: 150525010239.15988.8172586618197849619.st...@frigg.lan > Type: series > === TEST SCRIPT BEGIN === > #!/bin/bash > BASE=base > n=1 > total=$(git log --oneline $BASE.. | wc -l) > failed=0 > git config --local diff.renamelimit 0 > git config --local diff.renames True > commits="$(git log --format=%H --reverse $BASE..)" > for c in $commits; do > echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." > if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; > then > failed=1 > echo > fi > n=$((n+1)) > done > exit $failed > === TEST SCRIPT END === > Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 > From https://github.com/patchew-project/qemu > * [new tag] > patchew/150525010239.15988.8172586618197849619.st...@frigg.lan -> > patchew/150525010239.15988.8172586618197849619.st...@frigg.lan > t [tag update]patchew/20170912144459.11359-1-pbonz...@redhat.com > -> patchew/20170912144459.11359-1-pbonz...@redhat.com > Switched to a new branch 'test' > 1ab48ae9b7 instrument: Add API to manipulate guest memory > 7e0bd2cad7 instrument: Add event 'guest_user_syscall_ret' > 334caef899 instrument: Add event 'guest_user_syscall' > 09a1773791 instrument: Add event 'guest_mem_before_exec' > 2bd64563d3 instrument: Add event 'guest_mem_before_trans' > 5b344ec1c3 trace: Introduce a proper structure to describe memory accesses > 04e5b883b1 instrument: Add event 'guest_cpu_reset' > 7971d0f2a4 instrument: Add event 'guest_cpu_exit' > 53dbc9ad88 exec: Add function to synchronously flush TB on a stopped vCPU > d8b51515d2 instrument: Support synchronous modification of vCPU state > 08d492e35f instrument: Add event 'guest_cpu_enter' > 0be52b1bbd instrument: Track vCPUs > 7ab01f20f5 instrument: Add support for tracing events > 78676cff2d instrument: Add basic control interface > 00172972ae instrument: [hmp] Add library loader > 34ccf831e6 instrument: [qapi] Add library loader > d1ab648b00 instrument: [softmmu] Add command line library loader > 150ad4a651 instrument: [bsd-user] Add command line library loader > a064b1621a instrument: [linux-user] Add command line library loader > aa78ee9f5a instrument: Add generic library loader > f10357e313 instrument: Add configure-time flag > 4d324ad619 instrument: Add documentation > === OUTPUT BEGIN === > Checking PATCH 1/22: instrument: Add documentation... > Checking PATCH 2/22: instrument: Add configure-time flag... > Checking PATCH 3/22: instrument: Add generic library loader... > Checking PATCH 4/22: instrument: [linux-user] Add command line library > loader... > Checking PATCH 5/22: instrument: [bsd-user] Add command line library loader... > Checking PATCH 6/22: instrument: [softmmu] Add command line library loader... > Checking PATCH 7/22: instrument: [qapi] Add library loader... > ERROR: externs should be avoided in .c files > #254: FILE: stubs/instrument.c:40: > +void qmp_instr_unload(const char *id, Error **errp); > total: 1 errors, 0 warnings, 204 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 8/22: instrument: [hmp] Add library loader... > Checking PATCH 9/22: instrument: Add basic control interface... > WARNING: architecture specific defines should be avoided > #52: FILE: include/qemu/compiler.h:119: > +#if defined _WIN32 || defined __CYGWIN__ > WARNING: architecture specific defines should be avoided > #53: FILE: include/qemu/compiler.h:120: > + #ifdef __GNUC__ > WARNING: architecture specific defines should be avoided > #59: FILE: include/qemu/compiler.h:126: > + #if __GNUC__ >= 4 > WARNING: architecture specific defines should be avoided > #343: FILE: instrument/qemu-instr/control.h:13: > +#ifdef __cplusplus > WARNING: architecture specific defines should be avoided > #372: FILE: instrument/qemu-instr/control.h:42: > +#ifdef __cplusplus > total: 0 errors, 5 warnings, 309 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 10/22: instrument: Add support for tracing events... > WARNING: architecture specific defines should be avoided > #77: FILE: instrument/qemu-instr/types.h:13: > +#ifdef __cplusplus > WARNING: architecture specific defines should be avoided > #111: FILE: instrument/qemu-instr/types.h:47: > +#ifdef __cplusplus > total: 0 errors, 2 warnings, 225 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 11/22: instrument: Track vCPUs...
Re: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation
Hi, This series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally. Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation Message-id: 150525010239.15988.8172586618197849619.st...@frigg.lan Type: series === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=8 time make docker-test-quick@centos6 time make docker-test-build@min-glib time make docker-test-mingw@fedora === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 1ab48ae9b7 instrument: Add API to manipulate guest memory 7e0bd2cad7 instrument: Add event 'guest_user_syscall_ret' 334caef899 instrument: Add event 'guest_user_syscall' 09a1773791 instrument: Add event 'guest_mem_before_exec' 2bd64563d3 instrument: Add event 'guest_mem_before_trans' 5b344ec1c3 trace: Introduce a proper structure to describe memory accesses 04e5b883b1 instrument: Add event 'guest_cpu_reset' 7971d0f2a4 instrument: Add event 'guest_cpu_exit' 53dbc9ad88 exec: Add function to synchronously flush TB on a stopped vCPU d8b51515d2 instrument: Support synchronous modification of vCPU state 08d492e35f instrument: Add event 'guest_cpu_enter' 0be52b1bbd instrument: Track vCPUs 7ab01f20f5 instrument: Add support for tracing events 78676cff2d instrument: Add basic control interface 00172972ae instrument: [hmp] Add library loader 34ccf831e6 instrument: [qapi] Add library loader d1ab648b00 instrument: [softmmu] Add command line library loader 150ad4a651 instrument: [bsd-user] Add command line library loader a064b1621a instrument: [linux-user] Add command line library loader aa78ee9f5a instrument: Add generic library loader f10357e313 instrument: Add configure-time flag 4d324ad619 instrument: Add documentation === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-lf5qg9x6/src/dtc'... Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d' BUILD centos6 make[1]: Entering directory '/var/tmp/patchew-tester-tmp-lf5qg9x6/src' ARCHIVE qemu.tgz ARCHIVE dtc.tgz COPYRUNNER RUN test-quick in qemu:centos6 Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 bison-2.4.1-5.el6.x86_64 bzip2-devel-1.0.5-7.el6_0.x86_64 ccache-3.1.6-2.el6.x86_64 csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64 flex-2.5.35-9.el6.x86_64 gcc-4.4.7-18.el6.x86_64 git-1.7.1-8.el6.x86_64 glib2-devel-2.28.8-9.el6.x86_64 libepoxy-devel-1.2-3.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 librdmacm-devel-1.0.21-0.el6.x86_64 lzo-devel-2.03-3.1.el6_5.1.x86_64 make-3.81-23.el6.x86_64 mesa-libEGL-devel-11.0.7-4.el6.x86_64 mesa-libgbm-devel-11.0.7-4.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 spice-glib-devel-0.26-8.el6.x86_64 spice-server-devel-0.12.4-16.el6.x86_64 tar-1.23-15.el6_8.x86_64 vte-devel-0.25.1-9.el6.x86_64 xen-devel-4.6.3-15.el6.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=bison bzip2-devel ccache csnappy-devel flex g++ gcc git glib2-devel libepoxy-devel libfdt-devel librdmacm-devel lzo-devel make mesa-libEGL-devel mesa-libgbm-devel pixman-devel SDL-devel spice-glib-devel spice-server-devel tar vte-devel xen-devel zlib-devel HOSTNAME=fd698ce7a83b TERM=xterm MAKEFLAGS= -j8 HISTSIZE=1000 J=8 USER=root LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36: CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 MAIL=/var/spool/mail/root
Re: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation
Hi, This series seems to have some coding style problems. See output below for more information: Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation Message-id: 150525010239.15988.8172586618197849619.st...@frigg.lan Type: series === TEST SCRIPT BEGIN === #!/bin/bash BASE=base n=1 total=$(git log --oneline $BASE.. | wc -l) failed=0 git config --local diff.renamelimit 0 git config --local diff.renames True commits="$(git log --format=%H --reverse $BASE..)" for c in $commits; do echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then failed=1 echo fi n=$((n+1)) done exit $failed === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu * [new tag] patchew/150525010239.15988.8172586618197849619.st...@frigg.lan -> patchew/150525010239.15988.8172586618197849619.st...@frigg.lan t [tag update]patchew/20170912144459.11359-1-pbonz...@redhat.com -> patchew/20170912144459.11359-1-pbonz...@redhat.com Switched to a new branch 'test' 1ab48ae9b7 instrument: Add API to manipulate guest memory 7e0bd2cad7 instrument: Add event 'guest_user_syscall_ret' 334caef899 instrument: Add event 'guest_user_syscall' 09a1773791 instrument: Add event 'guest_mem_before_exec' 2bd64563d3 instrument: Add event 'guest_mem_before_trans' 5b344ec1c3 trace: Introduce a proper structure to describe memory accesses 04e5b883b1 instrument: Add event 'guest_cpu_reset' 7971d0f2a4 instrument: Add event 'guest_cpu_exit' 53dbc9ad88 exec: Add function to synchronously flush TB on a stopped vCPU d8b51515d2 instrument: Support synchronous modification of vCPU state 08d492e35f instrument: Add event 'guest_cpu_enter' 0be52b1bbd instrument: Track vCPUs 7ab01f20f5 instrument: Add support for tracing events 78676cff2d instrument: Add basic control interface 00172972ae instrument: [hmp] Add library loader 34ccf831e6 instrument: [qapi] Add library loader d1ab648b00 instrument: [softmmu] Add command line library loader 150ad4a651 instrument: [bsd-user] Add command line library loader a064b1621a instrument: [linux-user] Add command line library loader aa78ee9f5a instrument: Add generic library loader f10357e313 instrument: Add configure-time flag 4d324ad619 instrument: Add documentation === OUTPUT BEGIN === Checking PATCH 1/22: instrument: Add documentation... Checking PATCH 2/22: instrument: Add configure-time flag... Checking PATCH 3/22: instrument: Add generic library loader... Checking PATCH 4/22: instrument: [linux-user] Add command line library loader... Checking PATCH 5/22: instrument: [bsd-user] Add command line library loader... Checking PATCH 6/22: instrument: [softmmu] Add command line library loader... Checking PATCH 7/22: instrument: [qapi] Add library loader... ERROR: externs should be avoided in .c files #254: FILE: stubs/instrument.c:40: +void qmp_instr_unload(const char *id, Error **errp); total: 1 errors, 0 warnings, 204 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 8/22: instrument: [hmp] Add library loader... Checking PATCH 9/22: instrument: Add basic control interface... WARNING: architecture specific defines should be avoided #52: FILE: include/qemu/compiler.h:119: +#if defined _WIN32 || defined __CYGWIN__ WARNING: architecture specific defines should be avoided #53: FILE: include/qemu/compiler.h:120: + #ifdef __GNUC__ WARNING: architecture specific defines should be avoided #59: FILE: include/qemu/compiler.h:126: + #if __GNUC__ >= 4 WARNING: architecture specific defines should be avoided #343: FILE: instrument/qemu-instr/control.h:13: +#ifdef __cplusplus WARNING: architecture specific defines should be avoided #372: FILE: instrument/qemu-instr/control.h:42: +#ifdef __cplusplus total: 0 errors, 5 warnings, 309 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 10/22: instrument: Add support for tracing events... WARNING: architecture specific defines should be avoided #77: FILE: instrument/qemu-instr/types.h:13: +#ifdef __cplusplus WARNING: architecture specific defines should be avoided #111: FILE: instrument/qemu-instr/types.h:47: +#ifdef __cplusplus total: 0 errors, 2 warnings, 225 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 11/22: instrument: Track vCPUs... Checking PATCH 12/22: instrument: Add event 'guest_cpu_enter'... Checking PATCH 13/22: instrument: Support synchronous modification of vCPU state... WARNING: line over 80 characters #73: FILE: instrument/control.c:85: +