Welcome, Guest. Please login or register.

Author Topic: NetSurf OS3.x Issues  (Read 40987 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline chris

Re: NetSurf OS3.x Issues
« Reply #209 from previous page: February 25, 2016, 08:02:05 PM »
Quote from: apj;804648
Another example: Running ixemul version with ixemul_poolmem.library results with same slowdowns as clib2.


This is interesting.

I've just put up a test build, can somebody try it and see if the problems have gone away?
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline utri007

Re: NetSurf OS3.x Issues
« Reply #210 on: February 25, 2016, 09:36:23 PM »
It doesn't fix problem. It also makes it slower, amiga.org FrontPage 89 seconds, forums 248 seconds. After that timeout and AmiTCP is dead.
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline wawrzon

Re: NetSurf OS3.x Issues
« Reply #211 on: February 25, 2016, 10:18:36 PM »
that doesnt sound like a proper testing. first of all a number of factors need to be eliminated that may be related to other parts of the system, like network stack. how about storing some webpages locally on hd drive and trying to switch between them. does slowdown also occures? because it might be an amitcp bug, or a big in interaction with amitcp, but not particularly netsurf bug.

i still have an impression it is a memory allocation issue, and tha is what i would be obseving, but im a noob.
« Last Edit: February 25, 2016, 10:20:40 PM by wawrzon »
 

Offline chris

Re: NetSurf OS3.x Issues
« Reply #212 on: February 25, 2016, 11:01:00 PM »
I'd like to see more testing too. The TCP/IP issues could easily be causing slowness not related to this problem.

The memory allocation in this version is just using AllocMem - almost identical to libnix.

I'm not seeing the problem here but then I could never reproduce it consistently anyway.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline utri007

Re: NetSurf OS3.x Issues
« Reply #213 on: February 25, 2016, 11:25:48 PM »
OK I can't test this with 3 different Network stacks. Maybe I could rip some sites, so that I could test without TCP stack. I have already tested this with plain html pages, from CU Amiga cds, no slow down. By the  way, this site doesn't have slow down at all http://www.amigahistory.co.uk/ it is also plain html, no css etc.
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline wawrzon

Re: NetSurf OS3.x Issues
« Reply #214 on: February 25, 2016, 11:42:51 PM »
Quote from: utri007;804686
OK I can't test this with 3 different Network stacks. Maybe I could rip some sites, so that I could test without TCP stack. I have already tested this with plain html pages, from CU Amiga cds, no slow down. By the  way, this site doesn't have slow down at all http://www.amigahistory.co.uk/ it is also plain html, no css etc.


simply test with pages saved locally. complex or not.
we ae entering the territory where amiga software has been tested very little in praxis. huge files, frequents allocations, it might be and probably is, kernel libs implementation issue, more general tha just a browser. it might be also an issue when compiling on native 68k..
 

Offline dovi

  • Newbie
  • *
  • Join Date: Jan 2015
  • Posts: 3
    • Show only replies by dovi
Re: NetSurf OS3.x Issues
« Reply #215 on: February 26, 2016, 08:17:23 AM »
Hello guys. I am reading this thread with great interest but I was not able to post earlier as my account didnt allow that until recently.

I dont have Amiga but on Atari platform we have usable 68k binaries for several years now. As I read you have exactly the same probles as we have. At first web pages are rendered fast but later they renders slower until we get "Connection timeut" message and you have to restart NetSurf to be able to browse on. TCP/IP stack on Ataris doesnt hang. What I want to say it seems those problems arent platform specific but as I see it is common problem for most of the platform. Also seems that faster the computer is the problem is harder to spot. From descriptions I read on this forum I see this problem is even more critical on Amiga platform. To me it seems like memory alocation problems = handling the memory. But I am not a coder so my assumptions can be totaly wrong.

I dont know in which state your port of the browser is ... but you can compare it to the Atari 68k version from a year ago I shoot a short video of browsing with NetSrf on my FireBee:
https://www.youtube.com/watch?v=4q6t_Jerv7c

Good luck to your efforts bringing it to Amiga platform!
 

Offline utri007

Re: NetSurf OS3.x Issues
« Reply #216 on: February 26, 2016, 08:36:35 AM »
Do you know who is solving those problems? Maybe Chris could save some time to asking what he/she has found.

There are problems to log on to this site, some times it works, some times it doesn't.
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline chris

Re: NetSurf OS3.x Issues
« Reply #217 on: February 26, 2016, 02:12:29 PM »
Quote from: dovi;804702
Hello guys. I am reading this thread with great interest but I was not able to post earlier as my account didnt allow that until recently.

I dont have Amiga but on Atari platform we have usable 68k binaries for several years now. As I read you have exactly the same probles as we have. At first web pages are rendered fast but later they renders slower until we get "Connection timeut" message and you have to restart NetSurf to be able to browse on. TCP/IP stack on Ataris doesnt hang. What I want to say it seems those problems arent platform specific but as I see it is common problem for most of the platform. Also seems that faster the computer is the problem is harder to spot. From descriptions I read on this forum I see this problem is even more critical on Amiga platform. To me it seems like memory alocation problems = handling the memory. But I am not a coder so my assumptions can be totaly wrong.

Weird.

Mintlib doesn't apepar to do anything special wrt memory allocations.
https://github.com/ArmstrongJ/MiNTLib/blob/master/mintlib/malloc.c

The commonality between clib2 and the ixemul_poolmem that Artur mentioned is that both use memory pools.

My newer build uses plain memory allocation (AllocMem) and apparently still has the same problem.

I'm sceptical this is purely a memory alloc/dealloc issue unless it's a fundamental 68k problem.

Maybe people can try a few different CPU models to see if they all have the same problem?
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline wawrzon

Re: NetSurf OS3.x Issues
« Reply #218 on: February 26, 2016, 02:32:09 PM »
it may well be a fundamental 68k problem, or an exec issue. amiga and atari machines werent built with huge multiple megabytes binaries in mind, frequently allocating and deallocating small bits of memeory. i mean to have observed similar issues when for instance trying to compile something larger with cubic ide. with ixemul the problem likely has been masked by using its own linux memory allocation mechanism. on faster machines or uae the inefficiency might be masked by the pure computing power, or jit, even though os4, aros and morphos exec may differ from the genuine one in this respect.

some general profiling would be neccessary, based on a simple testcase, which may result in need to rewrite parts of the system itself to get rid of this bottleneck.
 

Offline chris

Re: NetSurf OS3.x Issues
« Reply #219 on: February 26, 2016, 03:15:18 PM »
Also: utri007, are you still running PoolMem?  If so, can you please re-test without it as that would counteract the change I made. (in fact really you shouldn't be running any patches *at all* when testing things)
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline utri007

Re: NetSurf OS3.x Issues
« Reply #220 on: February 26, 2016, 04:18:10 PM »
Poolmem has been removed from startup-sequence when we first talk abou it.
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline utri007

Re: NetSurf OS3.x Issues
« Reply #221 on: February 27, 2016, 12:11:48 AM »
Spend some time testing.

I started to configuring Roadshow.

Good news is that RoadShow doesn't die, even if Netsurf gives time out error. I can't still ping gw and mount a samba share. I could test longer period of time, so this was more meaning full than testing with Genesis/AmiTCP

My 040/AGA started to give time out errors earlier than my 060/RTG


About slow down effect. This version is slow as snail, but I could surf more with RoadShow than with AmiTCP. Memory allocator migh have a reason for slow down, downloading amiga.org forums/frontpage took about same amount of time every time. I this version renders page about 3x longer than prevoius version. So "normal" time to render amiga.org front page is about 90 seconds, forums renders about 140 seconds and I could test that about 6 times before I got time out error.

This version has some random weirdness. Suddenly it just started to display pictures with wrong colors. Opening own screen, like it would not read settings, no matter what put choises file or even if it is empty. Or what you have put to defaults??

AGA seems to be faster than RTG? Everything tooks about same amout of time wit 040 / AGA than 060 /RTG

Difficult to trying explain this english. Hope you understand.
« Last Edit: February 27, 2016, 12:22:48 AM by utri007 »
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline chris

Re: NetSurf OS3.x Issues
« Reply #222 on: February 27, 2016, 11:33:44 AM »
Quote from: utri007;804737
About slow down effect. This version is slow as snail, but I could surf more with RoadShow than with AmiTCP. Memory allocator migh have a reason for slow down, downloading amiga.org forums/frontpage took about same amount of time every time. I this version renders page about 3x longer than prevoius version. So "normal" time to render amiga.org front page is about 90 seconds, forums renders about 140 seconds and I could test that about 6 times before I got time out error.


OK, this is more like I would expect - everything running consistently at a slower speed.

I know exactly what is causing the slowdown now.  clib2 uses memory pools with a puddle size and expected allocation size of 4K.  I modified that in the newer build to use normal memory allocations instead.

What is happening, is that early memory allocations are fast and efficiently allocated in 4K chunks.  Then, when bits of memory is de-allocated it leaves holes.  When new memory blocks are allocated it - and this is where I'm not sure of the implementation details in the OS - is trying to fill in the gaps in the already-allocated pools?  With a lot of pools it may be taking some time to search through and find a gap of the correct size, which is similar to how normal memory allocations work when searching through all of RAM (and thus a similar speed).

Quite simply, we are allocating and de-allocating so much memory that we quickly lose any advantage of memory pools.

To fix it... well, that's tricky.  The correct way would be to pool together elements of the same size to avoid fragmentation, but I can't do that in the core and all libraries without re-writing all the memory allocations (which would definitely not be popular).  Note I already do this in the frontend everywhere it is practical (this was one of my earlier OS3 optimisation attempts!)

It may simply be a case of making the memory pools bigger, and I will try that first.

Quote

This version has some random weirdness. Suddenly it just started to display pictures with wrong colors. Opening own screen, like it would not read settings, no matter what put choises file or even if it is empty. Or what you have put to defaults??


The default is to open on its own screen.
use_screen:Workbench will open it on the Workbench screen, or play around with the unnamed radio buttons on the Display tab in prefs until the two fields are ghosted.

Quote

AGA seems to be faster than RTG? Everything tooks about same amout of time wit 040 / AGA than 060 /RTG


I don't do anything special for RTG so it is unlikely to be faster.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline chris

Re: NetSurf OS3.x Issues
« Reply #223 on: February 27, 2016, 01:37:08 PM »
OK, try the new build.

I'm interested in whether it is any faster, whether any slowdown occurs (and if so, how soon and how much), and whether it uses more memory.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline utri007

Re: NetSurf OS3.x Issues
« Reply #224 on: February 27, 2016, 02:04:04 PM »
I'll spend this evening with beer and friends, so tomorrow evening is next test time for me.
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD