All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Andrew Warfield <andrew.warfield@cl.cam.ac.uk>
Cc: xen-devel List <xen-devel@lists.xensource.com>,
	Steven Hand <steven.hand@cl.cam.ac.uk>,
	Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Subject: Re: /proc/xen/xenbus supports watch?
Date: Sun, 25 Sep 2005 10:57:04 +1000	[thread overview]
Message-ID: <1127609824.796.28.camel@localhost.localdomain> (raw)
In-Reply-To: <eacc82a405092218014268eae0@mail.gmail.com>

On Thu, 2005-09-22 at 18:01 -0700, Andrew Warfield wrote:
> Rusty,
> 
>    Can you explain once again why you think that migrating in-progress
> transactions is the right thing to do?  It seems to me that our
> transactions are generally pretty small, and I don't imagine them
> getting problematically bigger in the future.  If client-side
> transaction code is already being written to expect failures and retry
> when they occur, what is the argument against blowing away in-progress
> transactions when you migrate.
> 
>    Given that the majority of current transaction code is to do with
> device drivers and you disconnect/reconnect those on migration anyway,
> why go through the extra work of adding complexity to migration?

Actually, with more thought on your excellent points I've changed my
mind: we should wait for any transactions to complete before saving
domain and sidestep the whole issue.

To recap, the problem is that if we are are halfway through a
transaction when we migrate the domain, it's hard to know what to do on
the next op (eg. "xs_write", "xs_read" etc).  Without migrating the
transaction, we can fail the next op with EAGAIN or return "dummy"
values, neither of which is pleasant.  (Failing with EAGAIN on commit is
different, and something the caller needs to handle anyway).

Now, we already have this "domain won't save until transactions are
done" simply because we use a single big lock, but this discussion
started because we want to get rid of that lock for /proc/xen/xenbus
(it's fine for drivers).  I think we should do so, but keep this
wont-save-during-transactions semantic; it means a waitqueue etc, but I
don't think it's too bad.  As you say, our transactions are pretty
small.

Do people like this more?
Rusty.
-- 
A bad analogy is like a leaky screwdriver -- Richard Braakman

  reply	other threads:[~2005-09-25  0:57 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-08  8:02 /proc/xen/xenbus supports watch? NAHieu
2005-09-08 10:38 ` Christian Limpach
2005-09-09  0:43   ` Rusty Russell
2005-09-13  9:42     ` Christian Limpach
2005-09-14  0:21       ` Rusty Russell
2005-09-14  8:24         ` Christian Limpach
2005-09-14  9:18         ` Rusty Russell
2005-09-14 12:55           ` Christian Limpach
2005-09-15  1:39             ` Rusty Russell
2005-09-15 10:53               ` Keir Fraser
2005-09-17  8:26                 ` Rusty Russell
2005-09-17  8:33                   ` Keir Fraser
2005-09-19  0:11                     ` Rusty Russell
2005-09-19  8:54                       ` Keir Fraser
2005-09-20 11:01                         ` Rusty Russell
2005-09-21  9:35                           ` Keir Fraser
2005-09-22  2:07                             ` Rusty Russell
2005-09-22  9:36                               ` Keir Fraser
2005-09-22 22:54                                 ` Rusty Russell
2005-09-23  9:17                                   ` Keir Fraser
2005-09-25  3:29                                     ` Rusty Russell
2005-09-25 11:02                                       ` Keir Fraser
2005-09-25 11:33                                         ` Keir Fraser
2005-09-25 18:55                                           ` Christian Limpach
2005-09-26  6:36                                             ` Rusty Russell
2005-09-26  7:33                                               ` Keir Fraser
2005-09-26 18:51                                               ` Christian Limpach
2005-09-26 19:30                                                 ` Keir Fraser
2005-09-27  6:48                                                   ` Rusty Russell
2005-09-27  7:15                                                 ` Rusty Russell
2005-09-27 23:31                                                   ` David Hopwood
2005-09-25 23:06                                           ` Rusty Russell
2005-09-21  9:39                           ` Keir Fraser
2005-09-21 11:42                             ` harry
2005-09-22  2:22                             ` Rusty Russell
2005-09-22  9:35                               ` Keir Fraser
2005-09-22 23:51                                 ` Rusty Russell
2005-09-23  1:01                                   ` Andrew Warfield
2005-09-25  0:57                                     ` Rusty Russell [this message]
2005-09-25 11:09                                       ` Keir Fraser
2005-09-25 22:52                                         ` Rusty Russell
2005-09-23  9:24                                   ` Keir Fraser
2005-09-25  1:09                                     ` Rusty Russell
2005-09-17 17:40                   ` Christian Limpach
2005-09-19  0:19                     ` Rusty Russell
2005-09-15 11:02               ` Christian Limpach

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=1127609824.796.28.camel@localhost.localdomain \
    --to=rusty@rustcorp.com.au \
    --cc=Christian.Limpach@cl.cam.ac.uk \
    --cc=andrew.warfield@cl.cam.ac.uk \
    --cc=steven.hand@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.