success/ TMEM

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

success/ TMEM

Pierre-Philipp Braun
Hello there.  I do not know if I should report this test to xen-devel or xen-users.  In doubt I send it here, to xen-users.

Using Xen version 4.11.0 and Linux dom0 & domU 4.18.16.

I've tested the Transcendent Memory feature that seem to have been provided by Oracle.  It is a success.  My guests are now having dynamic memory allocation, and the shrinking is quite fast.  In less that 3 minutes, it goes from 5GB to ~900MB.  And after quite a while, I even goes down to less than 700MB on idling guests.

Among others, I enabled those into domU kernel (on top of x86_64_defconfig && xenconfig),

        CONFIG_XEN_SELFBALLOONING=y
        CONFIG_XEN_TMEM=m

Enabling a swap space onto the guest is not mandatory.  It works without swap.  Also the additional `tmem` kernel argument at boot time is not required.  All I had to do is to load the module once the guest is up and running.

        [   37.471390] xen:tmem: frontswap enabled, RAM provided by Xen Transcendent Memory
        [   37.471410] xen:tmem: cleancache enabled, RAM provided by Xen Transcendent Memory
        [   37.471423] xen_selfballoon: Initializing Xen selfballooning driver
        [   37.471425] xen_selfballoon: Initializing frontswap selfshrinking driver

And magic happens, its xentop MAXMEM(k) starts decreasing.  It is wonderful.  So, thank you Dan Magenheimer @Oracle for this great feature.

I noted that for TMEM, only the `memory=` guest setting matters.  Setting `maxmem=` shows static values on xentop output.  It is also interesting to note that `xl mem-set` and TMEM do not conflict in practice, although TMEM just makes the former useless.  When doing `xl mem-set`, xentop shows the according amount of defined memory and then starts to drop again ^^

Beside the success report, I need to mention the few remaining issues or concerns.

I do not get why TMEM refuses to be built-in.  It always converts back to a module.  It is a pity because this forces me to deliver `/lib/modules/kernel-ver` onto the PV guests just for that module.

Although it just works, I cannot use the `xl` arguments relative to tmem.  For example when trying `xl tmem-list`,

        libxl: error: libxl_tmem.c:28:libxl_tmem_list: Domain 2:Can not get tmem list: Operation not permitted
 
As for the documentation, the xl(1) manual states that is needs to be done, and I found no guide to set it up.  I could convert this message to some tutorial though.

BR
--
pierre-philipp

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users