On Wed, May 18, 2016 at 03:04:52PM +0800, Xiao Guangrong wrote: > On 05/17/2016 02:25 AM, Richard W.M. Jones wrote: > >(a) How necessary is the ACPI dependency? We disable ACPI because it > >is quite slow, adding something like 150-200ms to the boot process > >(every millisecond counts for us!). Because I previously never needed > >ACPI, I never really looked into why this is, and it could be > >something quite simple, so I'm going to look at this issue next. I > >understand that NVDIMMs are not regular (eg) PCI devices, so ordinary > >device probing isn't going to work, and that probably answers the > >question why you need to use ACPI. > > Yes, ACPI is necessary to export NVDIMM devices. The good news is that > Intel is working on ‘lite QEMU’ which only has basic/simplest ACPI > support. Haozhong, who has been CCed, is working on it.
I remeasured the ACPI overhead with the latest upstream kernel & qemu, it has dropped to under 20ms, so now I've just unconditionally enabled ACPI. > >(c) I've got the root filesystem (which is actually ext2, but using > >the ext4.ko driver) mounted with -o dax. What benefits / differences > >should I observe? Just general reduced memory / page cache usage? > > > > And better performance as slow IO path is not needed anymore. :) > > However, there is potential issue if it is not backend by real NVDIMM > hardware, the data is not persistent. We are going to resolve it by > emulating PCOMMIT and do msync properly. I'm using share=off (ie. MMAP_PRIVATE), because for this appliance model I don't want writes to go to the backing disk. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org