05 January 2019, 16:44 | #1 |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
3.1.4 SetPatch is very slow
Hi,
Recently installed AmigaOS 3.1.4 (with physical ROMs) on my A1200 with Blizzard1260+SCSIkit (060@50MHz, 144MB RAM, MapROM enabled). I noticed that there was a quite significant pause at the beginning of booting, but assumed it was caused by CardReset. However, when booting without Startup-Sequence later and executing commands manually, I realized that the pause came from executing SetPatch the first time. Using http://uhc.driar.se/time for the time measurements, but any similar command will do. Here I have removed 68060.library to not have it affect the time: Code:
2.Ram Disk:> version FULL Kickstart 46.143, Workbench 45.194 (23-Sep-18) 2.Ram Disk:> version FULL 68060.library object not found 2.Ram Disk:> SYS:UHC/C/time C:SetPatch AMIGA ROM Operating System and Libraries Copyright © 2018 Hyperion Entertainment CVBA. Developed under license. SetPatch (V45.15) has been installed. Patch list: Enabled Advanced Graphics Modes ExAll replacement stack size check for CON:, RAW:, RAM:, PAR:, PRT:, SER: scsi.device LED 3.355033s 2.Ram Disk:> The same test on 3.1 (softkicked on the same machine with BlizKick): Code:
2.Ram Disk:> version FULL Kickstart 40.68, Workbench 40.42 (18-Feb-94) 2.Ram Disk:> version FULL 68060.library object not found 2.Ram Disk:> SYS:UHC/C/time C:SetPatch Amiga Operating System Copyright © 1985-1993 Commodore-Amiga, Inc. All Rights Reserved. SetPatch (V40.16) has been installed. Patch list: Enabled Advanced Graphics Modes graphics/WriteChunkyPixel() patched Memory Pools Enabled data cache 0.132577s 2.Ram Disk:> Further testing showed that which 68060.library you choose also makes a big difference in execution time. Here with the Phase5 library supplied with the Blizzard1260: Code:
2.Ram Disk:> version FULL Kickstart 46.143, Workbench 45.194 (23-Sep-18) 2.Ram Disk:> version FULL 68060.library 68060.library 46.7 (19-Oct-99) © 1994-1999 by Phase5, written by Ralph Schmidt 2.Ram Disk:> SYS:UHC/C/time C:SetPatch AMIGA ROM Operating System and Libraries Copyright © 2018 Hyperion Entertainment CVBA. Developed under license. SetPatch (V45.15) has been installed. Patch list: 68060 Support Code Loaded Enabled Advanced Graphics Modes ExAll replacement stack size check for CON:, RAW:, RAM:, PAR:, PRT:, SER: scsi.device LED Enabled data cache 3.557432s 2.Ram Disk:> With the MMU.lib 68060.library: Code:
2.Ram Disk:> version FULL Kickstart 46.143, Workbench 45.194 (23-Sep-18) 2.Ram Disk:> version FULL 68060.library 68060.library 46.4 (30-May-18) (c) 1999-2018 The MMU.lib development group, THOR 2.Ram Disk:> SYS:UHC/C/time C:SetPatch AMIGA ROM Operating System and Libraries Copyright © 2018 Hyperion Entertainment CVBA. Developed under license. SetPatch (V45.15) has been installed. Patch list: 68060 Support Code Loaded Enabled Advanced Graphics Modes ExAll replacement stack size check for CON:, RAW:, RAM:, PAR:, PRT:, SER: scsi.device LED Enabled data cache 6.527640s It is not isolated to the configuration of my machine - I asked a friend running AmigaOS 3.1.4 on a Blizzard1230 to time SetPatch after booting without Startup-Sequence. His result was 3.64s. |
09 January 2019, 21:00 | #2 |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
Anyone else with this issue?
|
10 January 2019, 03:51 | #3 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
Hi patrik,
First you should not run CardReset, as its functionality is already covered by the 3.1.4 update. Now, back to the topic: I cannot verify the correctness of your statement or results since I unfortunately havent got that hardware. Also I cannot vouche for the accuracy of the program you use, but for the sake of the argument you presented lets say there are no other issues and that the numbers are factual results, let me summarise my thoughts about the subject: I took a quick look at the source code of both versions of SetPatch, and v40.16 in AmigaOS 3.1 has a rather small database of patches that it applies. Not only that, but its patching job is done in several ocassions in a brute force manner, without taking all the necessary precautions and checks to make sure it is not damaging the OS nor its enviroment. On the other hand, SetPatch 45.15 in AmigaOS 3.1.4 has a much bigger patch database, and its job is done in a more safe fashion and trying to play nice with the Operating System. Not only that, but many patching jobs are time and/or resource availability dependant, and this of course means, SetPatch will spend more time doing its thing. To use a timed benchmark to measure the efficiency/performance of different versions of a program is extremely unfair, unless you know exactly (up to the tiny detail) what both program versions are actually doing. Bottomline: more work usually requires more time. In relation to cpu libraries. The story is still more or less the same. Things may appear ok, if you use an old 68060.library, but there are many cpu bugs which were never covered by them. We are talking literally decades ago. And also pin pointing a specific program crash to a cpu bug is not an easy task. Many users tend to blame other factors (capacitors, board stability, software issues, etc) rather than a single small software component such as a cpu library not doing its job. Even that said, as we speak, I believe there is a new 68060 bug just uncovered that is being isolated, and ThoR is trying to see how to deal with it within his MMULibs. I would say if you can, allways go for the still supported option (MMULibs). |
10 January 2019, 09:20 | #4 |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 266
|
|
10 January 2019, 21:29 | #5 | |||
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
Quote:
Quote:
It is a rather simple time measuring program using timer.device, see source if more details are required. Example test runs: Code:
9.Ram Disk:> SYS:UHC/C/time echo test test 0.056383s 9.Ram Disk:> SYS:UHC/C/time wait 1 1.060052s 9.Ram Disk:> SYS:UHC/C/time wait 3 3.090985s 9.Ram Disk:> SYS:UHC/C/time wait 10 10.164959s Quote:
To give another test sample, I tried this on a yet again much slower machine - an A1200 just with a HD: Code:
2.Ram Disk:> SYS:Tools/ShowConfig PROCESSOR: CPU 68020 CUSTOM CHIPS: AA PAL Alice (id=$0023), AA Lisa (id=$00F8) VERS: Kickstart version 46.143, Exec version 46.45, Disk version 45.194 RAM: Node type $A, Attributes $703 (CHIP), at $4000-$1FFFFF (~2.0 meg) BOARDS: None 2.Ram Disk:> SYS:UHC/C/time C:SetPatch AMIGA ROM Operating System and Libraries Copyright © 2018 Hyperion Entertainment CVBA. Developed under license. SetPatch (V45.15) has been installed. Patch list: Enabled Advanced Graphics Modes ExAll replacement stack size check for CON:, RAW:, RAM:, PAR:, PRT:, SER: scsi.device LED 3.618336s 2.Ram Disk:> I cannot see that the actual work is a big part of the execution time if a 14MHz 020 chipmem-system only needs ~8% longer time to complete than a 50MHz 060 fastmem-system. |
|||
12 January 2019, 05:25 | #6 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
Could you indulge me? Please test SetPatch 44.38 (3.9 BB2) with the NOROMUPDATE argument with the same hardware config as before, using that timed benchmark. I am curious to see the result.
Anyway, as said before most SetPatch tests are not cpu bound, so results are expected to be quite similar. Regarding the CardReset issue you both mentioned, I will dig into sources as there were various fixes applied there in 3.1.4 and then report back. BTW, are you both softkicking or using a physical 3.1.4 rom? Is it modded? Thanks. Last edited by gulliver; 12 January 2019 at 06:27. Reason: typo |
12 January 2019, 13:02 | #7 |
Registered User
Join Date: Jun 2015
Location: Umeå / Sweden
Posts: 266
|
I'm softkicking using Blizkick, on an Amiga 1200 with a Blizzard 1230-IV. Nothing happens if I don't use CardReset, and I can see the LED's on the card light up directly when I run it.
|
12 January 2019, 13:12 | #8 | |||
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
Quote:
The A1200 with Blizzard1260 has a physical 3.1.4 ROM. Do you want to run SetPatch 44.38 with the 3.1.4 kickstart or a 3.1 kickstart and if choosing 3.1, is it enough to BlizKick it so it is available via the maprom on the Blizzard (the hardware 3.1.4 is of course also maprom:ed by default)? Regarding the 3.9 SetPatch, it does some additional stuff, like for example scans a long list of devices for potential NSD patching, optionally patches them and mounts FFS partitions after the scan. Maybe a fair comparison would include the NONSD argument. I dont have 3.9 on that A1200 right now, but I can give you a preview of what to expect by timing it on an A4000 which has 3.9 and a CSPPC 060@50Mhz. The 3.9 SetPatch produces many lines of output (about two screens worth), so I am using the QUIET argument to not just measure scrolling time, which is many times slower with the CSPPC-patched early-boot-graphics. Without 68060.library: Code:
2.Ram Disk:> SYS:Tools/ShowConfig PROCESSOR: CPU 68060/68060mmu CUSTOM CHIPS: AA PAL Alice (id=$0023), AA Lisa (id=$00F8) VERS: Kickstart version 40.68, Exec version 40.10, Disk version 45.3 RAM: Node type $A, Attributes $505 (FAST), at $8000000-$FEFFFFF (127.0 meg) Node type $A, Attributes $703 (CHIP), at $1000-$1FFFFF (~2.0 meg) BOARDS: Board (Village Tronic): Prod=2167/201($877/$C9) (@$E90000 64K) Board + ROM (HD?) (phase 5): Prod=8512/100($2140/$64) (@$F01060 128K) 2.Ram Disk:> version FULL 68060.library object not found 2.Ram Disk:> version C:SetPatch FULL setpatch 44.38 (08-Mar-02) 2.Ram Disk:> SYS:UHC/C/time C:SetPatch NOROMUPDATE QUIET 1.325417s Code:
2.Ram Disk:> SYS:Tools/ShowConfig PROCESSOR: CPU 68060/68060mmu CUSTOM CHIPS: AA PAL Alice (id=$0023), AA Lisa (id=$00F8) VERS: Kickstart version 40.68, Exec version 40.10, Disk version 45.3 RAM: Node type $A, Attributes $505 (FAST), at $8000000-$FEFFFFF (127.0 meg) Node type $A, Attributes $703 (CHIP), at $1000-$1FFFFF (~2.0 meg) BOARDS: Board (Village Tronic): Prod=2167/201($877/$C9) (@$E90000 64K) Board + ROM (HD?) (phase 5): Prod=8512/100($2140/$64) (@$F01060 128K) 2.Ram Disk:> version FULL 68060.library 68060.library 46.7 (19-Oct-99) © 1994-1999 by Phase5, written by Ralph Schmidt 2.Ram Disk:> version C:SetPatch FULL setpatch 44.38 (08-Mar-02) 2.Ram Disk:> SYS:UHC/C/time C:SetPatch NOROMUPDATE QUIET 0.781386s I also wanted to test without the NSD patching as the 3.1.4 SetPatch doesn't do that as far as I know. Also on this system, cybppc.device is NSD patched and one FFS partition is mounted during the SetPatch NSD operations: Code:
2.Ram Disk:> SYS:Tools/ShowConfig PROCESSOR: CPU 68060/68060mmu CUSTOM CHIPS: AA PAL Alice (id=$0023), AA Lisa (id=$00F8) VERS: Kickstart version 45.57, Exec version 45.20, Disk version 45.3 RAM: Node type $A, Attributes $505 (FAST), at $8000000-$FEFFFFF (127.0 meg) Node type $A, Attributes $703 (CHIP), at $4000-$1FFFFF (~2.0 meg) BOARDS: Board (Village Tronic): Prod=2167/201($877/$C9) (@$E90000 64K) Board + ROM (HD?) (phase 5): Prod=8512/100($2140/$64) (@$F01060 128K) 2.Ram Disk:> version 68060.library FULL 68060.library 46.7 (19-Oct-99) © 1994-1999 by Phase5, written by Ralph Schmidt 2.Ram Disk:> version C:SetPatch FULL setpatch 44.38 (08-Mar-02) 2.Ram Disk:> SYS:UHC/time C:SetPatch NOROMUPDATE NONSD QUIET SYS:UHC/time: Unknown command 2.Ram Disk:> SYS:UHC/C/time C:SetPatch NOROMUPDATE NONSD QUIET 0.219866s Quote:
Quote:
I can also test if the 3.1.4-builtin-CardReset works on the stock A1200 I installed 3.1.4 on for this test. Both the A1200s I tested on has physical standard 3.1.4 ROMs. Last edited by patrik; 12 January 2019 at 17:23. Reason: Mention that the ROMs are standard and no HD activity |
|||
12 January 2019, 18:56 | #9 |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
|
12 January 2019, 19:35 | #10 |
Registered User
Join Date: Oct 2017
Location: Amsterdam
Posts: 231
|
|
12 January 2019, 20:19 | #11 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
Hi again,
Took a look at the source code, and yes, I was wrong and you were right: ThoR fixed card.resource CardForceChange() bug where interrupts were "forgotten" to be re-enabled. And then other PCMCIA bugs not related to this specific subject. Could you all please post the CardReset parameters you all use? Thanks again. @patrik Thank you for your willingness to test. The idea is that you compare on the same machine all 3 versions of SetPatch (40.16, 44.38, and 45.15) all of them with the QUIET argument. And yes, please add NOROMUPDATE NONSD to SetPatch 44.38 (besides QUIET). Then just simply let us know what the testing hardware was, including rom version and if it did softkick. Thank you! |
12 January 2019, 20:33 | #12 |
Registered User
Join Date: Oct 2017
Location: Amsterdam
Posts: 231
|
|
12 January 2019, 23:03 | #13 |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
|
13 January 2019, 16:31 | #14 | |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
Quote:
All tests are done after booting without Startup-Sequence and running ConClip and NewShell to be able to copy-paste the course of actions. 3.1 (3.1 ROM is "softkicked" with BlizKick/maprom): Code:
2.Ram Disk:> SYS:Tools/ShowConfig PROCESSOR: CPU 68040 CUSTOM CHIPS: AA PAL Alice (id=$0023), AA Lisa (id=$00F8) VERS: Kickstart version 40.68, Exec version 40.10, Disk version 40.42 RAM: Node type $A, Attributes $5 (FAST), at $60000000-$68F7FFFF (143.5 meg) Node type $A, Attributes $703 (CHIP), at $1000-$1FFFFF (~2.0 meg) BOARDS: Board + ROM (HD?) (unidentified): Prod=8512/17($2140/$11) (@$EA0000 128K) 2.Ram Disk:> version 68060.library FULL 68060.library 46.7 (19-Oct-99) © 1994-1999 by Phase5, written by Ralph Schmidt 2.Ram Disk:> version C:SetPatch FULL setpatch 40.16 (14-Feb-94) 2.Ram Disk:> SYS:UHC/C/time C:SetPatch QUIET 0.257825s 2.Ram Disk:> Code:
2.Ram Disk:> SYS:Tools/ShowConfig PROCESSOR: CPU 68060/68060mmu CUSTOM CHIPS: AA PAL Alice (id=$0023), AA Lisa (id=$00F8) VERS: Kickstart version 40.68, Exec version 40.10, Disk version 45.3 RAM: Node type $A, Attributes $5 (FAST), at $60000000-$68F7FFFF (143.5 meg) Node type $A, Attributes $703 (CHIP), at $1000-$1FFFFF (~2.0 meg) BOARDS: Board + ROM (HD?) (phase 5): Prod=8512/17($2140/$11) (@$EA0000 128K) 2.Ram Disk:> version 68060.library FULL 68060.library 46.7 (19-Oct-99) © 1994-1999 by Phase5, written by Ralph Schmidt 2.Ram Disk:> version C:SetPatch FULL setpatch 44.38 (08-Mar-02) 2.Ram Disk:> SYS:UHC/C/time C:SetPatch NOROMUPDATE NONSD QUIET 0.257864s 2.Ram Disk:> Code:
2.Ram Disk:> SYS:Tools/ShowConfig PROCESSOR: CPU 68040 CUSTOM CHIPS: AA PAL Alice (id=$0023), AA Lisa (id=$00F8) VERS: Kickstart version 46.143, Exec version 46.45, Disk version 45.194 RAM: Node type $A, Attributes $5 (FAST), at $60000000-$68F7FFFF (143.5 meg) Node type $A, Attributes $703 (CHIP), at $4000-$1FFFFF (~2.0 meg) BOARDS: Board + ROM (HD?) (unidentified): Prod=8512/17($2140/$11) (@$EA0000 128K) 2.Ram Disk:> version 68060.library FULL 68060.library 46.7 (19-Oct-99) © 1994-1999 by Phase5, written by Ralph Schmidt 2.Ram Disk:> version C:SetPatch FULL SetPatch 45.15 (11-May-18) 2.Ram Disk:> SYS:UHC/C/time C:SetPatch QUIET 3.419483s 2.Ram Disk:> Last edited by patrik; 13 January 2019 at 18:43. Reason: Corrected version in descriptions |
|
13 January 2019, 18:48 | #15 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
Back to PCMCIA and CardReset:
Do you all only exclusively use network cards with CardReset? Is it required for other type of cards? Does it conflict with other non network cards? Thanks @patrik We are now looking into this SetPatch matter more in depth, thanks to your tests. I filled an official bug report, lets see what Thomas, Olaf and others say about this. I will report back with any findings. Thanks again. |
13 January 2019, 20:45 | #16 |
Registered User
Join Date: Oct 2017
Location: Amsterdam
Posts: 231
|
|
13 January 2019, 20:49 | #17 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
|
13 January 2019, 23:01 | #18 | |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
Quote:
On the A600 this reset functionality works, so CardReset has never been needed there. It is supposed to work on the A1200 too, but from what I read it doesn't because of some hardware error in the A1200. Something amiss in the A1200 Gayle perhaps? Given that, I have no idea how CardReset manages to actually reset the PCMCIA card but I would think it is supposed to happen every time the A1200 is reset, early, before anything attempts to use the card. |
|
14 January 2019, 02:32 | #19 |
BoingBagged
Join Date: Aug 2007
Location: The South of nowhere
Age: 46
Posts: 2,358
|
We see it like this:
If we deliver a fix/patch in the OS, that mimics CardReset behaviour we must be careful enough no to introduce unwanted side effects, which means we require many testers with plenty of pcmcia cards and motherboard revisions, including the more esoteric pcmcia cards which are extremely hard to find. It is a rather complex matter to approach from a development point of view. It is a risky endeavour to build something to address a hardware issue without a sufficient testing pool to ensure it is safe enough for everyone under every condition. Anyway, the bug report will remain open in our database despite being a hardware issue. In the meantime, if you can, try to obtain those hardware fixes some dealers offer, and only use the CardReset patch if you only use a network card and dont have the funds/willingness to fix the hardware. |
14 January 2019, 08:48 | #20 |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 43
Posts: 927
|
The most critical hardware to test would be bootable units specifically made for the Amiga, like the Archos Overdrive.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
SetPatch / CacheControl() | dissident | Coders. System | 17 | 04 March 2018 17:01 |
Setpatch 3.9 Romupdate Yes or No ? | Nibbler | support.Hardware | 0 | 06 February 2015 22:31 |
setpatch option | andreas | request.UAE Wishlist | 4 | 13 August 2008 16:21 |
SetPatch: Unloading possible? | mrleeman | support.Apps | 1 | 21 July 2008 10:06 |
where can i find setpatch 44.38 | turrican3 | request.Apps | 5 | 07 May 2007 19:46 |
|
|