From: Harry Butterworth <harry@hebutterworth.freeserve.co.uk>
To: xen-devel@lists.xensource.com
Subject: [Fwd: Re: Interdomain comms]
Date: Fri, 06 May 2005 15:59:27 +0100 [thread overview]
Message-ID: <1115391567.13912.41.camel@localhost> (raw)
[-- Attachment #1: Type: text/plain, Size: 45 bytes --]
oops, forgot to copy the list on this reply.
[-- Attachment #2: Forwarded message - Re: Interdomain comms --]
[-- Type: message/rfc822, Size: 2664 bytes --]
From: Harry Butterworth <harry@hebutterworth.freeserve.co.uk>
To: Mike Wray <mike.wray@hp.com>
Subject: Re: Interdomain comms
Date: Fri, 06 May 2005 15:57:35 +0100
Message-ID: <1115391456.13912.40.camel@localhost>
On Fri, 2005-05-06 at 14:33 +0100, Mike Wray wrote:
> Harry Butterworth wrote:
> > What exactly were the issues with the socket-like proposal?
>
> The main objection was from Keir, he thought it was 'overkill'.
Given that the ratio of IDC API clients to IDC API implementations is
many to one I think it makes sense to invest in the IDC API
implementation to save effort in the clients.
Also, having smaller clients and more common code will make it easier to
introduce security features and implement performance optimisations.
Also, with a simpler API, there is less missing documentation ;-)
Seems like a no-brainer to me. Maybe Keir has more specific objections?
> I agree with that. I've attached what I sent out as the socket proposal.
> Thinking about it though, I don't really see why the api can't use
> the standard linux kernel 'struct sock' for the endpoints and 'struct sk_buff'
> for the data. These are both very flexible structs and can hide a lot of
> stuff. You need some struct for the addressing.
>
> The sk_buffs could be allocated out of the ring messages to avoid
> copying.
Ideally, I think the API should be self-contained, independent of Linux
and not a derived work because equivalent function is going to be
required for other paravirtualized operating systems and it would be
good to be able to have a common code base.
The extra features in my API are all there for a reason: transactions
with a request and response phase are convenient for the clients; the
three states for the connection allow bracketing of changes in the
availability of the resources that are of relevance to a specific client
without global coordination; I specifically included the guarantees
required to cope with stale communications; my sketch was expressed
independent of the existing linux code and my API is sufficiently
different from the well known sockets API that people won't get the two
APIs confused.
Again, this is just a sketch. If I thought about it I might want to
change it significantly.
I really must force myself to get back to the USB stuff now.
Harry.
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next reply other threads:[~2005-05-06 14:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-06 14:59 Harry Butterworth [this message]
2005-05-06 17:26 ` [Fwd: Re: Interdomain comms] Nivedita Singhvi
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=1115391567.13912.41.camel@localhost \
--to=harry@hebutterworth.freeserve.co.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.