From: Rusty Russell <rusty@rustcorp.com.au>
To: Harry Butterworth <harry@hebutterworth.freeserve.co.uk>
Cc: Xen Mailing List <xen-devel@lists.xensource.com>,
mark.williamson@cl.cam.ac.uk
Subject: Re: [PATCH] skeleton frontend/backend examples and a deadlock
Date: Thu, 03 Nov 2005 12:36:52 +1100 [thread overview]
Message-ID: <1130981813.8734.10.camel@localhost.localdomain> (raw)
In-Reply-To: <1130935066.4719.22.camel@localhost>
On Wed, 2005-11-02 at 12:37 +0000, Harry Butterworth wrote:
> On Wed, 2005-11-02 at 16:22 +1100, Rusty Russell wrote:
> > Here are example frontend and backend driver skeletons. They're
> > *designed* to handle driver restart and module unloading. However,
> > device_unregister deadlocks. I guess noone tried testing
> > unregister_xenbus_watch when not called from a watch callback.
>
> Thanks, that'll be useful for me to know when it comes to testing my
> code.
>
> For comparison, I've knocked up a skeleton FE/BE driver based on the
> xenidc API that I'm using for my USB driver.
>
> You'll see that my patch is smaller, simpler and provides significantly
> more functionality: enough to send messages and transactions
> bi-directionally between the FE and BE. For a fair comparison, yours
> would require interrupt handlers, use of the RING macros, correct memory
> barriers etc.
Agreed! These drivers are a clear demonstration that the current xenbus
device API is too low-level.
More obvious than putting a layer on top of the xenbus API was to change
the xenbus API to be more convenient. But when I tried to rewrite the
xenbus API, I realised I would have had to rewrite every driver, and it
doesn't get much nicer anyway.
A connection-oriented API seems an obviously-good idea to me.
Rusty.
--
A bad analogy is like a leaky screwdriver -- Richard Braakman
next prev parent reply other threads:[~2005-11-03 1:36 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-02 5:22 [PATCH] skeleton frontend/backend examples and a deadlock Rusty Russell
2005-11-02 12:37 ` Harry Butterworth
2005-11-03 1:36 ` Rusty Russell [this message]
2005-11-03 2:17 ` Mark Williamson
2005-11-02 12:52 ` Mark Ryden
2005-11-03 1:23 ` Rusty Russell
2005-11-15 0:16 ` Ewan Mellor
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=1130981813.8734.10.camel@localhost.localdomain \
--to=rusty@rustcorp.com.au \
--cc=harry@hebutterworth.freeserve.co.uk \
--cc=mark.williamson@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.