Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-21 Thread Alex Bennée
Peter Maydell writes: > On 21 October 2017 at 15:05, Lluís Vilanova wrote: >> Peter Maydell writes: >> >>> On 15 October 2017 at 17:30, Lluís Vilanova wrote: Thinking about it, shouldn't this always be the same given

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-21 Thread Peter Maydell
On 21 October 2017 at 15:05, Lluís Vilanova wrote: > Peter Maydell writes: > >> On 15 October 2017 at 17:30, Lluís Vilanova wrote: >>> Thinking about it, shouldn't this always be the same given QEMU's TLB/page >>> table >>> consistency assurances? > >>

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-21 Thread Lluís Vilanova
Peter Maydell writes: > On 15 October 2017 at 17:30, Lluís Vilanova wrote: >> Thinking about it, shouldn't this always be the same given QEMU's TLB/page >> table >> consistency assurances? > What TLB/page table consistency assurances? For ARM at least > we will only update

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-15 Thread Peter Maydell
On 15 October 2017 at 17:30, Lluís Vilanova wrote: > Thinking about it, shouldn't this always be the same given QEMU's TLB/page > table > consistency assurances? What TLB/page table consistency assurances? For ARM at least we will only update (ie flush) the TLB when the

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-15 Thread Lluís Vilanova
Emilio G Cota writes: > On Fri, Oct 06, 2017 at 18:07:16 +0300, Lluís Vilanova wrote: >> Emilio G Cota writes: >> > On Thu, Oct 05, 2017 at 02:28:12 +0300, Lluís Vilanova wrote: >> >> The API takes care of telling you if the access could be performed >> >> successfully. If you access the

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-06 Thread Emilio G. Cota
On Fri, Oct 06, 2017 at 18:07:16 +0300, Lluís Vilanova wrote: > Emilio G Cota writes: > > On Thu, Oct 05, 2017 at 02:28:12 +0300, Lluís Vilanova wrote: > >> The API takes care of telling you if the access could be performed > >> successfully. If you access the instruction's memory representation

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-06 Thread Lluís Vilanova
Emilio G Cota writes: > On Thu, Oct 05, 2017 at 02:28:12 +0300, Lluís Vilanova wrote: >> Emilio G Cota writes: >> > I see some potential problems with this: >> > 1. Instrumenters' accesses could generate exceptions. I presume we'd want >> > to avoid >> >this, or leave it as a debug-only kind

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-04 Thread Emilio G. Cota
On Thu, Oct 05, 2017 at 02:28:12 +0300, Lluís Vilanova wrote: > Emilio G Cota writes: > > I see some potential problems with this: > > 1. Instrumenters' accesses could generate exceptions. I presume we'd want > > to avoid > >this, or leave it as a debug-only kind of option. > > The API takes

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-10-04 Thread Lluís Vilanova
Emilio G Cota writes: > On Sat, Sep 30, 2017 at 00:46:33 +0300, Lluís Vilanova wrote: >> Emilio G Cota writes: >> > I'm not sure I understand this concept of filtering. Are you saying that in >> > the first case, all memory accesses are instrumented, and then in the >> > "access helper" we only

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-26 Thread Lluís Vilanova
Emilio G Cota writes: > On Mon, Sep 25, 2017 at 21:03:39 +0300, Lluís Vilanova wrote: >> I know it's not exactly the same we're discussing, but the plot in [1] >> compares >> a few different ways to trace memory accesses on SPEC benchmarks: >> >> * First bar is using a Intel's tool called PIN

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-25 Thread Emilio G. Cota
On Mon, Sep 25, 2017 at 21:03:39 +0300, Lluís Vilanova wrote: > I know it's not exactly the same we're discussing, but the plot in [1] > compares > a few different ways to trace memory accesses on SPEC benchmarks: > > * First bar is using a Intel's tool called PIN [2]. > * Second is calling into

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-25 Thread Lluís Vilanova
First, sorry for the late response; I was away for a few days. Peter Maydell writes: > On 18 September 2017 at 18:09, Lluís Vilanova wrote: >> Peter Maydell writes: >>> It's also exposing internal QEMU implementation detail. >>> What if in future we decide to switch from

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-19 Thread Emilio G. Cota
On Mon, Sep 18, 2017 at 18:42:55 +0100, Peter Maydell wrote: > On 18 September 2017 at 18:09, Lluís Vilanova wrote: > > It also means we won't be able to "conditionally" instrument instructions > > (e.g., > > based on their opcode, address range, etc.). > > You can still do

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-19 Thread Peter Maydell
On 18 September 2017 at 18:09, Lluís Vilanova wrote: > TCI still has a separation of translation-time (translate.c) and > execution-time > (interpreting the TCG opcodes), and I don't think that's gonna go away anytime > soon. > > Even if it did, I think there still will be a

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-18 Thread Peter Maydell
On 18 September 2017 at 18:09, Lluís Vilanova wrote: > Peter Maydell writes: >> It's also exposing internal QEMU implementation detail. >> What if in future we decide to switch from our current >> setup to always interpreting guest instructions as a >> first pass with JITting

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-18 Thread Lluís Vilanova
Peter Maydell writes: > On 15 September 2017 at 14:39, Lluís Vilanova wrote: >> Peter Maydell writes: >>> This looks like it's exposing too much implementation detail. >>> We should just provide an API for "hook to be called for >>> memory writes" which gets all the

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-18 Thread Peter Maydell
On 15 September 2017 at 14:39, Lluís Vilanova wrote: > Peter Maydell writes: >> This looks like it's exposing too much implementation detail. >> We should just provide an API for "hook to be called for >> memory writes" which gets all the information when it >> is called. I

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-18 Thread Stefan Hajnoczi
On Wed, Sep 13, 2017 at 12:57:45PM +0300, Lluís Vilanova wrote: > +Event instrumentation > +M: Lluís Vilanova > +M: Stefan Hajnoczi > +S: Maintained > +F: docs/instrument.txt Thanks for including me but I'm afraid I don't have time to co-maintain the

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-18 Thread Stefan Hajnoczi
On Wed, Sep 13, 2017 at 12:57:45PM +0300, Lluís Vilanova wrote: > +/* mandatory initialization function */ > +int main(int argc, const char **argv) Most shared library plugin interfaces I have seen do not use "main()" as the entry point. Instead they use a unique name that allows the

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-15 Thread Lluís Vilanova
Peter Maydell writes: > On 13 September 2017 at 10:57, Lluís Vilanova wrote: >> Signed-off-by: Lluís Vilanova >> --- >> MAINTAINERS |6 ++ >> docs/instrument.txt | 173 >> +++ >> 2 files

Re: [Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-14 Thread Peter Maydell
On 13 September 2017 at 10:57, Lluís Vilanova wrote: > Signed-off-by: Lluís Vilanova > --- > MAINTAINERS |6 ++ > docs/instrument.txt | 173 > +++ > 2 files changed, 179 insertions(+) >

[Qemu-devel] [PATCH v6 01/22] instrument: Add documentation

2017-09-13 Thread Lluís Vilanova
Signed-off-by: Lluís Vilanova --- MAINTAINERS |6 ++ docs/instrument.txt | 173 +++ 2 files changed, 179 insertions(+) create mode 100644 docs/instrument.txt diff --git a/MAINTAINERS b/MAINTAINERS index