[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Connectix Ram Doubler and MCL?



At 11:11 AM 1/7/94 -0800, John W. Baxter wrote:
>At 14:04 1/7/94 -0500, Kalman Reti wrote:
>>I don't know anything about RAM doubler, but MCL doesn't make any use of the
>>PMMU
>>unless the ptable init is installed.

This is not entirely correct. MCL uses the MMU if the ephemeral garbage
collector (EGC) is enabled and the page size is "compatible". Only a 4K
page size is "compatible" on a 68030. Either 4K or 8K pages are "compatible"
on a 68040. The ptable init sets that page size to 4K as does MacVM.
I don't know how RAM doubler works, but if it sets the page size to
4K, which seems likely, then MCL will use the MMU if EGC is enabled.

>
>My concern over the PMMU potential argument goes like this:  MCL is in the
>foreground.  It's memory is fully "real", and the PMMU reflects that.  Now
>MCL goes into the background and later RAM Doubler decides that MCL is
>"inactive".  Now RAM Doubler goes in, moves MCL's memory around, steals the
>unused parts of the heap, etc, adjusting the PMMU to reflect what it has
>done.  Now the ephemeral garbage collector decides to run.
>
>It's not immediately clear that all is well.  It's also not at all clear
>that there's any problem.
>
>It does need to be looked at in a non-mission-critical environment first, I
>would think.

I talked with one of the RAM Doubler engineers at Connectix (Chad). He
told me that RAM Doubler pretends to be Mac VM. Hence, MCL's EGC will use
the write protect bits in the page table entries to keep track of modified
pages. He didn't think there would be any problem with this. The other
assumption that MCL makes is that the logical addresses of page table
entries are at a constant offset from the physical addresses. He said
that RAM Doubler satisfies that assumption as well. He said that if
MCL works with MacVM, which it does, then it should work with RAM Doubler.
He also assured me that Connectix wants to know about it if RAM Doubler has
any problems operating with MCL.

Since RAM Doubler pretends to be MacVM, i.e. makes Gestalt say that MacVM
is installed, ptable should come up with an X through its icon. That is,
using ptable with RAM Doubler is unnecessary but also shoudn't be harmful.

Of course there's no sure way to know that MCL's EGC is compatible with
RAM Doubler except to try it. Shannon, if you would be willing to operate
with EGC enabled for a while and report back, I'd appreciate it. To do
so, execute (EGC T).

Also, please execute:

  (egc-mmu-support-available-p)

and tell me the result.