All of lore.kernel.org
 help / color / mirror / Atom feed
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 17:27:15 +0800	[thread overview]
Message-ID: <20160122092510.GA19346@linux-7smt.suse> (raw)
In-Reply-To: <56A1EA0F02000078000C9DE2@prv-mh.provo.novell.com>

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?

>- 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.

In xl configuraiton file for Dom1, introduce such an entry,
vclks=["gpu_root_clk,uart2_root_clk,usdhc2_root_clk"]
and toolstack will create the xenstore nodes.
/local/domain/0/backend/vclk/1/0/nrclks-->3
/local/domain/0/backend/vclk/1/0/clk-0/name-->gpu_root_clk
/local/domain/0/backend/vclk/1/0/clk-1/name-->uart2_root_clk
/local/domain/0/backend/vclk/1/0/clk-2/name-->usdhc2_root_clk

/local/domain/1/device/vclk/0/clk-ring-ref
/local/domain/1/device/vclk/0/event-channel

The DomU dts also contains the clk names. Maybe the dts for clk node can 
be created by the toolstack.

If Dom2 also want to use gpu_root_clk, it should be blocked by toolstack.


Thanks,
Peng.
>- Libxl may be a little too high up the stack, libxc would seem a
>  more appropriate place to me (but that's subject to tools
>  maintainers disagreeing with me).
>
>Jan
>

  reply	other threads:[~2016-01-22  9:44 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 [this message]
2016-01-22 10:25                                 ` Jan Beulich
2016-01-22 12:12                                   ` Peng Fan
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=20160122092510.GA19346@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.