Re: [Freedos-user] IDE <-> CF adapters

2020-12-26 Thread Jon Brase


Dec 27, 2020 12:05:46 AM Frantisek Rysanek :

> On 26 Dec 2020 at 22:40, Jon Brase wrote:
>>

> 40 MB of RAM in Windows95 - that's something I once had in a Pentium
> 75 MHz :-)

Possibly the same model of machine, given that both RAM and CPU match, and 40 
MiB is a rather idiosyncratic amount of RAM (add opposed to a power of two). 
Mine's an AST, forget the exact model number and can't check right now.


>
> Linux on 40 MB of RAM... there was a time this was perfectly okay,
> including a GUI. I believe something like RedHat 6.2 or Debian 3-4
> would fly on that setup.

Currently it's running Debian 4, with a repository mirror served from my main 
desktop.

I've run the numbers, and 6 should be able to run too, but it's actually the 
installer that constrains things. Debian 6 doesn't have drivers for older PATA 
stacks in the initrd for the install medium, and needs more memory than 40 MiB 
before it gets to the point in the installer where it can load additional 
drivers, so it can't mount swap early enough and fails to install. Debian 4 is 
able to recognize the HDD from the get-go, and can thus use swap to get around 
memory limitations. I think an in-place upgrade 4 -> 5 -> 6 should let me get 
Debian 6 onto the machine, and that project is planned after the migration to 
new storage.

> I haven't seen a harddisk of that era for a decade or so, and I don't
> recall testing one with hddtest - but based on the average seek times
> quoted in the old days (12 to 16 ms), and based on the audio
> impression I recall, I'd say that the hard drives of that era would
> exceed 25 totally random IOps. Modern 7200rpm desktop SATA drives
> during the last 15 years can typically achieve some 75 random IOps.
> About 60 IOps for laptop drives. And those numbers do not grow
> significantly during the years, with new disk drive generations.

OK, if modern SATA gets 75, then 25 isn't too concerning. I was worried it 
might be more like an order of magnitude (or two) difference.


>
> and I'd like to say that you consistently respond in a way that makes
> me believe that you know your trade, when it comes to partitioning
> and the various size boundaries - you have my thumbs up :-)
>

Thanks!


___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] IDE <-> CF adapters

2020-12-26 Thread Frantisek Rysanek
On 26 Dec 2020 at 17:13, Dale E Sterner wrote:

> I've been using the same cf card for years. OS's
> 2000 an higher can only run on KomputerBay cf chips.
> These versions of windows check for fixed or removable.
> XP will give you a memory error on a Sandisk card but
> it still will run poorly.
> Sandisk does make a fixed version but you can't buy them.
> Only industrial customers can buy Sandisk fixed versions.
> I  tried ; they hang up on you.
> 
> cheers
> DS

Innodisk are almost strictly industrial, and they assemble to order 
(or have stock) from single pieces up, aiming for long-term product 
lifecycles/availability. Consequently the lead time is a few days 
EXW, plus transportation to wherever in the world you are. They 
probably wouldn't sell to individual customers directly, but you 
should try talking to a local distributor advertising their stuff. 
Some disties may have a modest stock of some CF model that might as 
well suit your needs off the shelf.

Frank


___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] IDE <-> CF adapters

2020-12-26 Thread Frantisek Rysanek
On 26 Dec 2020 at 22:40, Jon Brase wrote:
>
> Actually I anticipate swap usage at about double physical RAM (for a
> total memory usage of 3x physical RAM). I'm using Debian to
> administer the machine (with DOS/Win95 for actual retrocomputing),
> and empirically that runs well (shell only) with that amount of swap
> (at least with the swap partition on a magnetic disk). If I start
> XFCE, then it starts thrashing, but I don't really need a graphical
> environment there.
>
[...]
> As above, I'm not going for quite 4x RAM for swap, but the exact
> numbers in the current magnetic disk configuration are 40 MiB RAM,
> 80 MiB swap, and I plan to overprovision swap significantly on CF to
> spread out write wear. Part of what I'm trying to figure out is what
> kind of overprovisioning I'll need to get a decent lifetime for the
> swap device.
>
40 MB of RAM in Windows95 - that's something I once had in a Pentium 
75 MHz :-) and it worked pretty well for the applications of that 
time. So suppose that you give it 128 MB of swap, on a 1 GB drive. 
That will extend the lifetime 8 times compared to a Flash drive with 
exactly 128 MB, if using the same NAND technology.
But again it's really the cumulative number of write transactions, 
rather than the size of the swap file, that is inversely proportional 
to calendar lifetime. And again I cannot quantify this any better or 
absolutely.

Linux on 40 MB of RAM... there was a time this was perfectly okay, 
including a GUI. I believe something like RedHat 6.2 or Debian 3-4 
would fly on that setup. Obviously it would have an ancient web 
browser and e.g. when editing photoes you might run into the limit of 
available RAM :-) 40 MB should actually be enough even for modern 
kernels to boot, but a modern user space probably wouldn't be happy, 
even with some lightweight WM / desktop.
 
> > Don't be surprised to see 25 IOps or even
> > less, pauses lasting a couple seconds etc. A pretty far cry from
> > those ~4k IOps that you might come to expect, based on random
> > read performance.
> 
> 25 IOps doesn't sound good. How does that compare to a similar I/O
> pattern on a late 90s/early 2000s magnetic disk?
> 
I haven't seen a harddisk of that era for a decade or so, and I don't 
recall testing one with hddtest - but based on the average seek times 
quoted in the old days (12 to 16 ms), and based on the audio 
impression I recall, I'd say that the hard drives of that era would 
exceed 25 totally random IOps. Modern 7200rpm desktop SATA drives 
during the last 15 years can typically achieve some 75 random IOps. 
About 60 IOps for laptop drives. And those numbers do not grow 
significantly during the years, with new disk drive generations. 
These are unapologetic figures, with seeks genererated by 
/dev/urandom and "direct access" (no caching). The random seek 
positions alone pretty much prevent any cache from being effective 
:-)

> Well, the absolute ideal for swap, if I could find it, would be an
> IDE device that used a couple GiB of modern DRAM and initialized
> itself at boot from some partitioning plan 
>
exactly :-)

> 
> > I actually wanted to say this: if you
> > only have use for maybe 1 GB of swap, it's no problem that your
> > partition can only be 2 GB,
> 
> Actually only 512 MiB for anything DOS will be touching (or when
> BIOS first sees the drive), but that won't be a problem for the
> Linux swap partition once I've done the whole "trick the BIOS"
> dance.
>
and I'd like to say that you consistently respond in a way that makes 
me believe that you know your trade, when it comes to partitioning 
and the various size boundaries - you have my thumbs up :-)

Frank


___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] IDE <-> CF adapters

2020-12-26 Thread Jon Brase


Dec 26, 2020 3:47:44 PM Frantisek Rysanek :

> I've noticed that you want to have about 4 times the swap space
> compared to physical RAM. This means to me that your historical
> machine is starved of RAM, and you envisage enhancing the volume of
> RAM by a quick swap space. Hmm.
> The actual success of that idea will depend on how large your typical
> "DRAM working set" actually is.

Actually I anticipate swap usage at about double physical RAM (for a total 
memory usage of 3x physical RAM). I'm using Debian to administer the machine 
(with DOS/Win95 for actual retrocomputing), and empirically that runs well 
(shell only) with that amount of swap (at least with the swap partition on a 
magnetic disk). If I start XFCE, then it starts thrashing, but I don't really 
need a graphical environment there.


> It gets worse. If your machine thrashes the swap space intensively,
> generating lots of those tiny write transactions, a typical CF card
> will quickly get its relatively tiny transaction buffer (and "SLC
> zone", if used) full of pending writes and will slow down noticeably
> at the outer ATA interface. Don't be surprised to see 25 IOps or even
> less, pauses lasting a couple seconds etc. A pretty far cry from
> those ~4k IOps that you might come to expect, based on random read
> performance.

25 IOps doesn't sound good. How does that compare to a similar I/O pattern on a 
late 90s/early 2000s magnetic disk?

>
> Try comparing your CF-based swap-on-flash solution with an
> alternative setup, using some SATA-based SSD/CFast/mSATA
> and a SATA/IDE converter. How about converting this all the way to a
> small Optane drive :-) Those have like 6k of permitted overwrites, if
> memory serves - and have really short latencies. Except that ehh...
> they seem to be NVMe = PCI-e based, rather than SATA. Ahh well.

Well, the absolute ideal for swap, if I could find it, would be an IDE device 
that used a couple GiB of modern DRAM and initialized itself at boot from some 
partitioning plan (for instance "1 Linux swap partition", or "1 Linux swap 
partition, 1 empty FAT partition"), or an image on a read only flash device. 
There's no need for a swap device to actually be non-volatile (beyond keeping 
formatting information for the OS to recognize it as a swap device), and DRAM 
doesn't have write limits.

> I can't seem to find any figure, how much RAM your machine actually
> has, just that you want 4 times that much in swap.

As above, I'm not going for quite 4x RAM for swap, but the exact numbers in the 
current magnetic disk configuration are 40 MiB RAM, 80 MiB swap, and I plan to 
overprovision swap significantly on CF to spread out write wear. Part of what 
I'm trying to figure out is what kind of overprovisioning I'll need to get a 
decent lifetime for the swap device.

> I actually wanted to say this: if you
> only have use for maybe 1 GB of swap, it's no problem that your
> partition can only be 2 GB,

Actually only 512 MiB for anything DOS will be touching (or when BIOS first 
sees the drive), but that won't be a problem for the Linux swap partition once 
I've done the whole "trick the BIOS" dance.


___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] IDE <-> CF adapters

2020-12-26 Thread Dale E Sterner
I've been using the same cf card for years. OS's
2000 an higher can only run on KomputerBay cf chips.
These versions of windows check for fixed or removable.
XP will give you a memory error on a Sandisk card but
it still will run poorly.
Sandisk does make a fixed version but you can't buy them.
Only industrial customers can buy Sandisk fixed versions.
I  tried ; they hang up on you.

cheers
DS



On Fri, 25 Dec 2020 22:24:42 +0100 "Frantisek Rysanek"
 writes:
> On 24 Dec 2020 at 13:10, ZB wrote:
> > On Tue, Dec 22, 2020 at 02:37:44PM +0100, DosWorld via 
> Freedos-user
> > wrote:
> > 
> >> 1. This is bad idea - use flash cards for swap or more modern os
> >> (like all windows). I had experience with 16 TF cards, which die 
> >> after 1 year (rewrite limit). All 16 cards work in non-overloaded
> >> machines. 
> > 
> > My CF card is used as "HDD" 3rd month - we'll see in 9 months will
> > it survive.
> > 
> > I doubt it "must die" after a year of use - consider all that
> > photocameras that use CF cards; their owners probably had to buy 
> new CF
> > cards each year. 
> >
> Practical experience, using CF cards as a boot drive in 
> "miscellaneous embedded/industrial" computers where the OS and disk 
> don't have much to do:
> 
> A) standard desktop Windows (XP or earlier) with swapping left 
> operational, 1 year of lifetime sounds about right.
> 
> B) Windows Embedded (XP or later) with swap turned off and 
> preferably 
> with the drive operated in read-only mode (Write Filter enabled):
> the CF card would live forever.
> 
> Note that if you need to use the flash drive as a swap medium, with 
> SLC you have roughly 20 times the lifetime, compared to MLC.
> 
> But it's generally advisable to avoid swapping altogether. Also 
> think 
> about logging, Windows updates etc.
> 
> We've also seen MLC CF cards die after 3 months, when used as the 
> system drive in a SCADA machine, where the software kept making a 
> backup of the current "state" as often as it could (writing a chunk 
> of data to a file on the flash a couple times per second, 
> apparently).
> 
> Swapping means writing tiny transactions (4 kB) at random offsets,
> which practically means that the dual-stage mapping mechanism to 
> flash rows and erase blocks will have a lot of janitoring to do.
> This will multiply the volume written.
> Compared to that, photoes are stored in pretty much sequential 
> fashion (JPEG's, each several MB in size) and there are not nearly 
> as 
> many of them as the number of writes coming from Windows that keep 
> running 24x7. How many photoes can a human shoot - a couple dozen a 
> day? A couple hundred?
> 
> When using smal flash form factors as boot drives (CF, similar IDE 
> Flash "plugs" or SD for instance, CFast, mSATA or M.2), avoid 
> wishful 
> thinking.
> And, 2.5" Flash SSD's are not necessarily better.
> I'm speaking machines for business/industrial use.
> If this is a toy machine, you probably have your own idea :-)
> 
> >> 2. Use last generation of motherboard for Pentium-1 (as minimum)
> >> with VIA Apollo chipset (designed for Pentium and Amd K6/K6-2) - 
> >> only this chipset understand ATA100 native and allow connect CF 
> >> via simple IDE-CF reductor
> > 
> > I use that CF card with old 486 Soyo-SiS mobo (and the "simple
> > reductor").
> > 
> >> (intel VX/HX - NO). As i understand, problem is - no support
> >> ATA100 in older IDE-controllers. In other case, you need use 
> >> PCI-IDE cards or special modern ISA-IDE controllers (designed 
> >> specially for use with CF).
> > 
> > I use that CF card with old VLB IDE controller. Seems to be 
> working
> > just fine, the only problem is 2 GB limit; it can't "see" any 
> larger
> > partition.
> > Anyway it's not related to CF card, but to controller rather
> >
> CF cards are generally backwards compatible with the old PIO modes 
> (DMA-less transfers, polling for every single byte). 
> Thus, in theory, they should work against any old IDE controller.
> A CF card that supports UDMA100 should run just fine in a system 
> that 
> can only do PIO, or run limited to UDMA33 for instance.
> 
> As for size limits, I agree that some BIOSes did actually have such 
> a 
> limit in the past. It doesn't seem to be an inherent limit of 
> IDE/ATA 
> or LBA28 (those have other limits of their own).
> Other than that, 2 GB is a limit of FAT16, per volume = not 
> necessarily a BIOS issue. Though I cannot rule out that a particular 
> 
> BIOS would in fact inspect the partition table and would not approve 
> 
> of partitions larger than some arbitrary size :-) Over the years, 
> I've seen various "innovative BIOS heuristics" in the boot sequence.
> 
> http://www.dewassoc.com/kbase/hard_drives/hard_drive_size_barriers.htm
> https://tldp.org/HOWTO/Large-Disk-HOWTO-4.html
> https://en.wikipedia.org/wiki/Comparison_of_file_systems
> 
> And another matter is that, especially in the old days, the ATA 
> flash 
> target controllers (and their firmware) were not as 

Re: [Freedos-user] IDE <-> CF adapters

2020-12-26 Thread Frantisek Rysanek
On 25 Dec 2020 at 22:36, Jon Brase wrote:

> Dec 25, 2020 3:26:42 PM Frantisek Rysanek
> :
> 
> > A) standard desktop Windows (XP or earlier) with swapping left
> operational, 1 year of lifetime sounds about right.
> 
> It sounds like you're using the card for the OS + swap, though,
> rather than having separate cards for the OS and swap. My plan is to
> separate them, and probably to overprovision the swap device
> significantly.
> 
allright - using a dedicated physical CF card for swap,
and another one for the system itself, is definitely a good idea.
As a way of protecting the OS boot files.
If the swap drive dies, the system boot drive will likely survive, 
and you only need to replace and format the dedicated swap drive.

It's a good start. As for the question if this is good enough, even 
with the dedicated swap drive, depends on your actual circumstances 
(swap load = volume and patterns). I suggest that you try this with a 
cheap MLC card for the swap drive and see how long it survives in 
your daily practice. And then maybe consider switching to an SLC card 
to get 20 times the endurance.

Trying to protect your system boot partition by making a dedicated 
swap partition, on a shared flash drive, is moot / futile.
The two layers of block mapping below LBA are oblivious of your 
partitioning above the LBA layer. The wear leveling mechanism inside 
the drive will happily shuffle blocks belonging to your "read only 
system boot partition" and mix them with the volatile swap partition, 
under the hood - for the sake of keeping the erase count per erase 
block level across the space of the underlying NAND chips (to utilize 
the available erase count evenly). When unrecoverable errors 
inevitably start to occur, the drive as a whole is gonna die, your 
system boot partition won't be accessibe either.

I've noticed that you want to have about 4 times the swap space 
compared to physical RAM. This means to me that your historical 
machine is starved of RAM, and you envisage enhancing the volume of 
RAM by a quick swap space. Hmm.
The actual success of that idea will depend on how large your typical 
"DRAM working set" actually is. 

If you have a flock of apps running at the same time, allocating lots 
of virtual memory, but only a fraction of that virtual memory needs 
to be in RAM at any one time (a timespan of say a couple dozen 
seconds), you're good to go. I can imagine a scenario where you have 
a myriad desktop apps open, but most of them are just waiting on the 
taskbar and are out of focus - so that Windows swap them out 
eventually, which causes no sorrow.

But if you need to have much of that virtual space in the "working 
set" at the same time, your solution with a flash-based drive 
probably won't satisfy you, performance-wise. 

If I consider a single channel of 64bit PC133 SDRAM (for instance), 
that's 1 GBps of sequential transfer rate. UDMA100 is only 100 MBps 
at its very best.
Also, while the latency of your RAM is about 60 ns, for the CF card 
it's possibly a couple hundred microseconds for reading.

It gets worse. If your machine thrashes the swap space intensively, 
generating lots of those tiny write transactions, a typical CF card 
will quickly get its relatively tiny transaction buffer (and "SLC 
zone", if used) full of pending writes and will slow down noticeably 
at the outer ATA interface. Don't be surprised to see 25 IOps or even 
less, pauses lasting a couple seconds etc. A pretty far cry from 
those ~4k IOps that you might come to expect, based on random read 
performance.

=> If you're serious about upgrading your legacy machine in this way, 
I suggest that you purchase two CF/IDE adaptors and some cheap CF 
card and try for yourself.

If you have a chance to test your CF cards on an IDE channel under 
Linux, consider trying this simple proggie of mine:
http://support.fccps.cz/download/adv/frr/hddtest-1.1.tgz
There are certainly other load generators / benchmarks.
And there's the iostat tool, from the Sysstat package,
which can show you the IOps load at the block layer, generated by any 
kind of software.
Don't trash the CF card with random *writes* for too long, as such a 
test quickly eats away its available erase count.

Try comparing your CF-based swap-on-flash solution with an 
alternative setup, using some SATA-based SSD/CFast/mSATA 
and a SATA/IDE converter. How about converting this all the way to a 
small Optane drive :-) Those have like 6k of permitted overwrites, if 
memory serves - and have really short latencies. Except that ehh... 
they seem to be NVMe = PCI-e based, rather than SATA. Ahh well.

I can't seem to find any figure, how much RAM your machine actually 
has, just that you want 4 times that much in swap. AFAICT Windows 98 
had a problem using more than 512 MB of physical RAM, not sure about 
how much swap they could use - but let's assume that 4 GB total would 
be a maximum for a 32bit OS. I actually wanted to say this: if you 
only have use for 

Re: [Freedos-user] Question about FDAPM

2020-12-26 Thread Marv
Thanks Eric! I had noticed that FDAPM POWEROFF did both a flush and
spindown, but after a couple of seconds it says "Warming up...Back...Back
on..." so I wasn't quite sure what it had done. In any case, it sounds like
I should be ok holding down the power button at that point. This particular
laptop has a very minimal bios, at least the part I can access.



On Sat, Dec 26, 2020 at 10:43 AM Eric Auer  wrote:

>
> Hi Marv!
>
> FDAPM FLUSH (no slash needed) does not rely on the BIOS,
> it is just meant to give caches hints to write back all
> pending writes. Note that none of the caches shipping
> with FreeDOS will pool or delay writes, so you actually
> do not need to flush with those :-)
>
> As soon as the last app returns to the prompt, you can
> expect that DOS has written all data and closed files.
>
> The flush command should work for the following caches:
> msclient (not a cache, but network drives), CD Blitz,
> PC-Cache, QuickCache, Super PC Kwik / QCache, SMARTDRV.
> It also tells DOS and BIOS disks to reset some state.
>
> The latter could help to make sure that things are
> written from the built-in cache of your SD card to
> the permanent storage of that card. I would expect
> most drives - including SSD and SD ones - to default
> to not delay writes unless you enable that? And how
> long would such delays be at most? Are there rules
> about it? Or experiences here on the list?
> You could use the SPINDOWN command to tell disks/SD
> to shut down - that should give them a hint to flush
> their built-in caches :-) Actually, FDAPM POWEROFF
> implies flush and spindown anyway.
>
> Regards, Eric
>
>
>
> ___
> Freedos-user mailing list
> Freedos-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-user
>


-- 
It's all fun and games until someone divides by zero.
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] Question about FDAPM

2020-12-26 Thread Eric Auer


Hi Marv!

FDAPM FLUSH (no slash needed) does not rely on the BIOS,
it is just meant to give caches hints to write back all
pending writes. Note that none of the caches shipping
with FreeDOS will pool or delay writes, so you actually
do not need to flush with those :-)

As soon as the last app returns to the prompt, you can
expect that DOS has written all data and closed files.

The flush command should work for the following caches:
msclient (not a cache, but network drives), CD Blitz,
PC-Cache, QuickCache, Super PC Kwik / QCache, SMARTDRV.
It also tells DOS and BIOS disks to reset some state.

The latter could help to make sure that things are
written from the built-in cache of your SD card to
the permanent storage of that card. I would expect
most drives - including SSD and SD ones - to default
to not delay writes unless you enable that? And how
long would such delays be at most? Are there rules
about it? Or experiences here on the list?
You could use the SPINDOWN command to tell disks/SD
to shut down - that should give them a hint to flush
their built-in caches :-) Actually, FDAPM POWEROFF
implies flush and spindown anyway.

Regards, Eric



___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


[Freedos-user] Question about FDAPM

2020-12-26 Thread Marv
One of my FreeDos machines is a laptop without APM. The only way to shut it
down is to hold the off button for several seconds. That is not my
preferred way of doing things.

Some FDAPM commands seem to work (meaning I don't get any error msg)
without the computer having APM, for example, FDAPM /FLUSH. So, I've gotten
into the habit of doing that before holding down the off button.

But does FDAPM /FLUSH really work in my case? I haven't had any problems
that I know of so far. In particular, I'm concerned about the 32GB SD card
I use for transferring files back and forth to my Windows machines.



-- 
It's all fun and games until someone divides by zero.
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user