On Jan 4, 2017, at 3:37 AM, 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%".
Actually the 10% one is the one I use the most. I use it when I have to test code in OpenBIOS. I wouldn't mind adding a 95% menu item.
