Skip site navigation (1)Skip section navigation (2)
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>