Date: Sat, 24 May 2014 23:03:24 +0300 From: Mihai Carabas <mihai.carabas@gmail.com> To: soc-status@FreeBSD.org Subject: [GSOC] bhyve instruction caching Message-ID: <CANg1yUuazrhybHVVzi2g8vCBSTx3Z=gYmEVXvEMuj2SN%2BRY9Sg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, My name is Mihai Carabas and I'm working this GSoC edition on bhyve instruction caching: cache all the instructions that need to the emulated in order to jump off the fetch and decode part which is very expensive. Until now I've prepared my testing/developing environment: FreeBSD on a Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz with 16GB RAM (it's an HP blade), duplicate the FreeBSD repo in my namespace [1] and cloned it locally on this machine. Also I've setup and configured some development tools I'm used to (bash//bash_completion/vim/cscope). I've also created a virtual machine and run it with bhyve. Here I had some problems with the NAT daemon (I need this to give internet access to the VM). By default, if you enable nat (natd_enable) all the traffic is passed through the natd daemon and thus this entered in a high CPU load whenever I was making an SSH connection. I've found on the Internet some more specific rules to do NAT only for the VM, not for all incoming local connection, like it is by default. This solved the problem. I've started acommodating with the VMM code and started developing interface stubs like adding/removing/getting instuctions from the cache. These was reviewed by Neel and modified accordingly. Right now they are in a separate file [2]. I've also placed this calls in the VMM code, in the essential parts. To resume: I've made the caching logic part. I will come next week with some feedback on some strategies for caching efficiently the instructions and probably some implementation details. Thanks, Mihai [1] https://socsvn.freebsd.org/socsvn/soc2014/mihai/ [2] https://socsvn.freebsd.org/socsvn/soc2014/mihai/bhyve-icache-head/sys/amd64/include/vmm_instruction_cache.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANg1yUuazrhybHVVzi2g8vCBSTx3Z=gYmEVXvEMuj2SN%2BRY9Sg>