RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → Bugs →

High CPU load? when Error displayed

Subscribe to High CPU load? when Error displayed 15 posts, 6 voices

 
Nov 25, 2015 2:12pm
Avatar Chris Evans (457) 1614 posts

When a non multitasking error box appears if it is left uncancelled for say half an hour the CPU temperature will have risen significantly!
I’ve found this whilst testing RapidO Ig board. I don’t have a PandaBoard system set up at present but I’d expect it will show the same result, can anyone check please?

If there are any other boards that can report CPU temperature, can someone run a test please?
ARMX6?

n.b. I was generating the error by trying to copy a directory recursively.

 
Nov 25, 2015 3:37pm
Avatar Chris Johnson (125) 807 posts

ARMX6?

I’ll give it a try later this afternoon.

 
Nov 25, 2015 3:38pm
Avatar John Williams (567) 768 posts

When a non multitasking error box appears if it is left uncancelled for say half an hour the CPU temperature will have risen quite significantly!

I know you will know this, but, for the benefit of new users, modules exist to cancel such error boxes automagically, and, if SysLog is operating, such Wimp errors can be logged for future reference.

This can be very useful for unattended machines showing errors during normal operation.

I use the module NoError in Tasks in conjunction with the application WimpLog which loads the reporting module. This is on a RPi.

 
Nov 25, 2015 4:11pm
Avatar Rick Murray (539) 12891 posts

I wrote a module just the other day to do this; and record the error message to DADebug.

Once the name has been allocated, I can release it if anybody is interested.

Didn’t know NoError had been 32 bitted.

 
Nov 25, 2015 4:22pm
Avatar Chris Johnson (125) 807 posts

The ARMX6 is probably not the best machine to demonstrate this. Mine is in a ‘Spire’ box, which is larger than the conventional shoebox, and has a fan blowing away. I have not seen the cpu reach over 40 deg even in the heights of a Scottish summer!

Anyway. CPU temperature while idling = 33.2 C
CPU temperature after 22 min of error box = 35.4 C
CPU temperature while batch processing some DSLR images = 34.7 C

 
Nov 25, 2015 4:33pm
Avatar Chris Evans (457) 1614 posts

Thanks for the info lads.

We’ve also found that if you say have an obey file that you run from the desktop that ends with ‘Press space or click mouse to continue’ this also causes the temperature to rise.
Pressing F12 whilst in the desktop does not.

Anyone with a PandaBoard system set up that they could test on please?

 
Nov 25, 2015 5:45pm
Avatar Chris Johnson (125) 807 posts

Anyone with a PandaBoard system set up that they could test on please?

I can do that as well – the PandaRO is just idling at the moment.

 
Nov 25, 2015 6:24pm
Avatar Chris Johnson (125) 807 posts

Okay – test done.

Start:
cpu temp = 44.4 C, case temp = 32.5 C
6 minute test:
cpu temp = 54.7 C, case temp = 34.2
16 minute test:
cpu temp = 59.2 C, case temp = 34.5 C

By the way – I have an enhanced version of CPUClock + CPUTmpMon which besides monitoring cpu speed and cpu temp, also allows automatic throttling of the cpu speed if the temperature exceeds a chosen temperature. This combination works on BB, PB, iMX6 and IGEPv5, choosing the correct version of CPUTmpMon to use depending on the hardware being used. This relates to the other thread on hardware determination, since CPUClock interrogates the hardware in order to run the correct CPUTmpMon. If you have a PandaRO, or a PB fitted with the CJE RTC module, then CPUClock will also read the case environment temperature.

If anyone would like a pre-release version to try, let me know – chris at chrisjohnson dot plus dot com.

 
Nov 25, 2015 6:33pm
Avatar Rick Murray (539) 12891 posts

This combination works on BB, PB, iMX6 and IGEPv5,

PB – Pi model B?

If so, I’d be interested in knowing the core temperature.

The CJE module usually tells me that it is 31.5C, which seems a bit high given it is about 12-13C in here…

Best wishes,

Rick.

 
Nov 25, 2015 7:18pm
Avatar Chris Johnson (125) 807 posts

PB – Pi model B?

No, sorry. PB = PandaBoard. Maybe I should have said OMAP3, OMAP4, OMAP5 and iMX6.

 
Nov 25, 2015 9:27pm
Avatar Chris Evans (457) 1614 posts

The Pi has temperature sensors within the SoC, unfortunately we can’t read them yet from RISC OS. AIUI it requires the video driver to be changed to allow access.

Thanks Chris J for the PandaBoard results. The Ti chips are rated to 90C so quite a lot of room and still be within specs. ISEE state that prolonged use at greater than 90C will reduce life expectancy and that chip will reset if it gets to 110C.

I’m hoping that it is an easy change to reduce the CPU load which in turn will allow the dynamic clock speed to kick in.

 
Nov 25, 2015 10:17pm
Avatar Will Ling (519) 98 posts

For what it’s worth, I noticed this phenomenon some years ago, testing Oregano in certain conditions on a somewhat overclocked Kinetic which I happened to be monitoring the tempreture on. From what I recall I believe the explanation at the time was that the CPU ends up running tight loops, mostly from cache, as there is not a lot going on so there are few pauses for memory access etc, so effectively runs flat out and hotter. I’d imagine by stalling the wimp so you have no task swapping you would significantly reduce memory access and create the same conditions. If this is the case then I doubt the temperature would rise much more after a prolonged period.

 
Nov 26, 2015 2:19pm
Avatar Jeffrey Lee (213) 6028 posts

From what I recall I believe the explanation at the time was that the CPU ends up running tight loops, mostly from cache, as there is not a lot going on so there are few pauses for memory access etc, so effectively runs flat out and hotter.

Yeah, that certainly sounds like a reasonable explanation for older systems.

For modern systems the main problem will be that the Wimp isn’t making use of the Portable_Speed/Portable_Idle power saving calls – normally when a machine is sat idle at the desktop the Wimp will spot that nothing much is happening and will switch into a “low power” mode where it reduces the CPU clock speed, and then if Wimp_Poll is called and there aren’t any events left it will put the CPU to sleep until the next interrupt (or something like that – but the end result is that the CPU should spend ~95% of the time asleep)

It shouldn’t be too hard to fix the issues mentioned here, and it might be that we can just hook up the routine which regulates Wimp_Poll.

 
Nov 29, 2015 8:11pm
Avatar Jeffrey Lee (213) 6028 posts

it might be that we can just hook up the routine which regulates Wimp_Poll.

This is now done, and seems to have solved the issues.

 
Nov 29, 2015 9:44pm
Avatar Chris Evans (457) 1614 posts

Thanks. Amazing service Jeffrey.

Reply

To post replies, please first log in.

Forums → Bugs →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

Bug discussions that aren’t covered by the bugs database.

Voices

  • Chris Evans (457)
  • Chris Johnson (125)
  • John Williams (567)
  • Rick Murray (539)
  • Will Ling (519)
  • Jeffrey Lee (213)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys