From: harry <harry@hebutterworth.freeserve.co.uk>
To: NAHieu <nahieu@gmail.com>
Cc: xen-devel@lists.xensource.com,
Vincent Hanquez <vincent.hanquez@cl.cam.ac.uk>
Subject: Re: USB virt 2.6 split driver patch series
Date: Mon, 21 Nov 2005 17:17:31 +0000 [thread overview]
Message-ID: <1132593451.31295.171.camel@localhost.localdomain> (raw)
In-Reply-To: <5d7aca950511210902j5002bbfdxe52b1a32517d6c8b@mail.gmail.com>
On Tue, 2005-11-22 at 02:02 +0900, NAHieu wrote:
> On 11/22/05, harry <harry@hebutterworth.freeserve.co.uk> wrote:
> > On Tue, 2005-11-22 at 00:27 +0900, NAHieu wrote:
> >
> > > If you think 8 spaces is too long, you could reconfigure your editor.
> > > For example I use vim as editor, and configure it to display 4 spaces
> > > for 1 tab (set shiftwidth=4), and the code looks much better.
> >
> > Thanks, I hadn't thought of that.
> >
> > > Beside spliting the code and send them to the list, could you send a
> > > whole in 1 file only? I want to patch it to my tree and give it a try.
> > > Downloading 17 files separately and patch them is tired ;-)
> >
> > Here you go...
> >
>
> Harry, what is the intentional usage of xenidc in drivers/xen/,
> besides to support usb driver?
It's intended to be generally useful. So if you wanted to write another
driver you could use the xenidc_endpoint and rbr provider and mapper
pools in the new driver.
The local and remote buffer reference types can be extended as well: the
current code is sufficient for drivers like the USB driver which want to
map kernel virtual address space into the back end. This would probably
be OK for use by an audio split driver as well and maybe the block
driver. The network driver or similar drivers which need to swap pages
around would require different local buffer reference and remote buffer
reference types to describe the kind of memory management manipulations
they needed. It's possible to define and install new types of buffer
references and the generic code will still work with them to do the
resource management etc.
The endpoint code includes the shared page allocation/setup, ring
buffers, interrupt handlers, use of memory barriers, use of grant
tables, some use of xenbus and the set-up/tear-down state machine which
is quite subtle. Currently this code is replicated in all the other
drivers. I didn't want another copy in the USB driver so I factored it
all out for common use.
The rbr provider and mapper pool is the bulk data transfer code which
again is replicated in all the other drivers. Currently the block and
net drivers have different implementations of this but in general there
will be fewer kinds of bulk data transfer required than there will be
drivers so it will be undesirable to have an implementation of bulk data
transfer in every driver. Again this code is factored out of the USB
driver into a common service. The common service can be extended for
the different classes of bulk data transfer that will be required for
different classes of device.
>
> Thanks.
> Hieu
>
next prev parent reply other threads:[~2005-11-21 17:17 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-21 13:18 USB virt 2.6 split driver patch series harry
2005-11-21 13:49 ` Vincent Hanquez
2005-11-21 14:01 ` harry
2005-11-21 14:27 ` Vincent Hanquez
2005-11-21 14:29 ` Dave Feustel
2005-11-21 14:41 ` NAHieu
2005-11-21 15:14 ` harry
2005-11-21 15:27 ` NAHieu
2005-11-21 15:39 ` harry
2005-11-21 17:02 ` NAHieu
2005-11-21 17:17 ` harry [this message]
2005-11-22 1:59 ` NAHieu
2005-11-22 2:00 ` NAHieu
2005-11-22 10:24 ` harry
2005-11-22 11:07 ` Vincent Hanquez
2005-11-22 15:37 ` Anthony Liguori
2005-11-22 20:27 ` Vincent Hanquez
2005-11-21 15:44 ` Muli Ben-Yehuda
2005-11-21 18:49 ` Harry Butterworth
2005-11-21 18:58 ` Muli Ben-Yehuda
2005-11-25 19:16 ` harry
2005-11-21 17:26 ` Oleg Goldshmidt
2005-11-21 15:34 ` harry
2005-11-21 14:25 ` Dave Feustel
2005-11-21 14:36 ` Vincent Hanquez
2005-11-21 15:24 ` Dave Feustel
2005-11-21 16:03 ` Vincent Hanquez
2005-11-21 16:30 ` Dave Feustel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1132593451.31295.171.camel@localhost.localdomain \
--to=harry@hebutterworth.freeserve.co.uk \
--cc=nahieu@gmail.com \
--cc=vincent.hanquez@cl.cam.ac.uk \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.