qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Speed menu for GTK interfaace


From: Programmingkid
Subject: Re: [Qemu-devel] Speed menu for GTK interfaace
Date: Wed, 4 Jan 2017 11:22:22 -0500

On Jan 4, 2017, at 11:19 AM, Daniel P. Berrange wrote:

> On Wed, Jan 04, 2017 at 11:01:30AM -0500, Programmingkid wrote:
>> 
>> On Jan 4, 2017, at 10:51 AM, Daniel P. Berrange wrote:
>> 
>>> On Wed, Jan 04, 2017 at 09:37:39AM +0100, Gerd Hoffmann wrote:
>>>> Hi,
>>>> 
>>>>> It is quite simple, there would be a 100% to a 1% menu item. It would 
>>>>> look like
>>>>> this:
>>>>> 
>>>>> Speed
>>>>> -------
>>>>> 100%
>>>>> 90%
>>>>> 80%
>>>>> 70%
>>>>> 60%
>>>>> 50%
>>>>> 40%
>>>>> 30%
>>>>> 20%
>>>>> 10%
>>>>> 1%
>>>>> 
>>>>> 
>>>>> Each menu item would call cpu_throttle_set(). The value sent to this 
>>>>> function would
>>>>> be determined like this:
>>>>> speed = -1 * menu_number + 100;
>>>> 
>>>> ok, that is the info I was looking for.
>>>> 
>>>>> speed would be sent to the cpu_throttle_set() function. This function 
>>>>> would reduce
>>>>> the CPU usage of QEMU on the host. 
>>>>> 
>>>>> Why would someone want to slow down QEMU?
>>>>> - The user is using a laptop and don't want it to heat up.
>>>> 
>>>> Sort-of makes sense, to keep the laptop quiet.
>>>> 
>>>>> - The user wants to slow down a video game that is a little too 
>>>>> challenging.
>>>> 
>>>> Sure this would work?  Throttling isn't a smooth slowdown, the cpu
>>>> continues to run at full speed and is forced to pause now and then.
>>>> 
>>>>> - The user wants to save energy.
>>>> 
>>>> Pointless.  Laptop may run longer, but your job needs more time to
>>>> complete too.  And constant vcpu start/stop isn't good to save power,
>>>> the cpus can't enter deep sleep states then because of the frequent
>>>> wakeups.
>>>> 
>>>>> - The user wants to conduct some kind of stress test on a program and see 
>>>>> how
>>>>> it handles under low cpu resources. 
>>>> 
>>>> Makes sense too.
>>>> 
>>>> We already have "pause" in gtk, adding a "throttle" item next to it
>>>> looks reasonable to me.  I don't think it is that useful to have 10%
>>>> steps in there, you probably never throttle 10% in practice.  It's
>>>> probably more useful to have something like "throttle -> off / 50% /
>>>> 90% / 95% / 99%".
>>> 
>>> This feels like going down the slippery slope to turn the GTK frontend
>>> into a full mgmt UI, which is something we've said we don't want todo
>>> inside QEMU UI frontends. IMHO this kind of feature is best left to
>>> external mgmt layers, like  virt-manager/GNOME Boxes/etc. It is already
>>> possible to timebox VMs CPU execution using cgroups quotas via libvirt.
>> 
>> Are you saying that so we can use your Virt-manager? The thing is having more
>> options is a good thing. If one solution doesn't work, another solution 
>> might.
>> We don't live in a world with only one Linux distribution. We live in a world
>> with many Linux distributions. We have the power of choice. There currently
>> isn't a single QEMU front-end that runs on all three operating systems. Yes 
>> the
>> Linux people do have Virt-manager, but what about the Windows and Macintosh
>> people. They are not so fortunate. Enhancing the GTK front-end does not
>> hurt any of the Virt-manager users at all. This change is just for the people
>> who prefer the GTK front-end.
> 
> This is not about choice, it is about the focusing QEMU community resources
> where they are most effectively applied. Turning the GTK front-end into a
> fully featured mgmt UI would put a significant, ongoing burden on the QEMU
> maintainers over the long term. This will taking resources away from other
> areas of work in QEMU, just to duplicate features that already exist / will
> exist in layers above / apps external to QEMU.

I think we can afford some resource being spent on the GTK interface.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]