From: Peng Fan <van.freenix@gmail.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Ian Campbell <ian.campbell@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
George Dunlap <george.dunlap@citrix.com>,
Julien Grall <julien.grall@citrix.com>,
David Vrabel <david.vrabel@citrix.com>,
xen-devel@lists.xenproject.org
Subject: Re: [RFC V2] xen: interface: introduce pvclk interface
Date: Fri, 22 Jan 2016 20:12:39 +0800 [thread overview]
Message-ID: <20160122121237.GA8192@linux-7smt.suse> (raw)
In-Reply-To: <56A211B402000078000C9F68@prv-mh.provo.novell.com>
Hi Jan,
On Fri, Jan 22, 2016 at 03:25:40AM -0700, Jan Beulich wrote:
>>>> On 22.01.16 at 10:27, <van.freenix@gmail.com> wrote:
>> Hi Jan,
>>
>> On Fri, Jan 22, 2016 at 12:36:31AM -0700, Jan Beulich wrote:
>>>>>> On 22.01.16 at 02:56, <van.freenix@gmail.com> wrote:
>>>> On Thu, Jan 21, 2016 at 05:52:12AM -0700, Jan Beulich wrote:
>>>>>At the very least it would need to be avoided by denying the request.
>>>>>Upon shared use, either all parties agree, or only one may use the
>>>>>clock. And passing through a (platform) device would therefore imply
>>>>>validating that the needed clock(s) are available to the target domain.
>>>>>Doing this in a consistent way with all control in one component's
>>>>>hands seems doable only if hypervisor and/or tool stack are the
>>>>>controlling (and arbitrating) entity. In the end this is one of the
>>>>>reasons why to me a simple PV I/O interface doesn't seem suitable
>>>>>here.
>>>>
>>>> How about let userspace libxl pvclk code to denying the request?
>>>
>>>Userspace would be fine, but
>>
>> Then you are ok with the pvclk way to handle clock for platform device
>> passthrough?
>
>No, not really. While I accept that doing clock management in the
>hypervisor is undesirable, we're still not at the point where such
>a frontend/backend pair would look like the only possible route
>out of a dilemma, and I continue to think that this proposed model
>should indeed only be the last resort.
Thanks for following the thread and giving comments.
Alougth this frustrate me, we still need to find a better option for this.
>
>In particular, with the user space exposure of clock control
>discussed in another sub-thread, the next best option would
>seem to be to handle this via emulation in a device model. Yes,
>ARM guests currently have no qemu attached to them, but I
>guess sooner or later this will need to change anyway.
I have not look into qemu for xen.
If using qemu, then we still need to expose the clk interface to userspace?
>
>>>- How would this fit in your frontend/backend model, where
>>> userspace shouldn't be involved at all?
>>
>> rethought about this. clk is binded to device. we can not passthrough
>> one device to two guest, so this means we can not let two different
>> guest access one clk input. Since this is mainly for embedded products,
>> just as Ian said "experts option", the developer should be aware of
>> the clk sharing between two device.
>>
>> If we truly need to let userspace deny the request. If one clk
>> already assigned to Dom1, then the toolstack need to fail
>> the creation of Dom2, if Dom2 want to use the same clock.
>
>I.e. you're now proposing actual assignment of clocks to guests?
>That's at least one step in the (from my pov) right direction...
Based on the pvclk, I am coding the userspace tool part. Alought we have
not find a good solution for this, I first need it work on my platform.
Later I'll also try the fixed clock way.
Thanks,
Peng.
>
>Jan
>
next prev parent reply other threads:[~2016-01-22 12:14 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-20 8:31 [RFC V2] xen: interface: introduce pvclk interface Peng Fan
2016-01-20 9:05 ` Juergen Gross
2016-01-20 9:25 ` Peng Fan
2016-01-20 10:16 ` Jan Beulich
2016-01-20 10:40 ` Juergen Gross
2016-01-20 11:48 ` Peng Fan
2016-01-20 12:11 ` Juergen Gross
2016-01-20 14:13 ` Peng Fan
2016-01-20 10:14 ` Jan Beulich
2016-01-20 11:40 ` Peng Fan
2016-01-20 12:01 ` Jan Beulich
2016-01-20 14:05 ` Peng Fan
2016-01-20 14:16 ` Jan Beulich
2016-01-20 14:37 ` Peng Fan
2016-01-20 14:49 ` Ian Campbell
2016-01-20 14:52 ` Jan Beulich
2016-01-21 1:29 ` Peng Fan
2016-01-21 7:53 ` Jan Beulich
2016-01-21 8:59 ` Peng Fan
2016-01-21 10:19 ` Ian Campbell
2016-01-21 11:55 ` Peng Fan
2016-01-21 12:26 ` Ian Campbell
2016-01-21 12:35 ` Peng Fan
2016-01-21 12:49 ` Ian Campbell
2016-01-22 2:19 ` Peng Fan
2016-01-23 15:26 ` Peng Fan
2016-01-21 12:55 ` Stefano Stabellini
2016-01-21 13:11 ` Ian Campbell
2016-01-21 16:11 ` Stefano Stabellini
2016-01-22 2:51 ` Peng Fan
2016-01-21 10:21 ` Jan Beulich
2016-01-21 12:06 ` Peng Fan
2016-01-21 12:52 ` Jan Beulich
2016-01-22 1:56 ` Peng Fan
2016-01-22 7:36 ` Jan Beulich
2016-01-22 9:27 ` Peng Fan
2016-01-22 10:25 ` Jan Beulich
2016-01-22 12:12 ` Peng Fan [this message]
2016-01-22 12:33 ` Jan Beulich
2016-01-22 13:55 ` Stefano Stabellini
2016-01-20 12:06 ` Stefano Stabellini
2016-01-20 12:27 ` Ian Campbell
2016-01-20 13:52 ` Peng Fan
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=20160122121237.GA8192@linux-7smt.suse \
--to=van.freenix@gmail.com \
--cc=JBeulich@suse.com \
--cc=david.vrabel@citrix.com \
--cc=george.dunlap@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=julien.grall@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xenproject.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.