All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Andrii Tseglytskyi <andrii.tseglytskyi@globallogic.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Oleksandr Dmytryshyn <oleksandr.dmytryshyn@globallogic.com>,
	Tim Deegan <tim@xen.org>, xen-devel <xen-devel@lists.xen.org>,
	Stefano Stabellini <Stefano.Stabellini@citrix.com>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [RFC PATCH 11/13] cpufreq: add xen-cpufreq driver
Date: Tue, 14 Oct 2014 14:05:41 +0100	[thread overview]
Message-ID: <1413291941.10417.53.camel@citrix.com> (raw)
In-Reply-To: <CAH_mUMOMvFugi3Ejw5fXAJJ74O_YrgMVHtyf4z7qie2VLnPGRw@mail.gmail.com>

On Tue, 2014-10-14 at 16:00 +0300, Andrii Tseglytskyi wrote:
> On Tue, Oct 14, 2014 at 3:58 PM, Andrii Tseglytskyi
> <andrii.tseglytskyi@globallogic.com> wrote:
> > On Tue, Oct 14, 2014 at 3:51 PM, Stefano Stabellini
> > <stefano.stabellini@eu.citrix.com> wrote:
> >> On Tue, 14 Oct 2014, Jan Beulich wrote:
> >>> >>> On 13.10.14 at 16:29, <andrii.tseglytskyi@globallogic.com> wrote:
> >>> >> Leaving aside that there are no real context switches between a
> >>> >> domain and the hypervisor (only domains, or more precisely vCPU-s,
> >>> >> get context switched), I'm not sure we need to be worried by these
> >>> >> numbers. Whether they're problematic depends significantly on the
> >>> >> time a full I2C command takes to issue (and perhaps complete). And
> >>> >> then I'm sure you're aware that hypercalls can be batched, so as
> >>> >> long as not every of these 50 commands depends on results from
> >>> >> the immediately preceding one, the hypercall cost can certainly be
> >>> >> amortized to a certain degree.
> >>> >
> >>> > But in case if each I2C command depends on results of previous one -
> >>> > we can't use such calls, right? Can we really rely on this?
> >>> > Some time ago I had a model (for testing which is not related to this
> >>> > thread) where I sent about 20 hypercalls each second.
> >>> > I observed lugs in such use cases as Video playback in domU (Android
> >>> > Jelly Bean as domU). Maybe if we have only Xen and dom0 - everything
> >>> > will be fine and we can send as many hypercalls as we want. But I'm
> >>> > worrying in our case this will not work.
> >>>
> >>> If 20 hypercalls a second are a problem, then I think the device isn't
> >>> capable enough in the first place to run a virtualized workload, and
> >>> if it's so overloaded it's likely also not really useful to reduce the
> >>> CPU frequency (as then you'd end up having even more performance
> >>> problems).
> >>
> >> If we need 20 hypercalls a second by design, I think that we might have
> >> a broken design.
> >
> > Agree.
> >
> >> One thing is requiring hypercalls for configuration,
> >> such us PCI config space accesses, but requiring hypercalls to issue
> >> commands to a device is very different.
> >> I didn't realize that high performance devices could usually be
> >> connected via I2C.
> >
> > This is a real example of touchscreen driver. Each scroll produces
> > about 50 I2C commands. If we decide to scroll all the time (why should
> > we limit this possibility?) - we will observe significant lags by this
> > design.
> >
> 
> Especially with Audio playback in background (which also uses I2C),
> and simultaneous request of frequency / voltage change.
> 

Are audio, touchscreen and voltage control all on the same i2c bus /
behind the same i2c controller?

Ian.

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

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-07 14:19 [RFC PATCH 00/13] xen_cpufreq implementation in Xen hypervisor Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 01/13] cpufreq: move cpufreq.h file to the xen/include/cpufreq location Oleksandr Dmytryshyn
2014-10-07 14:22   ` Andrew Cooper
2014-10-07 14:27     ` Oleksandr Dmytryshyn
2014-10-07 14:35   ` Jan Beulich
2014-10-09  6:04     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 02/13] pm: move processor_perf.h " Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 03/13] pmstat: move pmstat.c file to the xen/drivers/pm location Oleksandr Dmytryshyn
2014-10-07 14:38   ` Jan Beulich
2014-10-09  6:05     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 04/13] cpufreq: use turbo settings only for x86 architecture Oleksandr Dmytryshyn
2014-10-07 14:39   ` Jan Beulich
2014-10-09  6:05     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 05/13] pmstat: make pmstat functions more generalizable Oleksandr Dmytryshyn
2014-10-07 14:40   ` Jan Beulich
2014-10-09  6:06     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 06/13] cpufreq: make cpufreq driver " Oleksandr Dmytryshyn
2014-10-07 14:42   ` Jan Beulich
2014-10-09  6:06     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 07/13] xen/arm: enable cpu hotplug Oleksandr Dmytryshyn
2014-10-07 15:15   ` Julien Grall
2014-10-09  6:07     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 08/13] xen/dts: make the dt_find_property function to be global Oleksandr Dmytryshyn
2014-10-07 15:09   ` Julien Grall
2014-10-09  6:09     ` Oleksandr Dmytryshyn
2014-10-09 11:15       ` Julien Grall
2014-10-09 11:40         ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 09/13] arch/arm: create device tree nodes for Dom0 cpufreq cpu driver Oleksandr Dmytryshyn
2014-10-07 15:26   ` Julien Grall
2014-10-09  6:10     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 10/13] xen: arm: implement platform hypercall Oleksandr Dmytryshyn
2014-10-07 15:39   ` Julien Grall
2014-10-09  6:11     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 11/13] cpufreq: add xen-cpufreq driver Oleksandr Dmytryshyn
2014-10-07 14:44   ` Jan Beulich
2014-10-08 13:51     ` Stefano Stabellini
2014-10-10  9:00       ` Jan Beulich
2014-10-10  9:04         ` Stefano Stabellini
2014-10-10  9:39       ` Jan Beulich
2014-10-10  9:39         ` Stefano Stabellini
2014-10-10  9:46           ` Jan Beulich
2014-10-10  9:54             ` Stefano Stabellini
2014-10-10  9:59               ` Ian Campbell
2014-10-10 12:51                 ` Jan Beulich
2014-10-10 14:42                   ` Stefano Stabellini
2014-10-13  8:56                     ` Oleksandr Dmytryshyn
2014-10-13  9:39                       ` Jan Beulich
2014-10-13 11:59                         ` Oleksandr Dmytryshyn
2014-10-13 12:28                           ` Jan Beulich
2014-10-13 13:38                             ` Andrii Tseglytskyi
2014-10-13 14:11                               ` Jan Beulich
2014-10-13 14:29                                 ` Andrii Tseglytskyi
2014-10-14 12:20                                   ` Jan Beulich
2014-10-14 12:39                                     ` Andrii Tseglytskyi
2014-10-14 12:51                                     ` Stefano Stabellini
2014-10-14 12:58                                       ` Andrii Tseglytskyi
2014-10-14 13:00                                         ` Andrii Tseglytskyi
2014-10-14 13:05                                           ` Ian Campbell [this message]
2014-10-14 13:07                                             ` Andrii Tseglytskyi
2014-10-15 10:55                                               ` Stefano Stabellini
2014-10-15 11:17                                                 ` Andrii Tseglytskyi
2014-10-15 12:34                                                   ` Ian Campbell
2014-10-15 16:26                                                   ` Jan Beulich
2014-10-10 15:19                   ` Ian Campbell
2014-10-10 10:40               ` Jan Beulich
2014-10-09  6:13     ` Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 12/13] xen: arm: implement XEN_SYSCTL_cpufreq_op Oleksandr Dmytryshyn
2014-10-07 14:19 ` [RFC PATCH 13/13] xen/arm: enable cpufreq functionality for ARM Oleksandr Dmytryshyn
2014-10-07 14:34 ` [RFC PATCH 00/13] xen_cpufreq implementation in Xen hypervisor Jan Beulich

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=1413291941.10417.53.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=Stefano.Stabellini@citrix.com \
    --cc=andrii.tseglytskyi@globallogic.com \
    --cc=oleksandr.dmytryshyn@globallogic.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --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.