Subject: Xen

From: Muli Ben-Yehuda <[email-masked]>
Date: Fri, 21 Oct 2005 19:23:02 +0200

Xen, as seen at http://www.getxen.com.

Is anyone using it? what do you think of it? experiences you want to
share? where should it go? is virtualization interesting?

Cheers,
Muli
-- 
Muli Ben-Yehuda
http://www.mulix.org | http://mulix.livejournal.com/

---

From: Omer Shapira <[email-masked]>
Date: Sat, 22 Oct 2005 12:23:46 -0700 (PDT)

> share? where should it go? is virtualization

I am not using Xen, or any other software-based
virtualization method (I do use hardware based one,
but that's another story). 

Having said that, I am quite interested in
virtualization methods and practices, mainly as a way
to achieve trusted computing (a clandestine os).
Thruput activities do not bother me at this stage of
the personal evolution.

A layman's question - what is the easiest way for
someone who doesn't remember much of a linux kernel
(me) to start tweaking the beast? 

In addition, I am very interested on how modern
compilers can cope with virtualized CPUs. 
I assume that cpu calls caused by virtualized
resources can get the CPU frontend insane quite fast.
Correct me if I am wrong. 

In addition, I am intrigued by a problem of providing
networking hardware/software necessary for efficient
virutalization of network devices. 

Consider, for example, a switch chip (an
uber-super-hyper NIC) that does TCP session handshake
offloading, and interrupts only on sessions that are
not to be bridged, but are intended for the device
itself. Either  the silicon intended for the port
buckets is multiplied (expensive, dollar-wise), or
lots of interrupts are delivered to the CPU
(expensive, cycle-wise).

I admit these questions have little with ethics of
software licensing as opposed to licencing of software
ethics, and are rather (paraphrasing nyh) examples fo
"engineering mumbo-jumbo", but these questions bug me
lately.

> Muli

Sincerely yours,
 Omer Shapira. 

--
Omer Shapira
Senior Software Engineer
Radware

__________________________________ 
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com

---

From: Muli Ben-Yehuda <[email-masked]>
Date: Sun, 23 Oct 2005 09:20:24 +0200

> (me) to start tweaking the beast? 

Which beast? Linux or Xen?

> Correct me if I am wrong. 

I'm not quite sure I'm following, but in general there are three ways
of virtualizing code if your CPU doesn't support it:

- rewrite the priviledged bits at run time (VMWare's dynamic rewriting
of executing code before it executes)
- rewrite the priviledged bits at your leisure, then recompile (Xen's
para-virtualization)
- have your toolchain rewrite the priviledged bits when you compile
the code (L4 group's afterburner project - see
http://l4ka.org/projects/virtualization/afterburn/)

All of these approaches concentrate on running non-priviledged code
natively (unlike CPU emulators like Bochs and QEMU, which translate
and emulate all instructions) and only deal with priviledged
instructions.

Does this answer the question?

> virutalization of network devices. 

Ah, now that's a question I am wont to discuss at length for multiple
hours at a time, and have been known to do so :-)

> lots of interrupts are delivered to the CPU

If you're at a situation where you are likely to have lots of
interrupts delivered, you'd probably switch to chip to polling mode
(a-la NAPI in Linux).

Here's a question for discussion: does virtualization support *in
devices* make sense? or should we stick with "regular devices" and let
the software multiplex it?

> "engineering mumbo-jumbo", but these questions bug me

We now return you to your regularly scheduled shlomifogram!

Cheers,
Muli