WebSite Information > Article Discussions
OS/2 - ArcaOS 64Bits Kernel Discussion
Dave Yeo:
Is it just me, but I find the ramdisk to be pretty slow, barely faster then my USB2 disk. Disk 4 is the Ramdisk and disk 5 is the USB3 on USB2 HD.
--- Code: ---Hard disk 4: 255 sides, 1138 cylinders, 63 sectors per track = 8926 MB
Drive cache/bus transfer rate: 26649 k/sec
Data transfer rate on cylinder 0 : 23463 k/sec
Data transfer rate on cylinder 1136: 20314 k/sec
CPU usage by full speed disk transfers: 11%
Average data access time: Disk read error.
Multithreaded disk I/O (4 threads): 22193 k/sec, 12% CPU usage
Hard disk 5: 255 sides, 60085 cylinders, 255 sectors per track = 1907728 MB
Drive cache/bus transfer rate: 25500 k/sec
Data transfer rate on cylinder 0 : 21492 k/sec
Data transfer rate on cylinder 60083: 21287 k/sec
CPU usage by full speed disk transfers: 1%
Average data access time: 20.4 ms
Multithreaded disk I/O (4 threads): 21347 k/sec, 2% CPU usage
--- End code ---
I had the impression that the PAE disk interface is actually implemented as a char device rather then a block device.
OS4User:
Just to clarify few things.
Almost all user and system code operates with virtual memory only.
Processor in a 32 bit system can map physical memory into the virtual memory (paging) in 3 ways:
- "32-bit" 32 bit phys address (4Gb max address)
- PAE 64 bit phys address
- PSE36 36 bit phys address (64Gb max address)
OS/2 kernel uses "32-bit" paging thus can address 4Gb of phys mem only. To use other paging mode it is nessasery to rewrite at least component Pager in the kernel and almost all drivers (some of them expect that phys address can be 32bit only).
To rewrite Pager is a really huge job. I'm quite skeptical that it is possible on enthusiasm only.
Doug Bissett:
--- Quote ---Doug, just try to understand what Lars wrote.
--- End quote ---
What Lars wrote is probably correct, but that doesn't mean that it can't be changed, if somebody tries. Before QSINIT was created, most people were saying "it can't be done". It was done. now get over it,and try to improve it.
--- Quote ---Is it just me, but I find the ramdisk to be pretty slow, barely faster then my USB2 disk. Disk 4 is the Ramdisk and disk 5 is the USB3 on USB2 HD.
--- End quote ---
I find that it depends on what file system you use. FAT16 is far faster than any of the other options (but has other limits, that make it not suitable). FAT32, is the slowest, but FAT32 is always slow, even in windows (and it has other limits, that make it not suitable). I usually use HPFS, and try to turn off as much of the cache, and lazy write, options as I can. It would probably be much better if the cache could be totally eliminated (why cache something that is going to memory anyway? It is just unnecessary overhead). I have used JFS on the RAMDISK, but then it must use the JFS cache, which actually slows it down, and you need the cache for other disks, so you can't just turn it off.
--- Quote ---To rewrite Pager is a really huge job. I'm quite skeptical that it is possible on enthusiasm only.
--- End quote ---
Who said anything about "Pager"? Pager is hardly ever used, when the system has more than 2 GB of real memory. That can also be put on the RAMDISK (using HPFS), but if you have 3.5 GB of real memory, available to OS/2, Pager will never be used anyway. What we need, is to offload the shared memory stuff, somehow. Private memory could also use it, if there is an access method (perhaps that would be easier).
OS4User:
--- Quote from: Doug Bissett on December 13, 2020, 04:29:53 am ---
--- Quote ---To rewrite Pager is a really huge job. I'm quite skeptical that it is possible on enthusiasm only.
--- End quote ---
Who said anything about "Pager"? Pager is hardly ever used, when the system has more than 2 GB of real memory.
--- End quote ---
Pager is always in use. You must have confused it with another sub component of Virtual Memory Manager (VMM) - Swap Manager.
Pager is a low level sub component of VMM, which is responsible for mapping (translation virtual address into phys address and similar op).
Lars:
OS/4 user explained it very well.
Maybe I should have done that in the first place...
Yes, generic use of memory (without any application doing special things) above phys 4GB can be done in a 32-bit (logical address space) OS: if you completely rewrite OS/2's memory management as it exists today. And then to update all drivers and other kernel add-ons that insist on believing a physical address is limited to 32 bits.
About current performance of RAM DISK:
I'd have to look at the API again but I think it allows to copy data sectors to/from "normal" (user and system) memory spaces.
Anyone remember XMS (that kludge used by DOS) that allowed to copy to/from below 1 MB physical (real mode) address space from/to high memory (reachable only in protected mode)?
It means an additional memcopy of each and every data sector you touch. This is necessary because PAE is not in general use in the existing memory management.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version