All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>,
	Alexander Graf <agraf@suse.de>,
	"Jason J. Herne" <jjherne@linux.vnet.ibm.com>,
	kvm@vger.kernel.org, cornelia.huck@de.ibm.com, aik@ozlabs.ru
Subject: Re: [PATCH 1/1] kvm-s390: Provide guest TOD Clock Get/Set Controls
Date: Wed, 05 Nov 2014 14:11:37 +0100	[thread overview]
Message-ID: <545A2209.9010603@redhat.com> (raw)
In-Reply-To: <545A17EF.4090004@de.ibm.com>



On 05/11/2014 13:28, Christian Borntraeger wrote:
> Am 05.11.2014 11:07, schrieb Alexander Graf:
>> 
>> 
>> On 27.10.14 16:44, Jason J. Herne wrote:
>>> From: "Jason J. Herne" <jjherne@linux.vnet.ibm.com>
>>> 
>>> Enable KVM_SET_CLOCK and KVM_GET_CLOCK ioctls on s390 for
>>> managing guest Time Of Day clock value.
>>> 
>>> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> 
>>> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
>> 
>> I like it.
>> 
>> Reviewed-by: Alexander Graf <agraf@suse.de>
> 
> Paolo, are you ok with that patch as well? If yes I will send it with
> the next bunch of s390 patches.
> 
> PS: I remember that you were considering some different take on the
> interface: IIRC you suggest to have the same format in
> kvm_clock_data->clock as x86, and that we might want to use a flag
> and a new field in the padding area that then contains the TOD value.
> Now looking again at Documentation/virtual/kvm/api.txt I actually
> prefer Jasons implementation since the api does not mention the
> value/format/offset. It seems to be ns since boot, correct?
> 
> So if any changes, I would prefer a small change to the
> documentation, that makes the meaning of clock explicit per
> architecture?

After a quick refresh on IRC, I remembered our previous discussion.

I was a bit worried that the interface did not let us pass the extra
byte for the stcke instruction's overflow counter.  The question then is
whether to:

1) keep an x86-consistent interface for KVM_GET/SET_CLOCK, and put the
whole 16 byte stcke output in the padding

2) put the 8-byte stck value (stcke bytes 1-8) in the value, and the
overflow counter (stcke byte 0) in the padding (with the presence
governed by a flag).  As you explained, bytes 9-13 are computed by the
CPU and we do not care anyway of accuracy beyond 0.25 ns, while bytes
14-15 are accessed separately via ONEREG.

3) use ONEREG instead of KVM_GET/SET_CLOCK.  You can decide whether to
use a 72 (or 96) bit value, or two separate 8+64 values.

1 or 3 seem the cleanest.  On the other hand s390 doesn't have a use for
a bootbased counter, which makes 1 much less interesting/useful than I
imagined.

PPC uses a combination of KVM_GET_SREGS and KVM_GET/SET_ONEREG for the
closest equivalent (TBL/TBU), not KVM_GET/SET_CLOCK.  MIPS is also
ONEREG-based.  This makes me lean towards 3.

Of course 2 has code written, but it should be a small change to use
ONEREG instead.  What do you think?

Paolo

  reply	other threads:[~2014-11-05 13:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-27 15:44 [PATCH 0/1] kvm-s390: Provide guest TOD Clock Get/Set Controls Jason J. Herne
2014-10-27 15:44 ` [PATCH 1/1] " Jason J. Herne
2014-11-05 10:07   ` Alexander Graf
2014-11-05 12:28     ` Christian Borntraeger
2014-11-05 13:11       ` Paolo Bonzini [this message]
2014-11-05 14:32         ` Alexander Graf
2014-11-05 14:54           ` Paolo Bonzini
2014-11-05 16:48         ` Christian Borntraeger
2014-11-05 17:37           ` Alexander Graf
2014-11-05 17:56             ` Christian Borntraeger
2014-11-05 19:45               ` Paolo Bonzini
2014-11-06  8:43                 ` Christian Borntraeger
2014-11-06  8:46                   ` Christian Borntraeger
2014-11-06  9:57                   ` Paolo Bonzini

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=545A2209.9010603@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=agraf@suse.de \
    --cc=aik@ozlabs.ru \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=jjherne@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.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.