Re: suspend blockers & Android integration

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

 




On Thu, 3 Jun 2010, Linus Torvalds wrote:
> 
> so I'd like to see the opportunistc suspend thing think about CPU 
> offlining

Side note: one reason for me being somewhat interested in the CPU 
offlining is that I think the Android kind of opportunistic suspend is 
_not_ likely something I'd like to see on a desktop. But an the 
"opportunistic CPU offliner"? That might _well_ be useful even outside of 
any other suspend activity.

If the system is idle (or almost idle) for long times, I would heartily 
recommend actively shutting down unused cores. Some CPU's are hopefully 
smart enough to not even need that kind of software management, but I 
suspect even the really smart ones might be able to take advantage of the 
kernel saying: "I'm shutting you down, you don't have to worry about 
latency AT ALL, because I'm keeping another CPU active to do any real 
work".

I'd also be interested to see if it could even improve single-thread 
performance if we end up doing the whole SMP->UP "lock" prefix rewriting 
when the system is idle enough that we'd be better off running just a 
single core. I dunno - just throwing that out there.

Anyway, the only reason I think this is related is literally because I 
think that if we know there is only a single CPU active, I think the 
actual "real" opportunistic suspend is easier. Suddenly you don't have to 
worry about what happens on other run-queues etc, and whether another CPU 
is just about to create a suspend block etc.

So I think they tie together, although it's mostly tangential. And as 
mentioned, I think a opportunistic CPU suspend part is more relevant 
outside of Android, and thus perhaps more widely interesting.

			Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux