Hello, all.

I have some questions about the implementation of transcendent memory in the kernel, specifically in its frontswap mode.

The following I believe I understand correctly:
1. When a memory page is about to be sent to swap, it is instead copied to a tmem page, using a PUT hypercall.

2. When this page is to be read again, a GET hypercall is generated, but it remains allocated in the tmem page. So the page is in tmem and in main memory. (This is correct, as far as I understand. Or is it?).

3. If the page is written again in memory, then a flush operation will occur that will invalidate the page in tmem. (Is this correct so far?)

4. If the memory is already full and a page from tmem is read (a GET operation occurs), then another page is evicted from memory and sent to the disk device.

Does all of this sound correct to you?

Good day.