LinHES Forums
http://forum.linhes.org/

Pausing every 5 minutes after R5D1 -> R5.5 upgrade
http://forum.linhes.org/viewtopic.php?f=6&t=18536
Page 1 of 1

Author:  gezz [ Sun Jul 13, 2008 9:53 am ]
Post subject:  Pausing every 5 minutes after R5D1 -> R5.5 upgrade

Hi all,

I have just upgraded my R5D1 combined BE/FE box (previously upgraded a few times from an original R4 something install) to R5.5, and it all went pretty smoothly, with my remote being the only major thing that isn’t working right anymore.

So firstly, thanks to everyone involved with this release! :D

However, I am getting some strange pausing happening every 5 minutes that causes tv playback to stutter. It also affects mp3 playback, or even just moving the cursor around in an xterm window.

Dues to the fact it seems to happen consistently every 5 minutes, I am guessing there must be some process configured to do or check something at this interval, but I am not sure how to track down what this might be.

Does anyone have any ideas as to what might be causing this, or how to track it down? My apologies if this has already been mentioned before, I have tried to search, but didn’t come up with anything obvious.

Many thanks for your help.

Author:  s1148625 [ Sun Jul 13, 2008 10:10 am ]
Post subject: 

http://mysettopbox.tv/phpBB2/viewtopic.php?t=18453

See section 4.1 on tweaking RRD.

If you disable or edit your RRD settings, you'll probably be able to fix this issue.

Author:  tjc [ Sun Jul 13, 2008 11:50 am ]
Post subject: 

Good work s1148625, that's almost certainly the cause. Rerunning /usr/local/bin/rrd_Configure.sh an easy way to change which scripts are run. Turn off the ones indicated in the R5.5 Hints and see if that fixes the problem.

The basic issue is an upstream behavior change in mbmon which makes it use a _lot_ more CPU cycles while probing the hardware when it's run on some motherboards. You might be able to fix this by changing the command line options (man mbmon) in /etc/rrd.config based on your hardware, but nobody with sufficient debugging-fu has experienced the problem and dug into this. In summary use mbmon -d to determine what method it picks and then restrict it to only do that.

Here is an example:
Code:
root@black2:~/setup# time mbmon -d
Using ISA-IO access method!!
* Winbond Chip W83627HF/THF/THF-A found.

real    0m0.003s
user    0m0.003s
sys     0m0.000s

It's using the ISA (-I) method and the winbond chips (-p winbond), so lets try that:
Code:
root@black2:~/setup# time mbmon -I -p winbond -d
Using ISA-IO access method!!
* Winbond Chip W83627HF/THF/THF-A found.

real    0m0.001s
user    0m0.001s
sys     0m0.000s

Much quicker! So I would change the lines in /etc/rrd.config that say:
Code:
$MBT_prog = 'mbmon -c 1 -T';    # program & args to gather the data

$MBF_prog = 'mbmon -c 1 -F';    # program & args to gather the data

to read:
Code:
$MBT_prog = 'mbmon -I -p windbond -c 1 -T';

$MBF_prog = 'mbmon -I -p windbond -c 1 -F';

Remember!!! This will depend on which method and chipset it finds when run with "-d", so don't blindly copy this and complain that it doesn't work on your hardware or I'll have some rather unflattering things to say about your cluefulness and ability to follow directions. ;-)

(OBTW - I actually repeated the timing experiment enough times to have good statistical confidence that there was a real difference... ;-))

Author:  gezz [ Sun Jul 13, 2008 12:28 pm ]
Post subject: 

Thanks guys, this is definately the problem. I guess I should have thought of this since it said it may not work on some systems duringthe upgrade, but I just enabled it anyway! :)

For now I have run the configure script to unselect the MBtemp and MBfan entries which seems to have stopped it.

Timing the mbmon debug call gives the following results, which is just a bit longer than tjc's :)
Code:
time mbmon -d
Using SMBus access method[NVidia nForce2]!!
* Asus Chip ASB100(Bach) found.

real    0m0.791s
user    0m0.772s
sys     0m0.001s


From this I guess I need to use the -S option for the access method, but I am not sure what -p option to pick! man mbmon suggests the following options:
Code:
-p chip
              For             probing             chips.             chip=winbond|wl784|via686|it87|gl52|lm85|lm80|lm90|lm75


Any idea what option maps to the asus one? Or is the problem that there isnt an optmised option for this chip?

Thanks again for your help. I can live without this monitoring if I have to :)

Author:  tjc [ Sun Jul 13, 2008 12:45 pm ]
Post subject: 

Even just using "-S" without the chip specified may speed it up considerably. Hmm... Their README claims that "-p winbond" is the right option to use for that. Bizarro...

http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/xmbmon/README-xmbmon201.html

Quote:
From version 2.00 another new option is supplied for specifying the
hardware monitor chip used in order to avoid mis-detection of hardware
monitor chips. It is useful if the users know which monitor chips are
used on their mother boards. Try to use this option if the automatic
detection fails. The chip names one can specify is the following;

# mbmon -p [winbond|via686|it87|lm80|lm75]
# xmbmon -probe [winbond|via686|it87|lm80|lm75]

i.e. five chips, which corresponds precisely to the monitor chips,

winbond: LM78/LM79, W83781D, W83782D, W83783S, W83627HF, W83697HF, AS99127F, ASB100
via686: VT82C686A/B
it87: IT8705F, IT8712F
lm80: LM80
lm75: LM75

Author:  gezz [ Sun Jul 13, 2008 1:21 pm ]
Post subject: 

Thanks for looking that up, but unfortunately it doesn't seem to have helped. I had tried with just the -S option before without success, and using both settings gives:
Code:
time mbmon -S -p winbond -d
Using SMBus access method[NVidia nForce2]!!
* Asus Chip ASB100(Bach) found.

real    0m0.752s
user    0m0.735s
sys     0m0.010s

So I guess I will just have to live without this monitoring. :(

Thanks for your extremely quick and helpful responses though!

Author:  tjc [ Sun Jul 13, 2008 1:41 pm ]
Post subject: 

One more thing to try, prefix the command in /etc/rrd.config with "nice". e.g.
Code:
$MBT_prog = 'nice mbmon -S -p winbond -c 1 -T'

There is a small chance that this may be enough to keep it from interfering...

Author:  gezz [ Sun Jul 13, 2008 4:00 pm ]
Post subject: 

No, unfortunately this still causes pausing in video playback. :(

Just for completeness, this motherboard is an ASUS A7N8X-E Deluxe.

Cheers

Author:  tjc [ Sun Jul 13, 2008 4:48 pm ]
Post subject: 

OK, even weirder idea. Try forcing it to use another access method since somethings the chips can be reached more than one way... The lm_sensors docs maybe helpful on this point... E.g.
Code:
time mbmon -I -p winbond -d

Author:  gezz [ Mon Jul 14, 2008 4:28 pm ]
Post subject: 

Ok, so I have tried the four different options for the access methods. -V and -I dont seem to work, as without the -d option they dont provide any details.
-A seems to work as well as -S, but unfortunately doesnt seem to be any quicker:
Code:
root@mythtv:/home/gezz# time mbmon -A -p winbond -d
Summary of Detection:
 * SMB monitor(s)[NVidia nForce2]:
  ** Asus Chip ASB100(Bach) found at slave address: 0x5A.

real    0m0.748s
user    0m0.743s
sys     0m0.004s

I think this makes sense, as the A option just means try all of them if I am reading the man page right.

Any other left field ideas? :)

Author:  tjc [ Mon Jul 14, 2008 6:38 pm ]
Post subject: 

Sorry, bottom of the well here... You might try lm_sensors but that needs custom rrd scripts and I think the problems may be fundamental to the way ASUS implemented their monitoring chip...

Author:  gezz [ Tue Jul 15, 2008 2:34 am ]
Post subject: 

No problem. I've lived without this stuff for the past 4 years, so I think I can cope :lol:

Thanks again for your help.

Author:  cliffsjunk [ Thu Jul 31, 2008 2:27 pm ]
Post subject: 

"mbmon -d" told me I had a winbond chip and this
(-I -p winbond) fixed the issue for me.

Went from 0.9 to 0.003 CPU.

Cliff

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/