From: Peng Fan <van.freenix@gmail.com>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: 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>,
Jan Beulich <JBeulich@suse.com>,
xen-devel@lists.xenproject.org
Subject: Re: [RFC V2] xen: interface: introduce pvclk interface
Date: Thu, 21 Jan 2016 19:55:12 +0800 [thread overview]
Message-ID: <20160121115510.GA29399@linux-7smt.suse> (raw)
In-Reply-To: <1453371572.26343.210.camel@citrix.com>
Hi Ian,
On Thu, Jan 21, 2016 at 10:19:32AM +0000, Ian Campbell wrote:
>On Thu, 2016-01-21 at 16:59 +0800, Peng Fan wrote:
>>
>> To platform device of ARM, hypervisor is responsible for the mapping
>> between machine address and guest physical address, also responsible
>> for the irq mapping.
>>
>> But to embedded ARM SoC, the hardware clk IP is handled in Dom0.
>
>Arguably Xen ought to be the one to do this, but we have determined
>(rightly, I think) that doing so for the entirely clk tree of an SoC would
>involve importing an unmanageable amount of code into Xen[0].
>
>In the meantime we defer this to Dom0.
>
>I wonder though if it would be possible to manage the clocks for a
>passthrough device from the toolstack, i.e. is there a sysfs node where one
>can say "keep the clock for this device enabled (at xMhz) even though you
>think the device is unused"?
I am afraid not. The linux device driver without xen can work well, because
there is clk tree and "clk_get,clk_prepare,clk_set_rate" work well in the driver.
I do not want to remove the clk apis usage from the device driver for xen, because the driver
also serves when no xen support. The pvclk interface is mainly to let the clk api can work as no xen.
Introduce pvclk may introduce more stuff, I have no more idea for now,
if want to let the device driver unchanged and work well for passed through device. (:
>
>If so (or if it can be easily added) then the toolstack would just need to
>manage that value as part of the passthrough process rather than having the
>frontend do it via a PV protocol.
>
>Ian.
>
>[0] I'd like at some point for Xen to gain sufficient knowledge of clock IP
>to minimally control things like the CPU and DRAM clocks etc, but that
>needn't imply full clock tree support and would hopefully be a manageable
>amount of code, which would (hopefully) mostly be about trapping and
>emulating writes to one or two clock controllers per platform and
>arbitrating a small set of bits (while allowing dom0 to control the
>others). This is at least a medium if not long term idea though, and for
>all I know it might turn out to be unworkable in practice.
I am happy to see that if one day, xen takes part of the clock management to minimize power usage.
These few days, I also look into the power management of xen. seems it mainly serves for x86.
Let xen hypervisor handle cpu and dram clocks may be better than let dom0.
Thanks,
Peng.
>
next prev parent reply other threads:[~2016-01-21 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 [this message]
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
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=20160121115510.GA29399@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).