All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Marcelo Tossati <mtosatti@redhat.com>,
	Jens Freimann <jfrei@linux.vnet.ibm.com>,
	Cornelia Huck <cornelia.huck@de.ibm.com>,
	Heinz Graalfs <graalfs@linux.vnet.ibm.com>,
	KVM <kvm@vger.kernel.org>
Subject: Re: trace points and ABI
Date: Wed, 06 Jun 2012 16:12:43 +0300	[thread overview]
Message-ID: <4FCF574B.5070508@redhat.com> (raw)
In-Reply-To: <4FCF5337.2070001@de.ibm.com>

On 06/06/2012 03:55 PM, Christian Borntraeger wrote:
> On 24/04/12 14:04, Avi Kivity wrote:
>>> @@ -74,6 +74,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
>>>  	{ "instruction_sigp_restart", VCPU_STAT(instruction_sigp_restart) },
>>>  	{ "diagnose_10", VCPU_STAT(diagnose_10) },
>>>  	{ "diagnose_44", VCPU_STAT(diagnose_44) },
>>> +	{ "diagnose_9c", VCPU_STAT(diagnose_9c) },
>>>  	{ NULL }
>>>  };
>>>  
>> 
>> We're switching to tracepoints instead of homebrewed statistics.  It's
>> in feature-removal-schedule.txt already.  It's okay to add them now, but
>> please prepare for their removal.
>> 
> 
> Avi,
> 
> Do you consider these tracepoints itself ABI or not?


I'm not sure what the current kernel dogma is, but I would like to see a
clear separation of architectural tracepoints (=reporting information
defined by the hardware, from the guest point of view; for example an
instruction emulated or a hypercall called) and implementation
tracepoints that record an interesting event, but one that is dependent
on host-side kvm implementation.  Architectural tracepoints would be
soft ABIs (extension is allowed and in extreme cases changes), while
implementation tracepoints are completely fluid.  The current tools are
able to adapt to changes.

x86 kvm once had such a separation, with kvm: tracepoints being
architectural and kvmmmu: tracepoints being implementation defined.
Unfortunately there was some drift (vcpu_match_mmio does not correspond
to an architectural event).

> 
> we are preparing some patches that add trace points in addition to
> a: these stats
> b: our debug feature
> 
> If this is not ABI, then we could work on these trace points step by step,
> e.g. first use the existing stat/debug as trace point places, then combine,
> add or remove  trace points later on if necessary.
> 

I recommend doing the same split.  Architectural tracepoints are easy to
get right, and most useful to a developer.  Implementation tracepoints
are harder to get right, but the cost of getting them wrong is low.  In
any case I'd like to see the entire change in one patchset so we have
all the tracepoints in one kernel release cycle, not several.

-- 
error compiling committee.c: too many arguments to function

  reply	other threads:[~2012-06-06 13:12 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-24  7:24 [PATCH 0/3] Fixes and feature for kvm-s390 Christian Borntraeger
2012-04-24  7:24 ` [PATCH 1/3] kvm-s390: Implement the directed yield (diag 9c) hypervisor call for KVM Christian Borntraeger
2012-04-24 12:04   ` Avi Kivity
2012-04-24 12:44     ` Christian Borntraeger
2012-04-24 12:55       ` [PATCH 1/3v2] " Christian Borntraeger
2012-04-24 13:06         ` Avi Kivity
2012-04-24 15:47           ` Christian Borntraeger
2012-04-24 16:15             ` Avi Kivity
2012-04-24 16:21               ` Christian Borntraeger
2012-04-24 16:22                 ` Avi Kivity
2012-04-25 13:30                   ` [PATCH 0/2] rework kvm_vcpu_on_spin Christian Borntraeger
2012-04-25 13:30                     ` [PATCH 1/2] kvm-s390: Implement the directed yield (diag 9c) hypervisor call for KVM Christian Borntraeger
2012-04-26 12:06                       ` Alexander Graf
2012-04-26 12:19                         ` Christian Borntraeger
2012-04-26 12:26                           ` Alexander Graf
2012-04-25 13:30                     ` [PATCH 2/2] kvm-s390: use kvm_vcpu_on_spin for diag 0x44 Christian Borntraeger
2012-04-29 11:10                     ` [PATCH 0/2] rework kvm_vcpu_on_spin Avi Kivity
2012-06-06 12:55     ` trace points and ABI Christian Borntraeger
2012-06-06 13:12       ` Avi Kivity [this message]
2012-04-24  7:24 ` [PATCH 2/3] kvm-s390: Handle sckpf instruction Christian Borntraeger
2012-04-24  7:24 ` [PATCH 3/3] kvm-s390: implement KVM_CAP_MAX_VCPUS Christian Borntraeger
2012-04-24 12:06   ` Avi Kivity
2012-04-24 12:47     ` Christian Borntraeger
2012-04-24 13:01       ` Avi Kivity
2012-05-01  0:51         ` Marcelo Tosatti
2012-05-01  1:00           ` Marcelo Tosatti
2012-05-02  8:50             ` [PATCH 0/1] Updated Patch for NR/MAX VCPU on s390 Christian Borntraeger
2012-05-02  8:50               ` [PATCH 1/1] kvm-s390x: implement KVM_CAP_NR/MAX_VCPUS Christian Borntraeger
2012-05-02 21:36                 ` Marcelo Tosatti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FCF574B.5070508@redhat.com \
    --to=avi@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=graalfs@linux.vnet.ibm.com \
    --cc=jfrei@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.