Attached is an updated patch to the blktap kernel driver and userspace 
toolset. The patch incorporates comments submitted to the list 
regarding stylistic changes such as the use of C99 initialisation. The 
/proc stats have been removed and will be replaced soon with sysfs 
variables along the same lines as the recent blkback patch.
This patch incorporates 3 new features:
- It now allows local mounts of tap-based images within dom0 
(equivalent to the loopback driver) using the xm block-attach feature. 
Tap disks can be attached to a virtual block device in dom0 which is 
then mountable. This feature is particularly useful for modifying VM 
images before booting them, for instance to update the in-image kernel 
for an HVM guest.
- Faster Qcow performance through metadata allocation optimizations. 
Qcow files remain backwards compatible, but headers contain additional 
information to indicate that allocation has been optimized for access 
from the xen tools.
- the blktapctrl daemon is launched automatically along with xenstored 
and xenconsoled through xend
Performance results indicate that blktap performs very favourably in 
comparison to blkback (raw partition AIO) and that with the qcow 
optimisation feature enabled, the CoW disk performs almost as fast as 
the raw loopback driver:
Bonnie results (block IO summarised):
                      READ     WRITE   (K/sec)
Tap AIO partition    52781    45072
Blkback partition    52596    45429
Loop                 52286    37672
Qcow Normal          43058    29386
Qcow Optimised       51834    37083
Full Bonnie results:
              -------Sequential Output-------- ---Sequential Input-- 
--Random--
               -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- 
--Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  
/sec %CPU
Tap AIO dev 2G 43805 93   45072 8   21896 0    38751 52   52781 0     
121.1 0
Blkback    2G  43400 86   45429 8   22217 0    39075 53   52596 0     
119.0 0
Loop       2G  31459 63   37672 9   16442 0    44122 78   52286 0     
119.7 0
Qcow norm  2G  28341 56   29386 5   15908 0    36006 49   43058 0     
66.9  0
Qcow Opt   2G  33568 67   37083 6   19589 0    39180 58   51834 0     
123.1 0
Thanks,
Julian
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel