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%". cheers, Gerd