On Mon, 21 Sep 2015 12:17:53 -0400 "Kevin O'Connor" <ke...@koconnor.net> wrote:
> On Mon, Sep 21, 2015 at 03:14:04PM +0200, Marc Marí wrote: > > Implement support for booting from a PMEM region compatible with > > NVDIMM and NFIT specifications. > > > > The current implementation is still slow. When running a Linux > > guest on top of QEMU in x86: > > > > Using actual -kernel option: > > QEMU startup time: .080 > > BIOS startup time: .060 > > Kernel setup time: .590 > > Total time: .730 > > > > Using -kernel option and fw_cfg DMA patch: > > QEMU startup time: .080 > > BIOS startup time: .039 > > Kernel setup time: .002 > > Total time: .121 > > > > Using this patch series and adding the vmlinuz as a NVDIMM device: > > QEMU startup time: .080 > > BIOS startup time: .065 > > Kernel setup time: .015 > > Total time: .160 > > Thanks Marc - very interesting! > > Do you think NVDIMM support will ultimately be faster than DMA or are > there other advantages to using NVDIMMs? I've been experimenting with different approaches to improve speed, as you've already seen. I still don't know which will be faster. The NVDIMM code is missing some improvements. I think it will be around the same speed as fw_cfg DMA. Unless I missed a big improvement. But the advantage of NVDIMMs is flexibility. It is just a memory region. So you can put there anything that you want to access fast. It may be a vmlinuz, an initramfs, a normal file, or whatever. Maybe combining both fw_cfg DMA and NVDIMM can give good times for booting a minimal system up to the userspace. At the moment, this NVDIMM code is just experimental and for testing to see its performance. But I tend to focus on the tree I have in front of me instead of the forest, so it's better if I share this code and get a few comments on it before getting into conclusions. (When I say NVDIMM I should say NVDIMM PMEM or DAX. But as there's still no block mode in QEMU, it doesn't really matter). Thanks Marc _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios