Friday, January 27, 2006

Can't get enough of previrtualization

I spend a lot of my time pursuing ideas that I find interesting but do not necessarily pan out into anything. Over the past year, I've spent a lot of time looking into previrtualization. Previrtualization is an automated paravirtualization technique that uses the assembler to automatically convert sensitive instructions into more friendly versions.

The afterburning macros are pretty cool and I've explored a number of enhancements to that technique. However, it's fundamentally limited by the need to use a patched assembler. I'm currently exporing a simplistic post-processor approach that uses some interesting gas magic (without requiring a new assembler). We'll see how it works.

Wrapping up the XenSummit

I still haven't blogged about the Summit. I really intend to. Perhaps I'll begin tomorrow.

Thursday, January 26, 2006

Simon Crosby is a dink.

He makes Xen look bad by spewing XenSource marketing crap all over the place.


FWIW, Keith, I think, is assuming that we switch the full page table out to provide isolated userspace/kernelspace memory environments. We don't do this. We simply bring in a PGD for kernelspace on switch. This doesn't invalidate the whole TLB so it really isn't that bad. The problem is that the kernel has to run in ring 3 to ensure that it cannot get at the hypervisor's memory because segmentation was removed from x86-64.

Update: I should point out that Simon is a nice guy overall. I'm somewhat bothered because I'm afraid that Xen does not get the respect it ought to get because there is so much FUD surrounding it in the press. Everytime someone claims that Xen is the only robust, enterprise-ready, virtualization solution we lose a little more credibility. The truth of the matter is that Xen is a young Open Source project with a lot of promise. It's not nearly as robust as other more mature projects (like the Linux kernel) and it's certainly not as robust as enterprise hypervisors like IBM's PHYP. That's not to say that it won't be in time but I think we would do better as a project if everyone involved in the project was a bit more forthright.

Sunday, January 15, 2006

Almost there

I'm very close to having a patch ready for xen-devel with the VFB. I just have to integrate the vncfb into the build tree and do some general cleanup.


Thursday, January 12, 2006

Major VFB refinements

I've switched the XenVFB over to write-fault updating (thanks to Gerd Hoffman). Write-faulting is a method to provide partial framebuffer updates by removing write permission on the framebuffer. When a write-fault occurs, the page is brought in and a timer is activated (if not already active). When the timer goes off, all of the faulted in pages are collected up and write-protected again and an update event is triggered for the rectangle that contains all of these pages.

It's a pretty clever technique that Gerd uses for the UML framebuffer. Its going to require a bit of tweaking to get right for VNC though.