From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M7Ug0-0006Wt-H2 for qemu-devel@nongnu.org; Fri, 22 May 2009 09:20:44 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M7Ufv-0006V0-EG for qemu-devel@nongnu.org; Fri, 22 May 2009 09:20:43 -0400 Received: from [199.232.76.173] (port=39662 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M7Ufu-0006Ub-33 for qemu-devel@nongnu.org; Fri, 22 May 2009 09:20:39 -0400 Received: from e2.ny.us.ibm.com ([32.97.182.142]:32788) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1M7Uft-0006Xb-B8 for qemu-devel@nongnu.org; Fri, 22 May 2009 09:20:37 -0400 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e2.ny.us.ibm.com (8.13.1/8.13.1) with ESMTP id n4MDGI1Q017649 for ; Fri, 22 May 2009 09:16:18 -0400 Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n4MDKPqT236640 for ; Fri, 22 May 2009 09:20:25 -0400 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n4MDIMTG024642 for ; Fri, 22 May 2009 09:18:22 -0400 Message-ID: <4A16A696.8070902@us.ibm.com> Date: Fri, 22 May 2009 08:20:22 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] migrate.c: migrate_fd_put_buffer: Do not busyloop: stop writing if EWOULDBLOCK References: <1242731333-1526-1-git-send-email-uril@redhat.com> <4A151F9F.7050208@redhat.com> In-Reply-To: <4A151F9F.7050208@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: dlaor@redhat.com Cc: Uri Lublin , qemu-devel@nongnu.org Dor Laor wrote: > Uri Lublin wrote: >> The migration code is non-blocking, designed for live migration. >> >> Practically migrate_fd_put_buffer busy-loops trying to write, as >> on many machines EWOULDBLOCK==EAGAIN (look in >> include/asm-generic/errno.h). >> >> Signed-off-by: Uri Lublin >> --- >> migration.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/migration.c b/migration.c >> index 859d945..ca397fa 100644 >> --- a/migration.c >> +++ b/migration.c >> @@ -176,7 +176,7 @@ ssize_t migrate_fd_put_buffer(void *opaque, const >> void *data, size_t size) >> >> do { >> ret = s->write(s, data, size); >> - } while (ret == -1 && ((s->get_error(s)) == EINTR || >> (s->get_error(s)) == EWOULDBLOCK)); >> + } while (ret == -1 && ((s->get_error(s)) == EINTR)); >> >> if (ret == -1) >> ret = -(s->get_error(s)); >> > There is additional stuff that needs to test EWOULDBLOCK in further > locations in the code. > Otherwise migration will fail. > > commit 2d875410cb168fa728dcde96885a3e4ddfd0bb58 > Author: Dor Laor > Date: Thu May 21 12:29:39 2009 +0300 > > The migration code is non-blocking, designed for live migration. > Practically migrate_fd_put_buffer busy-loops trying to write, as > on many machines EWOULDBLOCK==EAGAIN (look in > include/asm-generic/errno.h). > Based on Uri Lublin's patch. > Signed-off-by: Dor Laor This is whitespace damaged, presumably from copy/paste, can you resend? -- Regards, Anthony Liguori