OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Applications => Topic started by: Alex Taylor on December 15, 2018, 10:16:38 pm

Title: SeaMonkey 2.42.9 CPU spiking
Post by: Alex Taylor on December 15, 2018, 10:16:38 pm
Since Google Drive and DropBox have both ceased to function properly with SM 2.35, I've had to bite the bullet and upgrade to 2.49.9.  (I'd previously tried several times and given up due to the extreme frequency of hangs.)  I created a new profile and migrated my important data.

Now, I've tried all three of Dave's builds (o2, o3, and o3s) and all of them exhibit the following behaviour (both with my migrated profile and with a completely new, blank profile).  As long as SeaMonkey is running, the CPU spikes to 100% every 14 seconds, for about 3 seconds each time.  During these spikes, the system briefly becomes unresponsive (keyboard input blocks, etc.).  This occurs even if SM has nothing at all open but a blank tab.  SM doesn't even have to be in focus; in fact, it's more annoying when I'm in another application trying to type or do something, and the system keeps going unresponsive every 14 seconds.

Obviously this is untenable. Does anyone else see this phenomenon, and does anyone have a suggested solution?
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: roberto on December 16, 2018, 12:31:39 am
I do not see that problem. I am using seamonkey 2.42.9.esr. I've tried it with google drive.
saludos
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 16, 2018, 01:29:07 am
No, usually if I leave SM alone for a minute or two, 3 cores go offline and the remaining core hovers about 3-6%, not much higher while typing this.
There are sites which cause more activity, certain JavaScript heavy sites as well as certain GIfs as discussed elsewhere. Even here, the "read unread topics" page causes CPU usage if there are any unread topics.
Have you tried safe mode and in particular disabling Chatzilla? Perhaps Lightning as well. Also try going into View--> Change Theme and try SM Modern.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Andi B. on December 16, 2018, 10:36:22 am
I see similar spikes on my dual core. But my profile is rather old. And sometimes the spikes goes away. On guess is chatzilla or the email client. Unfortunately switching profile to default results in a hard hang when I close the AddOn manager (which does search forever otherwise).

On a 4 core system 3 cores are running at 10 - 40% constantly while core 0 is near 0 utilization. When I close SM utilization goes to 0.x for all 4 cores. Again switching profile to default end in the same hard hang. But a trp report is created on this machine. But that's another problem.

Dave - which of your SM versions is the best to test and track down problems? I'm not sure we are all running the same. My about:buildconfig is -
Code: [Select]
about:buildconfig
Build platform
target
i386-pc-os2-emx
Build tools
Compiler Version Compiler flags
gcc.exe 5.1.0 -Wall -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -Zomf -std=gnu99 -fgnu89-inline -fno-strict-aliasing -Zomf -fno-math-errno -pthread
c++ 5.1.0 -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -mtune=generic -march=i686 -O3 -Zno-fork -fomit-frame-pointer
Configure arguments

--enable-application=suite --prefix=/@unixroot/usr --libdir=/@unixroot/usr/lib --with-system-zlib --disable-tests '--enable-optimize=-mtune=generic -march=i686 -O3 -Zno-fork' --disable-mochitest --disable-installer --disable-updater --disable-debug --enable-debug-symbols --enable-system-cairo --enable-system-pixman --enable-os2-high-mem --disable-crashreporter --enable-calendar --with-intl-api --with-system-icu --with-system-nss --with-system-nspr --with-system-libvpx --disable-system-sqlite --enable-release --with-external-source-dir=C:/work/cc45esr
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: roberto on December 16, 2018, 01:27:50 pm
I have some different lines:
andy: c++    5.1.0    -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -mtune=generic -march=i686 -O3 -Zno-fork -fomit-frame-pointer
rob : c++    5.1.0    -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -march=i686 -O3 -fomit-frame-pointer

and this other:
andy:--enable-application=suite --prefix=/@unixroot/usr --libdir=/@unixroot/usr/lib --with-system-zlib --disable-tests '--enable-optimize=-mtune=generic -march=i686 -O3 -Zno-fork' --disable-mochitest --disable-installer --disable-updater --disable-debug --enable-debug-symbols --enable-system-cairo --enable-system-pixman --enable-os2-high-mem --disable-crashreporter --enable-calendar --with-intl-api --with-system-icu --with-system-nss --with-system-nspr --with-system-libvpx --disable-system-sqlite --enable-release --with-external-source-dir=C:/work/cc45esr
rob: --enable-application=suite --prefix=/@unixroot/usr --libdir=/@unixroot/usr/lib --with-system-zlib --disable-tests --enable-optimize '--enable-optimize=-march=i686 -O3' --disable-mochitest --disable-installer --disable-updater --disable-debug --enable-debug-symbols --enable-system-cairo --enable-system-pixman --enable-os2-high-mem --disable-crashreporter --enable-calendar --with-intl-api --with-system-icu --with-system-nss --with-system-nspr --with-system-libvpx --disable-system-sqlite --enable-release --with-external-source-dir=C:/work/cc45esr

If you copy and paste in an editor the lines you can compare better.

Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Rich Walsh on December 16, 2018, 05:07:12 pm
I've tried all three of Dave's builds (o2, o3, and o3s) and all of them exhibit the following behaviour (both with my migrated profile and with a completely new, blank profile).  As long as SeaMonkey is running, the CPU spikes to 100% every 14 seconds, for about 3 seconds each time.

First and foremost, disable Chatzilla when not in use. Just before posting this, I was getting those spikes and realized CZ was still enabled from yesterday. After disabling it, all cores went to 0%

I've been using Dave's -o2 build for 6 months and it has never generated a '.trp' file. It _has_ silently disappeared - usually a sign of a libc panic. However, since I started using 'mozturbo.exe' to work around the hi-mem memory leak, that hasn't happened again. SM still has major problems but stability isn't one of them (for me, at least).
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Pete on December 16, 2018, 05:33:40 pm
Hi All

My experience of using the O2 build is the same as Rich: "never generated a '.trp' file. It _has_ silently disappeared". Chatzilla is Disabled - necessary to avoid continual cpu peaking.

I see Rich seems to have the problem under control using mozturbo.exe so have to ask what that executable does and where to find a copy.


Regards

Pete
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Alex Taylor on December 16, 2018, 05:35:51 pm
Have you tried safe mode and in particular disabling Chatzilla? Perhaps Lightning as well. Also try going into View--> Change Theme and try SM Modern.

I had already disabled Lightning to no avail.  Changing to SM modern seemed to make the spikes slightly less severe, but didn't stop them. 

Turns out the culprit was, indeed, Chatzilla.  I've disabled that and the spikes seem to have gone away entirely.

Thanks!

(I guess it's time to dust off Quassel or something...)
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dariusz Piatkowski on December 16, 2018, 05:41:00 pm
Hi Alex,

Using FF 45.9 here, but what you are seeing is somewhat similar to what I've seen with FF. I've attached what the current 'steady state' CPU load looks like on my machine (5-core). This is with about 5 browser windows open and normal assortment of sites loaded: news, hobby interests, OS/2 World forum, etc.

In short, you can see load that's balanced across the multiple cores, else if I throttle down to a single core I get a 100% utilization.

Now, this is not exactly that same as what you are seeing, but to Dave's point, the combination of JS and image properties cause a known issue with our browsers.

Specifically, as we were building up to the official release of FF 45.9 these are some of the notable disocveries raised:

1) SET NSPR_OS2_NO_HIRES_TIMER=1
- I have the above setting in my CONFIG.SYS, anything else causes a steady 100% spike across multiple cores

2) layout.frame_rate
- general choppiness of the browser response, you have some control over this, need to play around with a few different rates
- I have my set to the default value of '0', anything else just did not work here well enough
- good description of this can be found https://github.com/bitwiseworks/mozilla-os2/issues/208 (https://github.com/bitwiseworks/mozilla-os2/issues/208) and https://github.com/bitwiseworks/mozilla-os2/issues/220 (https://github.com/bitwiseworks/mozilla-os2/issues/220)

3) add-ons???
- few are known to be resource hungry, I have disabled Chatzilla here, I think others have experienced problems with it as well?

[EDIT]
Ahh, as I did the preview of my post I noticed you found your fix...well, going to leave my response in-place since I spent the time typing this stuff up and re-freshing my memory on the FF specific tickets.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Alex Taylor on December 16, 2018, 05:42:49 pm
First and foremost, disable Chatzilla when not in use. Just before posting this, I was getting those spikes and realized CZ was still enabled from yesterday. After disabling it, all cores went to 0%

I've been using Dave's -o2 build for 6 months and it has never generated a '.trp' file. It _has_ silently disappeared - usually a sign of a libc panic. However, since I started using 'mozturbo.exe' to work around the hi-mem memory leak, that hasn't happened again. SM still has major problems but stability isn't one of them (for me, at least).

Yeah, CZ does indeed seem to be the culprit. 

I'm currently using the -o2 build, although I have both the others (o3 and o3s) available. I haven't noticed any particular difference in performance between them, and haven't been running any long enough to see if there's any difference in stability. I'll probably stick with -o2 for now unless there's a strong reason to recommend either of the others.

Thanks.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: David McKenna on December 16, 2018, 05:48:21 pm
@Pete - mozturbo here: https://bitbucket.org/dryeo/mozturbo/downloads/
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 16, 2018, 06:01:05 pm
@Pete - mozturbo here: https://bitbucket.org/dryeo/mozturbo/downloads/

I'll start a new topic on this. Meant to update the readme but I'm terrible at readme's.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 16, 2018, 07:28:10 pm
Chatzilla definitely triggers high CPU usage here, I usually leave it disabled and enable when needed. What the problem is, I don't know but I guess interaction with the JS engine. Chatzilla itself didn't change from SM-2.35 and applying the XPI that is built along with SM to FF doesn't seem to be a problem.
As for optimizations, I've followed Rich's advice and switched to -O2 in case of compiler bugs, performance seems fine. Lately, I've been using a build built with GCC 5.5.0 which Paul applied some SSE fixes to. This is built targeting a Pentium M so SSE and SSE2 paths should be enabled. I was also using some newer builds of NSS and NSPR. I've just rebuilt SM with the official releases of NSS and NSPR and uploaded a build, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip) only lightly tested but being almost the same as I'm using, should be fine. I'm also currently rebuilding FF if anyone is interested.
Running the newer NSS and reverting caused some interesting issues with sites no longer happy with the encryption and refusing to load.
edit, Note that this build needs a SSE2 capable CPU, which should be most in use.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: roberto on December 17, 2018, 11:49:41 am
I've just rebuilt SM with the official releases of NSS and NSPR and uploaded a build, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip) only lightly tested but being almost the same as I'm using, should be fine.
I'm testing it and for now very well, just tell you that I can finally print directly from the browser, without creating a pdf.
Thank you
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 17, 2018, 05:18:15 pm
I've just rebuilt SM with the official releases of NSS and NSPR and uploaded a build, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/seamonkey-2.42.9esr_r3.en-US.os2-Pentium-M.zip) only lightly tested but being almost the same as I'm using, should be fine.
I'm testing it and for now very well, just tell you that I can finally print directly from the browser, without creating a pdf.
Thank you

Interesting. I didn't really change anything besides the compiler and target, Paul needs thanking for updating GCC.
BTW, for Firefox users, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-pentium-M.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-pentium-M.zip)
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: ivan on December 18, 2018, 11:29:29 pm
Hi Dave, 

I know this isn't your 'thing' but I have noticed that you do occasionally give advice about firefox.

I have started using firefox 38.8 with ArcaOS because your trusty 17.0.11 is unable to load several sites that I visit, especially those https ones.  The problem I am seeing, I can go and make the coffee while 38.8 is starting.  Even when it is started opening a site or trying to scroll down a page is slow and intermittent.

I think it has something to do with the AMD processors I use.

The 'working state.jpg is what I see at startup and opening a page.
The 'rest state.jpg' is what happens with firefox open but doing nothing, although it must be doing something to run those processors flat out.   

I have tried this on the following processors: AMD Sempron 3850 quad core APU, AMD A-Series A10-9700 4 compute cores and 6 graphics cores and Ryzen 3 2200G 3.5 GHz 4 cores + 9 GPU cores.

Any ideas as to what is going on?
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 19, 2018, 01:25:50 am
Hi Ivan, don't trust the CPU monitor as the way it works is broken. Here it shows the same thing with SM while the CPU widget in xcentre shows 1 cpu at 1-8% and the others offline, CPU temp is low as well. Top shows SM using 0-20%.
The CPU doesn't matter as 38.8 is targeted at a i486 and optimized for a i686.
Try the usual tests, starting in safe-mode and test with a new profile. Usually 38.8 runs good though it is still not going to work for some sites. Run firefox --help for parameters.
You could try 45.8 Firefox as well, it is worse for CPU usage but shouldn't feel slow. The one I linked here should work on your processors fine as IIRC, they all support SSE2 (Athlon didn't), need to install libvpx and hunspell
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: ivan on December 19, 2018, 07:30:05 pm
Thanks Dave, I'll get back to it as soon as I have my computers back - family arrived and all the kids wanted to play games on the big monitors (1920x1200 24" and up).
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dariusz Piatkowski on December 22, 2018, 05:58:26 am
Hi Dave!

...BTW, for Firefox users, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-pentium-M.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-pentium-M.zip)

Great stuff...but...can you do a different run that matches the build config of the official GA2 version?

So here is what I'm currently seeing (highlighting ONLY the differences):

1) GA2 version
Code: [Select]
Compiler Version Compiler flags
gcc.exe 4.9.2 -O2 -g -march=pentium4
c++         4.9.2 -O2 -march=pentium4  -g -Os -mno-sse -mno-sse2

2) Dave version
Code: [Select]
Compiler Version Compiler flags
gcc.exe 5.5.0
c++         5.5.0 -march=i686 -O3

The 5.5.0 fixes would allow us to skip sse & sse2 exclusion, so that's fine, but while you did say this was pentium-M, -march=i686 signifies the i686 instruction set as opposed to the pentium one, does it not? AFAIK that means it is not pentium4 equivalent...please correct me if I'm wrong here?

Thanks...oh and you know, if you really could (...I mean it's Christmas after all LOL) I really would like the following:

Code: [Select]
Compiler Version Compiler flags
gcc.exe 5.5.0 -march=amdfam10
c++         5.5.0 -march=amdfam10 -O3

Merry Christmas and a Happy New Year to all!
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Paul Smedley on December 22, 2018, 06:59:54 am
Interesting. I didn't really change anything besides the compiler and target, Paul needs thanking for updating GCC.

No problems - it was a trivial rebuild. Glad you got it working, last I recall, you were having some issues that I never got around to investigating (story of my life these days!).

Cheers,

Paul
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 23, 2018, 05:13:46 am
Hi Dariusz, you're right, I screwed up on which line I commented in my .mozconfig. I'll delete that build and replace it later. Haven't had power for a few days.
After I can try -march=amdfam10 -O2, 5.50 still has problems with -O3 and SSE2 instructions. Not sure if it'll work as it might build some intermediary binaries that won't run on my CPU (Q8800 IIRC) and I probably can't test it.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 23, 2018, 05:19:21 am
Hi Paul. It still has problems with -O3 and SSE2 and const variables I believe, O2 works well enough. There is also a problem of at least the 5.x builds preferring to link to the stdc++ lib in @UNIXROOT\usr\lib which I've had to move out of the way. I currently have your builds installed in @UNIXROOT\usr\localXXX where XXX is the version number without the dots, eg local550\
Once again thanks and merry Xmas, wish could send you some of the cold wet weather from here :)
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 24, 2018, 06:49:59 am
I refreshed the Firefox Pentium M build, same download location.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dariusz Piatkowski on December 24, 2018, 05:01:40 pm
Hi Dave!

I refreshed the Firefox Pentium M build, same download location.

Just tried it, but got the following error instead (with a fancy icon):

=== START ===
 That link has no power here

Return to the previous page or go back to your dashboard.
=== END ===

Seems like maybe the file is missing, or something just not right in the bitbucket world?
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Ian Manners on December 24, 2018, 05:26:17 pm
Try this link. Note the lowercase m at the end before the .zip :)

https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-Pentium-m.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-Pentium-m.zip)
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 24, 2018, 07:23:41 pm
Yes, I just went by memory in renaming the zip and I guess Bitbucket is case sensitive. Might have to refresh the page as well.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dariusz Piatkowski on December 24, 2018, 07:24:46 pm
Hi Ian!

Try this link. Note the lowercase m at the end before the .zip :)

https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-Pentium-m.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2-Pentium-m.zip)

Yup, got it...thank you! Deployed, highmem marked 'code only' and loaded using Dave's TurboLoader...will report back after a few days, thanks Dave!!!
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 24, 2018, 08:49:40 pm
Hi Dariusz, I succeeded in building Firefox with -march=amdfam10 -O2. Unluckily make package fails really quick, seems there's something wrong with xpcshell.exe and trying to run dist\bin\firefox.exe crashes right away due to illegal instruction, namely POPCNT.
Thought of zipping up dist\bin, which is half a gigabyte unzipped, 183.5 MB zipped, 93MB 7zed. Not sure what to do with this.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dariusz Piatkowski on December 25, 2018, 07:55:36 pm
Hey Dave!

Hi Dariusz, I succeeded in building Firefox with -march=amdfam10 -O2. Unluckily make package fails really quick, seems there's something wrong with xpcshell.exe and trying to run dist\bin\firefox.exe crashes right away due to illegal instruction, namely POPCNT.
Thought of zipping up dist\bin, which is half a gigabyte unzipped, 183.5 MB zipped, 93MB 7zed. Not sure what to do with this.

If the exe and dlls are built successfully I am happy to give it a try here...it's a massive u/l for you though...but if you're willing to I'm happy to open up my FTP server...let me know, I'll send the credentials.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 25, 2018, 08:00:36 pm
I'll upload the 7z as long as you're willing to share if others such as Ivan with AMD CPU's want to test, assuming it actually runs for you. I'd assume it does.
Pretty sure you have my email.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dariusz Piatkowski on December 26, 2018, 02:52:46 pm
Hello Dave and others,

I'll upload the 7z as long as you're willing to share if others such as Ivan with AMD CPU's want to test, assuming it actually runs for you. I'd assume it does....

Yes, of course not a problem...let me take a stab at it and go from there. I am hoping that if it works here (no issues found, it it stable, etc) eventually (longer term perspective) we can host is somewhere where it's publicaly accessible...but in the meantime, I'm all in!

Will email you next...
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 30, 2018, 01:50:14 am
If anyone is interested, I built and uploaded Firefox optimized for a Phenom II, https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.PhenomII.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.PhenomII.zip). Note that this will crash on older CPU's and likely even newer Intel CPU's. The trp report will have this close to the top,
Code: [Select]
Exception C000001C - Illegal Instruction
and here crashes with
Code: [Select]
Failing Instruction
_________________________________________

 14DFFB3C  MOVZX  EBX, BL    (0fb6db)
 14DFFB3F  SHR    EDX, 0x10  (c1ea 10)
 14DFFB42  MOVZX  EDX, DL    (0fb6d2)
 14DFFB45  MOV    ECX, EDX   (89d1)
 14DFFB47 >POPCNT EDX, EDX   (f30fb8d2)
 14DFFB4B  NOT    ECX        (f7d1)
 14DFFB4D  AND    EAX, ECX   (21c8)
 14DFFB4F  AND    ECX, EBX   (21d9)
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dariusz Piatkowski on December 30, 2018, 03:10:09 am
Hi Everyone!

If anyone is interested, I built and uploaded Firefox optimized for a Phenom II...

For what it's worth, this release is working great here (Phenom II X6). I mentioned to Dave earlier that this maybe a bit of a mental "this is better" conclusion, but it does feel like FF is a tad faster / smoother / pages render faster, etc.

I'm sure that if the code optimizations do allow it to actually run faster, the differences are probably very minimal, however it is a welcome step in a better direction.

Thanks once again Dave for coming through with this!
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: OS4User on December 30, 2018, 07:58:06 pm
If anyone is interested, I built and uploaded Firefox optimized for a Phenom II,

Hi, Dave

Is it possible to build AVX version of FireFox ?

Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 30, 2018, 08:31:09 pm
If anyone is interested, I built and uploaded Firefox optimized for a Phenom II,

Hi, Dave

Is it possible to build AVX version of FireFox ?

I could try. Can't test here though. What is the minimum target? ivybridge? haswell?
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: OS4User on December 30, 2018, 09:09:26 pm
If anyone is interested, I built and uploaded Firefox optimized for a Phenom II,

Hi, Dave

Is it possible to build AVX version of FireFox ?

I could try. Can't test here though. What is the minimum target? ivybridge? haswell?

AFAIK,  it is  Sandy Bridge and Bulldozer
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: David Graser on December 30, 2018, 10:16:14 pm
Dave

I wanted to thank you for your tireless modifications and updates to the browsers.  Every update improves my browsing experience under ArcaOS.  I am not having to boot to Windows as much to use the browser for something. 

I continue to contribute to the Q5 project monthly because I realized this project is a must.  Having my daughter out of the house and married gives me a little more discretionary income.

A special thanks to all who continue to make using all versions of OS/2 a pleasant experience.

David
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Dave Yeo on December 31, 2018, 04:39:17 am
https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.SandyBridge.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.SandyBridge.zip)
Crashes here right away with an illegal instruction, which I don't understand. Define Byte or put byte?
Code: [Select]

 Failing Instruction
__________________________________________________________

 000115EE  DB 0x66                      (66)
 000115EE  NOP                          (66 90)
 000115F0  CMP     BYTE [0x97310], 0x0  (803d 10730900 00)
 000115F7  MOV     EAX, [0x97290]       (a1 90720900)
 000115FC  JZ      0x11630              (74 32)
 000115FE >DB 0xc5                      (c5)
 000115FF  STC                          (f9)
 00011600  OUTSB                        (6e)

Probably doesn't use anymore AVX instructions then the default build but don't really know. Generally these builds probably result in minor speedups as most of the important parts, multimedia and the JavaScript JIT go by what the CPU supports and dynamically use the various intrinsics. . The SSE2 is different as there are a few functions that are compiled differently, as in different object files depending on the target.
For example, searching AVX on 45ESR, https://dxr.mozilla.org/mozilla-esr45/search?q=avx&redirect=false (https://dxr.mozilla.org/mozilla-esr45/search?q=avx&redirect=false) gives 2327 hits. There's also code in the JIT to manually apply AVX instructions byte by byte for the cases where the binutil's AS is too old.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: OS4User on December 31, 2018, 09:55:52 am
https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.SandyBridge.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.SandyBridge.zip)

Tnx a lot  -   we will test it.

Crashes here right away with an illegal instruction, which I don't understand. Define Byte or put byte?
Code: [Select]

 Failing Instruction
__________________________________________________________

 000115EE  DB 0x66                      (66)
 000115EE  NOP                          (66 90)
 000115F0  CMP     BYTE [0x97310], 0x0  (803d 10730900 00)
 000115F7  MOV     EAX, [0x97290]       (a1 90720900)
 000115FC  JZ      0x11630              (74 32)
 000115FE >DB 0xc5                      (c5)
 000115FF  STC                          (f9)
 00011600  OUTSB                        (6e)

probably,  AVX instruction is a bit earlier  and  nonAVX CPU decoded wrongly this pies of code.

At the same time, I know  about positive result in building code for AVX target.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: OS4User on December 31, 2018, 08:54:39 pm
https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.SandyBridge.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.SandyBridge.zip)

It does work on AVX machine :) .
The comparison with nonAVX ver will be done after New Year holiday.
Dave, thank you very much one more time :)
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Daniel Carroll on January 01, 2019, 01:06:38 am
And another thanks to Dave. I tried the Phenom II version of Firefox. It fixed some problems and illuminated others. So I then updated Uniaud. Now I had very low sound on Youtube videos but they played, and at the right speed.

Turned out the front channels were being set to 0 volume. Added a command file to the startup folder with the line:

unimix -id1 -cnt0 -val24 -cnt1 -val24

You now have a happy camper. The only thing that doesn't work is the volume slider in Youtube. This is with eCS 2.2

Thanks again.
Title: Re: SeaMonkey 2.42.9 CPU spiking
Post by: Lars on January 01, 2019, 03:20:06 pm
https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.SandyBridge.zip (https://bitbucket.org/dryeo/dry-comm-esr31/downloads/firefox-45.9.0.en-US.os2.SandyBridge.zip)

It does work on AVX machine :) .
The comparison with nonAVX ver will be done after New Year holiday.
Dave, thank you very much one more time :)

Looking at the Intel spec:
"C5,"F9","6E" bytes are likely the beginning bytes of the "VMOVD" AVX instruction (either "C5" or "C4" start an AVX instruction in general)

So yes, that would be valid AVX code.

Lars