46 messages in com.xensource.lists.xen-develRe: [Xen-devel] /proc/xen/xenbus supp...
FromSent OnAttachments
NAHieu08 Sep 2005 01:02 
Christian Limpach08 Sep 2005 03:37 
Rusty Russell08 Sep 2005 17:43 
Christian Limpach13 Sep 2005 02:42 
Rusty Russell13 Sep 2005 17:20 
Christian Limpach14 Sep 2005 01:23 
Rusty Russell14 Sep 2005 02:18 
Christian Limpach14 Sep 2005 05:54 
Rusty Russell14 Sep 2005 18:39 
Keir Fraser15 Sep 2005 03:52 
Christian Limpach15 Sep 2005 04:02 
Rusty Russell17 Sep 2005 01:25 
Keir Fraser17 Sep 2005 01:33 
Christian Limpach17 Sep 2005 10:39 
Rusty Russell18 Sep 2005 17:10 
Rusty Russell18 Sep 2005 17:19 
Keir Fraser19 Sep 2005 01:54 
Rusty Russell20 Sep 2005 04:00 
Keir Fraser21 Sep 2005 02:35 
Keir Fraser21 Sep 2005 02:39 
harry21 Sep 2005 04:41 
Rusty Russell21 Sep 2005 19:07 
Rusty Russell21 Sep 2005 19:22 
Keir Fraser22 Sep 2005 02:34 
Keir Fraser22 Sep 2005 02:35 
Rusty Russell22 Sep 2005 15:54 
Rusty Russell22 Sep 2005 16:50 
Andrew Warfield22 Sep 2005 18:01 
Keir Fraser23 Sep 2005 02:16 
Keir Fraser23 Sep 2005 02:24 
Rusty Russell24 Sep 2005 17:56 
Rusty Russell24 Sep 2005 18:09 
Rusty Russell24 Sep 2005 20:29 
Keir Fraser25 Sep 2005 04:02 
Keir Fraser25 Sep 2005 04:08 
Keir Fraser25 Sep 2005 04:33 
Christian Limpach25 Sep 2005 11:55 
Rusty Russell25 Sep 2005 15:51 
Rusty Russell25 Sep 2005 16:05 
Rusty Russell25 Sep 2005 23:35 
Keir Fraser26 Sep 2005 00:33 
Christian Limpach26 Sep 2005 11:51 
Keir Fraser26 Sep 2005 12:29 
Rusty Russell26 Sep 2005 23:47 
Rusty Russell27 Sep 2005 00:15 
David Hopwood27 Sep 2005 16:31 
Subject:Re: [Xen-devel] /proc/xen/xenbus supports watch?
From:Rusty Russell (rus@rustcorp.com.au)
Date:09/25/2005 04:05:41 PM
List:com.xensource.lists.xen-devel

On Sun, 2005-09-25 at 12:33 +0100, Keir Fraser wrote:

On 25 Sep 2005, at 12:02, Keir Fraser wrote:

Yeah, I can live with this, although: What about multiple transactions within the kernel? Do you plan to continue serialising them (e.g., on a waitqueue)? An advantage of mux/demux would be that concurrent kernel transactions could easily use the same mechanism. Your scheme places restart mechanisms in user space, so they're out of reach for kernel transactions.

We already have the mechanism: xenbus_lock. I don't think we want to go for parallelism within the kernel for xenstore comms: it'd be a fair amount of pain for something which isn't exactly speed critical. Like Andrew said, I can't transactions getting significantly longer.

Also, page-per-connection won't entirely avoid sharing of state/resource in xenstored. At some point we'll want to add per-domain access policy, and space/bandwidth quotas (to prevent DoS). All of those must be shared between the multiple connections of a domain -- so the separate connections aren't as independent as you might like.

We already have a permissions model based on domid (although not actually enforced due to a bug: we can fix this with one line but will require xend fixups I imagine). Space quotas will have to be by ID, too, not by the connection(s) which created them: in the case of migration, the store will be recreated by the tools, but should still be counted against the ID which owns them. So even if we multiplexed all the connections together for one domain they would still have to be separate.

Bandwidth quotas are and interesting idea: I was thinking of a dumb fairness scheme. We almost do this: we rotate the list of connections, but there's a FIXME about the unfair way we service domain pages. Or we could just measure the time we spend servicing each connection, and put the slowest ones at the tail... (socket connections would be immune, since we trust dom0 tools). I haven't thought too hard about it.

Thanks, I'll update the TODO file... Rusty.