Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Lars

Pages: 1 2 [3] 4 5 ... 85
31
Applications / Re: ArcaOS 5.1 - First Impressions
« on: January 03, 2024, 12:15:37 pm »
Hello, by turning on Hyper-Threading on my T14s (1st gen) I had experienced with ArcaOS 5.1 (UEFI).
1) I see 8 processors now the CPU meter widget.
2) Sudden computer/desktop freeze, mouse keep working, clock stops and no Ctrl+Alt+Del works.  I can not tell exactly when it happens, sometimes is like 4 minutes before reboot and sometime 10 minutes. I had three freeze for what I had used the T14s today. Usually when I run Firefox for a while.
3) Sometimes boot fails and freezes on the ArcaOS 5.1 logo.

In my case I prefer to turn off Hyper-Threading for the moment.

Regards

It's not only hyperthreading that is causing the problem. I have the same problem as you do but on my AMD system I had enabled "only one core per unit" which basically amounts to turning "hyperthreading" off.
What I discovered recently is that especially the WPS is prone to lockups of all sorts.

You can easily test for yourself: open TOP and look at how many threads the second instance of PMSHELL is running. Then, open a folder with many files and hit F5 ("Refresh") rapidly multiple times. Then switch over to TOP and have a look at how many threads have piled up for the second instance of PMSHELL.EXE.

That means, that somehow hitting "Refresh" always schedules a new thread for doing the refresh asynchronously in the background. I initially suspected it had something to do with XWorkplace so I disabled a couple of folder functions like "Turbo Folder" and "automatic refresh of folders" but it did not make a bit of a difference.
The refresh mechanism is obviously flawed by design as it will allow another triggering of refresh while a refresh is currently ongoing plus it schedules a new thread while it could continue to use the one that is already in existence. All these threads then seemingly block each other and on my system it can take up to a couple of minutes until they finally unravel (or the WPS hanging for good). All this refresh activity will not become a problem unless you decide to copy/delete or move files while all that refresh is going on. If you attempt to do that, the WPS will hang for the aforementioned number of minutes.

Finally "SMP" on OS/2 is not really "SMP" (any more). It used to be "SMP" with OS/2 2.1 SMP but then it was decided to route all interrupt activity to only CPU0 so that device drivers written for single core sytems would still continue to work (which by the way is also not always true if, for example, you are using context hooks). That clearly is a bottleneck because for example, you cannot use Intels capabilities to route an interrupt to the core that has least recently been used (load balancing in HW). I would not call that "SMP". "SMP" means that all processor cores are alike and that all cores perform the same activities (why do you think Intel has foreseen to route an interrupt to any of the existing cores ?).

What this all leads to is that the WPS is actually performing better if you have less CPU cores and not more.

32
Applications / Re: ArcaOS 5.1 - First Impressions
« on: January 02, 2024, 06:16:19 pm »
Hi All

I have yet to discover how to turn off Hyper Threading with my MSI B450PRO mainboard / AMD Ryzen5 cpu - 6 cores but 12 "processors" reported by system POST.

Possibly I need to run Windows, install some AMD cpu control software...

Anyway, since installing 5.1.0 a few months back (early September) the only system freezes I get are when using Dooble (QT5) and that, from what I can gather in other discussions about Dooble, is likely caused by the qt code - and Dooble behaves exactly the same on an AMD FX4300 based system which most definitely does not have hyper threading.


My conclusion: AMD and Intel Hyper Threading seem to differ slightly and it could be worth trying Hyper Threading on AMD cpu based systems.


Regards

Pete

On AMD, you turn off "Hyperthreading" ( or the equivalent thereof) by selecting "only one core per package". At least that's how it shows up on my old Bulldozer based system.

33
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 29, 2023, 03:16:17 pm »
Ok, then it seems that either modern Video devices no longer have a VGA compatible register set or that I somehow would have to enable the VGA part but I would not know how to do that.

34
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 28, 2023, 01:53:39 pm »
Hm, your PCI exe output lists a "VGA device".
Can you try the attached ? There is an issue: a VGA compatible color device should have its register block be located at 0x3Dy and a mono device at 0x3By but it looks like many devices have their register block located at 0x3By even if they are color devices.

I have now hardcoded the register block at 0x3By in VSYNC.SYS. Can you try if that makes a difference ?

35
Programming / Re: Where to find Toolkit2.0 - SOM compiler .sc files....
« on: December 28, 2023, 12:49:49 pm »
Oops, I declared the wrong metaclass for the class. Find the fixed wpstest.idl attached.

36
Programming / Re: Where to find Toolkit2.0 - SOM compiler .sc files....
« on: December 27, 2023, 09:51:33 am »
Find attached an .IDL replacement file that should substitute the wptest.CSC file.

37
Programming / Re: Where to find Toolkit2.0 - SOM compiler .sc files....
« on: December 24, 2023, 02:32:28 pm »
If that does not work: tell me where I can find that CSC file and I convert it for you from yesteryear to present time.

38
Programming / Re: Where to find Toolkit2.0 - SOM compiler .sc files....
« on: December 24, 2023, 02:18:51 pm »
I've toolkit 2.1 and probably all newer ones. Even Watcom10.6 includes some .sc files. But the project I'm working on seems to need Toolkit v2.0.

I've no clue about SOM and classes and.... but there is one .csc file in my project which constantly bothers me. There should be a way to convert this .sc file to the newer .idl form. ctoi.cmd which is included in os2tk45. But it complains about a file in toolkit21
Code: [Select]
{0}[e:\_work\pmprintf\trunk] ctoi WPSTEST.CSC
WPSTEST.CSC:
"wpobject.sc", line 440: error: Override method "somInitClass" not in base class.
"wpobject.sc", line 444: error: Override method "somNew" not in base class.
"wpobject.sc", line 448: error: Override method "somRenew" not in base class.
Number of errors: 3
error in converting WPSTEST.CSC

So I think I need toolkit20. Where can I find it? Any other ideas? Maybe I try to disable all these SOM things in pmprintf cause I guess nobody will ever use pmprintf with som classes anymore anyhow.

Why would you bother? The SOM compiler of the os2tk45 is able to generate source/header files from the old style CSC files. There is a command line switch for it.

39
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 17, 2023, 09:48:32 am »
That would mean that there is no HW that would offer the legacy VGA register set.
Can you provide PCI.EXE output for that system?
The driver checks for a VGA device on the PCI bus and should fail to load if it does not find any.

40
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 16, 2023, 08:26:01 pm »
Here it is.

41
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 15, 2023, 08:08:29 am »
I have now created a release on github.com/lerdmann/vsync/releases.

42
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 12, 2023, 11:23:10 pm »
Yes, of course. I have built it, I just need to upload to GitHub...

43
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 12, 2023, 06:09:31 pm »
I had written a device driver to sync on the VGA sync signal:
https://github.com/lerdmann/vsync

And here, it has already been discussed:
https://github.com/bitwiseworks/mozilla-os2/issues/220

It reads the VSYNC sync bit from some VGA register and blocks on it to toggle (waits for the beam to return from bottom right to top left, so to say). It is somewhat system friendly in that it will yield the CPU if the yielding flag indicates that there is some other thread waiting to be continued.

1) I have no clue if every graphics card still contains the original VGA register set
2) I have no clue how and where to integrate this into Firefox

If someone could either point me to the place in Firefox where to add this or if someone could build Firefox (of which I also have no clue) then maybe it would be worth giving it a try.

Lars

Hi Lars, finally got Firefox building again, moved computers and had to restore environment and fix the tree.
Pushed the latest to https://github.com/dryeo/mozilla-aos branch esr45.9.
The vsync stuff is scattered around thebes, such as https://github.com/dryeo/mozilla-aos/blob/esr45.9/gfx/thebes/VsyncSource.cpp. The Windows implementation might be a good start, https://github.com/dryeo/mozilla-aos/blob/esr45.9/gfx/thebes/gfxWindowsPlatform.cpp#L2733

Whether using the VGA registers will work is a good question. I doubt it on a UEFI install, I haven't had any luck accessing the registers there, and it is loaded at a weird address. Might be possible to get info from Arca Noae how to access it in their VGA BIOS.
Might work on a legacy install.  The screensaver has a fall back of directly manipulating the VGA registers to put the monitor to sleep (set VSYNC/HSYNC to zero), which doesn't seem to work on recent hardware.

The driver does not use the VGA BIOS in any way. It directly accesses the legacy VGA registers.
In PCI config space, it looks for a VGA compatible device when it loads and if it cannot find one, it outputs an error message and aborts. Maybe that is the way to test ...

44
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 08, 2023, 08:05:52 am »
I had written a device driver to sync on the VGA sync signal:
https://github.com/lerdmann/vsync

And here, it has already been discussed:
https://github.com/bitwiseworks/mozilla-os2/issues/220

It reads the VSYNC sync bit from some VGA register and blocks on it to toggle (waits for the beam to return from bottom right to top left, so to say). It is somewhat system friendly in that it will yield the CPU if the yielding flag indicates that there is some other thread waiting to be continued.

1) I have no clue if every graphics card still contains the original VGA register set
2) I have no clue how and where to integrate this into Firefox

If someone could either point me to the place in Firefox where to add this or if someone could build Firefox (of which I also have no clue) then maybe it would be worth giving it a try.

Lars

45
Utilities / Re: touch?
« on: November 26, 2023, 11:44:30 pm »
echo. >newfile.txt

Pages: 1 2 [3] 4 5 ... 85