Chris Ferron wrote: > On 09/19/2012 01:26 AM, Igor Zhbanov wrote: >> I mean that only online cores are shown in /proc/cpuinfo. >> So the PowerTOP doesn't count currently offline ones. >> And you must run the PowerTOP on a heavy loaded system >> to let the PowerTOP see all CPU cores. >> Therefore it is impossible to run the PowerTOP before starting >> of heavy application to get information about all CPU cores. >> Probably the PowerTOP could cache CPU information in some file, >> so it will be possible to register trace events for all cores. > Off hand I don't have a good solution to help your ARM story. Your notes > are interesting and I agree this is something that ARM is going to need. > Do you have a complete solution you would like to purpose? I assume you > have done some hacking to get around this, but if you have taken that > and tuned it i suggest purposing the change. If you find a solution that > doesn't digress the Architectures, and corrects the ARM story then > please submit patches. I would be interested in seeing what you have > come up with. > I will try and look for a general solution, are there any other ARM > advocates on this list who would like to chime in? Now I'm looking for solution. But I see now only four ways: 1) Develop another kernel mechanism for providing information about all available CPUs and cores. Or ask the kernel authors not to remove offline cores from /proc/cpuinfo and their information files from /sys/.../cpu/. 2) Scan /sys/.../cpu for all CPUs and temporarily wake it up to gather information. 3) Ask the user to run PowerTOP on a heavy loaded system for the first time (or wake up all CPUs by the PowerTOP) and store collected CPU information somewhere in /var/cache/powertop and reuse it on later runs. 4) Don't just sleep in a main cycle, but scan /sys/.../cpu for new CPUs to appear. (Perhaps there could be something like D-Bus or netlink notification when a core brought online -- I don't know about it). At your personal view, what way fits better in the PowerTOP project? P.S. This may be the case for x86 CPUs too. I have disable CPU2 by writing to /sys/devices/system/cpu2/online, and the PowerTOP sees only CPU0, CPU1, and CPU3. Although default PC's CPU governor as I know doesn't turn off CPUs frequently. -- Best regards, Igor Zhbanov, Expert Software Engineer, phone: +7 (495) 797 25 00 ext 3806 e-mail: i.zhbanov(a)samsung.com ASWG, Moscow R&D center, Samsung Electronics 12 Dvintsev street, building 1 127018, Moscow, Russian Federation