This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [PATCH -tip 3/6 V4.1] x86: instruction decorder API
- From: "H. Peter Anvin" <hpa at zytor dot com>
- To: Jim Keniston <jkenisto at us dot ibm dot com>
- Cc: Masami Hiramatsu <mhiramat at redhat dot com>, Ingo Molnar <mingo at elte dot hu>, Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>, Andi Kleen <andi at firstfloor dot org>, kvm at vger dot kernel dot org, Steven Rostedt <rostedt at goodmis dot org>, Frederic Weisbecker <fweisbec at gmail dot com>, Andrew Morton <akpm at linux-foundation dot org>, Arnaldo Carvalho de Melo <acme at redhat dot com>, systemtap-ml <systemtap at sources dot redhat dot com>, LKML <linux-kernel at vger dot kernel dot org>, Vegard Nossum <vegard dot nossum at gmail dot com>, Avi Kivity <avi at redhat dot com>, Roland McGrath <roland at redhat dot com>
- Date: Mon, 06 Apr 2009 15:55:19 -0700
- Subject: Re: [PATCH -tip 3/6 V4.1] x86: instruction decorder API
- References: <49D4F4E6.6060401@redhat.com> <49D69BCA.8060506@redhat.com> <49D69F39.4010101@zytor.com> <49D6ABD1.7040704@redhat.com> <1239058135.5212.43.camel@localhost.localdomain>
Jim Keniston wrote:
>
> For user-space probing, we've been concentrating on native-built
> executables. Am I correct in thinking that we'll see 16-bit or V86 mode
> only on legacy apps built elsewhere? In any case, it only makes sense
> to build on the kvm folks' work in this regard.
>
That's a fair assumption; you will of course need to test it and take
appropriate action if it doesn't pan out.
>
> As noted, the INAT tables follow the kvm model of one fat bitmap of
> attributes per opcode, rather than the kprobes/uprobes model of one or
> two 256-bit tables per attribute. (This latter approach was due to the
> gradual accumulation of tables over the years.)
>
> I like the bitmap-per-opcode approach because it's relatively easy to
> see in one place everything you're saying about a particular opcode.
> But with all the potential clients for this service, it's not clear that
> we'll get by with a single bitmap for every opcode. (x86 kvm uses 32
> bits per opcode, I think, and the INAT tables use 10. Seems like we
> could overrun 64 bits pretty quickly.) So I guess that means we'll have
> to get a little creative as to how we expose these attribute sets to the
> client.
>
This is another very good reason to use an instruction table which is
preprocessed into a usable format: it means that if the internal data
structures change -- and they almost certainly will have to at some
point -- the raw data isn't lost.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.