Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Sep 2010 09:10:11 +0100
From:      Rui Paulo <rpaulo@freebsd.org>
To:        Justin T. Gibbs <gibbs@scsiguy.com>
Cc:        "current@freebsd.org Current" <current@freebsd.org>, xen@freebsd.org
Subject:   Re: CFT - Xen infrastructure and block I/O improvements
Message-ID:  <0DB67CB1-B2E3-487D-A7DB-E11D6778C62D@freebsd.org>
In-Reply-To: <4C938AEE.2080006@scsiguy.com>
References:  <4C92C815.7070508@scsiguy.com> <1801A881-E1C8-4B41-AD14-940686A37A27@FreeBSD.org> <57D2C852-4A1E-41AC-8074-BBBA8E0E7DCF@FreeBSD.org> <4C938AEE.2080006@scsiguy.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 17 Sep 2010, at 16:36, Justin T. Gibbs wrote:

> On 9/17/2010 1:27 AM, Rui Paulo wrote:
>> On 17 Sep 2010, at 07:55, Rui Paulo wrote:
>>=20
>>> On 17 Sep 2010, at 02:44, Justin T. Gibbs wrote:
>>>=20
>>>> At Spectra Logic, we are using FreeBSD amd64 under Xen to serve =
storage
>>>> to other Xen domains.  Over the past 9 months, we've made several =
changes
>>>> to FreeBSD's Xen support.  These include:
>=20
> ...
>=20
>>> Justin, this is quite a big diff (16k lines). I wonder if you can =
create
>>> separate diffs (xenstore, blkback, xenbus, etc.) for easier review =
and
>>> commenting.
>>=20
>> '... and comment'.
>=20
> The bulk of the patch is due to code reorganization.  Unfortunately =
SVN
> doesn't reflect the copies properly in a diff, but at least the diff =
will
> apply properly even in a non-SVN backed source tree.  This original =
patch
> should be the best for testers.
>=20
> The following SVN operations were made to the source tree to clean up =
it's
> organization and to import functionality from the vendor (1 file):
>=20
> # Does not apply to FreeBSD's NewBus method for dealing with XenBus =
devices
> svn delete sys/xen/xenbus/init.txt
>=20
> # Linux version of backend XenBus service routines.  Never ported to =
FreeBSD.
> # OBE: See xenbusb.c, xenbusb_if.m, xenbusb_front.c xenbusb_back.c
> svn delete sys/xen/xenbus/xenbus_probe_backend.c
>=20
> # Split XenStore into its own tree.  XenBus is a software layer built =
on top
> # of XenStore.  The old arrangement and the naming of some structures =
and
> # functions blurred these lines making it difficult to discern what =
services
> # are provided by which layer and what times these services are =
available
> # (e.g. during system startup and shutdown).
> mkdir sys/xen/xenstore
> svn add sys/xen/xenstore
> svn move sys/xen/xenbus/xenbus_dev.c sys/xen/xenstore/xenstore_dev.c
> svn copy sys/xen/xenbus/xenbusvar.h sys/xen/xenstore/xenstorevar.h
> svn move sys/xen/xenbus/xenbus_xs.c sys/xen/xenstore/xenstore.c
>=20
> # Split up XenBus code into methods available for use by client
> # drivers (xenbus.c) and code used by the XenBus "bus code" to
> # enumerate, attach, detach, and service bus drivers.
> svn move sys/xen/xenbus/xenbus_client.c sys/xen/xenbus/xenbus.c
> svn move sys/xen/xenbus/xenbus_probe.c sys/xen/xenbus/xenbusb.c
> svn copy sys/xen/xenbus/xenbusb.c sys/xen/xenbus/xenbusb.h
>=20
> # Merged with xenstore.c
> svn delete sys/xen/xenbus/xenbus_comms.c
> svn delete sys/xen/xenbus/xenbus_comms.h
>=20
> # Merged with new XenBus control driver
> mkdir sys/dev/xen/control
> svn add sys/dev/xen/control
> svn move sys/xen/reboot.c sys/dev/xen/control/control.c
>=20
> # New file from Xen vendor with macros and structures used by
> # a block back driver to service requires from a VM running a
> # different ABI (e.g. amd64 back with i386 front).
> svn add sys/xen/blkif.h
>=20
> These alone account for 6k lines of svn diff.
>=20
> A diff against a tree with these operations already made may make more =
sense
> to a reviewer.  You can download this diff from here:
>=20
> =
http://people.FreeBSD.org/~gibbs/FreeBSD-head-xen_post-svn-ops_2010-09-17_=
diffs.txt
>=20
> It isn't much shorter since the additional context has amplified the =
changes.
> The bulk is largely caused by refactoring, and comments.  It will
> probably be easier to just review the files in sys/xen/xenstore and
> sys/xen/xenbus in their entirety, but the comments bellow (boiled down =
from
> our SCM system), when coupled with the diffs, should give you enough =
information
> to understand the intentions behind the changes.

Oh, IC. It's still pretty large and I don't have the necessary time, but =
it appears that this is good to go (am afraid the past people who have =
worked on Xen are now gone, no?).

--
Rui Paulo





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0DB67CB1-B2E3-487D-A7DB-E11D6778C62D>