WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 0 of 4] aio event fd support to blktap2

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 0 of 4] aio event fd support to blktap2
From: Daniel Stodden <daniel.stodden@xxxxxxxxxx>
Date: Thu, 28 Jan 2010 22:37:42 -0000
Delivery-date: Thu, 28 Jan 2010 14:38:03 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mercurial-patchbomb/1.3.1
Get blktap2 running on pvops.

This mainly adds eventfd support to the userland code. Based on some
prior cleanup to tapdisk-queue and the server object. We had most of
that in XenServer for a while, so I kept it stacked.

1. Clean up IPC and AIO init in tapdisk-server. 

   [I think tapdisk-ipc in blktap2 is basically obsolete.
    Pending a later patch to remove it?]

2. Split tapdisk-queue into variable raw I/O backends.

   This basically makes an 'ops'-struct (struct tio) out of what used
   to be primarily libaio vs. an if/else hack to resort to canonical
   read()/write()s where desirable.

   For now, the one chosen remains as hardcoded as ever.

3. Prefer AIO eventfd support on kernels >= 2.6.22

   Mainline Linux after 2.6.22 finally got I/O muxing for
   AIO. Unfortunately, few systems bring the necessary libaio update
   (0.3.107), xen/tools included.

   Since this is just about a bunch of inline macros and an update to
   reserved space in the iocb struct, let's add a compat header with
   private typedefs instead.

   This should obsolete tools/aio.

Misc:
  - Does a runtime kernel version check. I guess this code will
    need additional cpp magic on BSDs.
  - Wants a PERROR macro in blktaplib.h
  - Fixes a bug in tapdisk-vbd which locks up the sync io mode.
  - Removed dead code in qcow2raw to make it link again.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel