From: Razvan Cojocaru <rcojocaru@bitdefender.com>
To: Tamas K Lengyel <tamas@tklengyel.com>,
Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Kevin Tian <kevin.tian@intel.com>,
"wei.liu2@citrix.com" <wei.liu2@citrix.com>,
Jan Beulich <jbeulich@suse.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
Xen-devel <xen-devel@lists.xen.org>,
Jun Nakajima <jun.nakajima@intel.com>, Keir Fraser <keir@xen.org>
Subject: Re: [PATCH V2] vm_event: Allow subscribing to write events for specific MSR-s
Date: Thu, 14 Apr 2016 12:37:55 +0300 [thread overview]
Message-ID: <570F64F3.7030604@bitdefender.com> (raw)
In-Reply-To: <CABfawh=XJLeysnZnq5WuF28Fn90QU5bZffo7dxLYdvrNnvtMfA@mail.gmail.com>
On 04/13/2016 06:05 PM, Tamas K Lengyel wrote:
>
>
> On Wed, Apr 13, 2016 at 9:01 AM, Andrew Cooper
> <andrew.cooper3@citrix.com <mailto:andrew.cooper3@citrix.com>> wrote:
>
> On 13/04/16 15:56, Razvan Cojocaru wrote:
> > On 04/13/2016 05:52 PM, Tamas K Lengyel wrote:
> >> >> diff --git a/xen/include/public/domctl.h
> >> b/xen/include/public/domctl.h
> >> >> index 2457698..875c09a 100644
> >> >> --- a/xen/include/public/domctl.h
> >> >> +++ b/xen/include/public/domctl.h
> >> >> @@ -1107,8 +1107,7 @@ struct xen_domctl_monitor_op {
> >> >> } mov_to_cr;
> >> >>
> >> >> struct {
> >> >> - /* Enable the capture of an extended set of
> MSRs */
> >> >> - uint8_t extended_capture;
> >> >> + uint32_t msr;
> >> >
> >> > Whoa there. Isn't it expanding the structure? Will this be
> backwards
> >> > compatible? What if somebody is using an older version of
> xen-access
> >> > against this hypervisor? Will they work?
> >> >
> >> > Perhaps this should have a new struct / sub-ops? And the old
> >> > 'mov_to_msr' will just re-use this new fangled code?
> >>
> >> In addition to Andrew's comments, I think simply changing
> >> VM_EVENT_INTERFACE_VERSION should be enough for
> xen-access-like clients
> >> to figure out the incompatibility.
> >>
> >>
> >>
> >> This is an independent system from VM_EVENT, so IMHO the two
> shouldn't
> >> be mixed. The union size right now is 24-bits so if a uint16_t is
> enough
> >> for the bitmask that should be used instead. That way we don't end up
> >> growing the struct size.
> > Right. Well, MSR-s seem to be passed around as 32-bit unsigned
> integers
> > everywhere in the Xen source code, so unless that also needs
> correcting
> > then unfortunately it'll have to grow.
>
> MSR indices are always 32bits wide, as they live specifically in %ecx
> when encoded for instructions.
>
> Only 2K MSRs are currently specified in hardware, with some extra ones
> in the hypervisor range, but this doesn't mean that list won't grow in
> the future.
>
>
> Yea, well then we need to introduce a new struct with a new subop to
> pass the bitmask. I guess its a lesson in ABI design to leave some
> wiggle room for future-proofing it (my bad). So I guess we can introduce
> XEN_DOMCTL_MONITOR_OP_ENABLE_V2 and struct xen_domctl_monitor_op_v2
> where say expand the union to uint64_t just in case?
I can do that, but it would seem that this is somewhat at odds with
Andrew Cooper's perspective - he has stated that it's within the rules
and the domctl can be changed without there being the need for
XEN_DOMCTL_MONITOR_OP_ENABLE_V2. So this should be clarified, please,
otherwise I'm incurring the risk of changing the code only to have to
revert it later.
Thanks,
Razvan
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-04-14 9:37 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-13 5:11 [PATCH V2] vm_event: Allow subscribing to write events for specific MSR-s Razvan Cojocaru
2016-04-13 9:47 ` Konrad Rzeszutek Wilk
2016-04-13 10:07 ` Andrew Cooper
2016-04-13 11:57 ` Razvan Cojocaru
2016-04-13 14:52 ` Tamas K Lengyel
2016-04-13 14:56 ` Razvan Cojocaru
2016-04-13 15:01 ` Andrew Cooper
2016-04-13 15:05 ` Tamas K Lengyel
2016-04-14 9:37 ` Razvan Cojocaru [this message]
2016-04-14 15:20 ` Jan Beulich
2016-04-14 15:33 ` Tamas K Lengyel
2016-04-14 15:37 ` Razvan Cojocaru
2016-04-13 14:50 ` Tamas K Lengyel
2016-04-13 14:52 ` Razvan Cojocaru
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=570F64F3.7030604@bitdefender.com \
--to=rcojocaru@bitdefender.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=jun.nakajima@intel.com \
--cc=keir@xen.org \
--cc=kevin.tian@intel.com \
--cc=tamas@tklengyel.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/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.