[GSOC] bhyve instruction caching

Mihai Carabas mihai.carabas at gmail.com
Sat Jun 7 21:38:02 UTC 2014


>
> These days I've started a discussion with Neel about some
> microbenchmarking mechanisms. I will come with some more details next
> week.
I've built a microbenchmarking kernel module which is accessing the
lapic->id for 1000000 and than I calculate the average of an access
(each access needs to be emulated by the hypervisor).

I've also implemented the instuction caching mechanism. At each emulation:
- I check to see if I have that particular instruction cached
- if not I will cache it in a particula structure named "struct vie_cached" [1]
- if it's cached I just use that instruction

Right now I am working on write-protecting the pages where the
instruction reside. I will come with some more details/results when I
finished this part too (there are some SMP issues I'm still debating
with Neel).

[1] https://socsvn.freebsd.org/socsvn/soc2014/mihai/bhyve-icache-head/sys/amd64/vmm/vmm_instruction_cache.c
[2] https://socsvn.freebsd.org/socsvn/soc2014/mihai/lapic_test/lapic_test.c

Thanks,
Mihai


More information about the soc-status mailing list