From patchwork Mon May 4 10:28:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lukas Straub X-Patchwork-Id: 1282405 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=2001:470:142::17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=web.de Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=web.de header.i=@web.de header.a=rsa-sha256 header.s=dbaedf251592 header.b=Q7DL+Gbh; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:470:142::17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49Fzmj0Nyvz9sSc for ; Mon, 4 May 2020 20:36:37 +1000 (AEST) Received: from localhost ([::1]:58080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVYSg-0002jF-6q for incoming@patchwork.ozlabs.org; Mon, 04 May 2020 06:36:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41264) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVYKh-00075y-Jp for qemu-devel@nongnu.org; Mon, 04 May 2020 06:28:19 -0400 Received: from mout.web.de ([217.72.192.78]:34581) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jVYKg-0002RE-LU for qemu-devel@nongnu.org; Mon, 04 May 2020 06:28:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1588588088; bh=9/XfUlzD0JhzvxOKh/ThcXoK6slWbCKkPxSj2UT8mQM=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=Q7DL+GbhgYcXoq9DK3O+zZTxVkckul1ZBvjDnkmfgjP9wV09TEVClrLHD0LkNHz/Z OilSYXpkFVP/suIzAmuTn0IkPajoV7YzDGRq47Kib8KmZ9GLhUyGgc/EqQAjSOkvxC 3iqNcO7OO2/B8B+hvm5/fHcCdR8tx7lMqPQtb74c= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from luklap ([87.123.206.27]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1M7epr-1jWNo23nUj-0085j7; Mon, 04 May 2020 12:28:07 +0200 Date: Mon, 4 May 2020 12:28:05 +0200 From: Lukas Straub To: qemu-devel Subject: [PATCH v4 2/6] chardev/char.c: Use qemu_co_sleep_ns if in coroutine Message-ID: <4a0a27a167669dec734a37f0d3d3826ac131db4d.1588587700.git.lukasstraub2@web.de> In-Reply-To: References: MIME-Version: 1.0 X-Provags-ID: V03:K1:a2Bz2jMYlLxNs4b0QHBCR0y+PAYZszqhIj4J7sW7IFlyA9vNoxl zsGYQ261FMLk4TYTAwoO0SGXUxS/Fpy4Wjg2mKl7iA5FqU382huTkffiwwEg5esVfzh4Ea6 Zxopd0sp3SRtGzge1Td0XqMzWSC6OyztzEQNQPCloIPjyI/1XBuWiOQyWiC6rjE70SrxEpO k43PS7OamUGIAFLOVMzEg== X-UI-Out-Filterresults: notjunk:1;V03:K0:pHoRy1v7tVM=:KbvtLmsO44e1gpJsiA6ybR hKMqg6gSm7j8EjbWKw4j7X4lVBKdig9B03u2QV/L2D6xrKRnpquAEETURIvmNXlyxoe3Y3+I6 gIpveMx2s2pty39aQOiLHCLgF4+vJw4UajZgO4QBqoy6iXwgy4y0JDBSSz96wGS+HJ3YlT/HN Ds5DT9HZpdQFFNllyAcxJziplz58BsD+A+8YNINfTh5UnkC8xtFx0DYY9vAoMBHRPX2aRQz9o vxzfoZX76DTNfPZUT0v+hbh2c5RIEokdO8nmPMpj3Bcoaom7EZffFUUNA8o1KSNKlDWdwcXbr kDXUSRRA3EokxU3xhFBOSljBAzSFZ6t88bzPIRvw9FPcW3k0u75nyjJQS75vIDRxvzCR7vKcQ CmBqzOfinOV4k94+8mhx9SCMxPGN/BVSnTG2Fr330OM4Wg51b+7viCD645YcyHDJmdM8qWOnU jMtQbzva3lQbhIkdJvuGiV/0d+/rz3ep8PHcFcWNfvIlIxEEkk6Hi3PdLDm81002uW14S+ayz ASgzi5LyR68ML9o58wUVhTxxd+0O9pF51Ao7vNvBvf9NHK9XvbbABC9V6mjQi/6zCXXfCQamW NgOAkb6e9wrwdbmAN9qjtXNUZ520Ixze0btc3pKPo/IIsMOk1MG5s9EOzYLhzc/WmeWZWRu7h rafra2HCXBRHV5vmhQZHrL8XlTy6P+tXEUF+7PVZ1P/oBYgBWHvewbEG4eedjOG3nwAQEK1JF e0On+50GPDPjHEJ4RJ5u3KNsZnAjBDXMKIqrmj2T+PMQHgYiKo/4mhPlZ61D47y0iiSTHi+Jj nRTTgvHmUzihW+0y4gAkBH6EnvSIKTjZmbsZUIHnhaW8tX4JQKlIeu0l92MJdnJ8ag6D5FYF6 qRn6Im6UjChjakZCKlnQI0WjZWhXqbdhv/84V/J6PE2owasagtaGaE6MaKoFfvnmhS5mrN9Cb V3kon6GV+KHut175bevSKXDYfPy+D/RZRqbChjGuNrGqenj3rl5WXOhZ8S2+x3IRmiRhLUREI I2Od3v3EQSem0lnpZuqvsKVYij4TmjTPGICRK8e36c8UdDMyN19jklvva3incUcQ4dPlwemT5 KFMrmroa/aLEPPaSIIHRvBbvw2a4mjqGYG01HHQAtzqk54oHYb1ZJhXeLWXoTbJmkYArEfLVR 4pKVHqSOVOHN4m2QRX5phpN3FoPqusTN6DrlrKmLAKFVYPO7i3xtARpBOtFck/yFaTy+g1k18 n5o9m0DEJCK+FYFV4 Received-SPF: pass client-ip=217.72.192.78; envelope-from=lukasstraub2@web.de; helo=mout.web.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/04 06:28:11 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Zhang Chen , Jason Wang , Paolo Bonzini , Li Zhijian , =?utf-8?q?Marc-Andr=C3=A9?= Lureau Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This will be needed in the next patch. Signed-off-by: Lukas Straub Reviewed-by: Marc-André Lureau Reviewed-by: Zhang Chen --- chardev/char.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/chardev/char.c b/chardev/char.c index e77564060d..5c8014199f 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -38,6 +38,7 @@ #include "qemu/module.h" #include "qemu/option.h" #include "qemu/id.h" +#include "qemu/coroutine.h" #include "chardev/char-mux.h" @@ -119,7 +120,11 @@ static int qemu_chr_write_buffer(Chardev *s, retry: res = cc->chr_write(s, buf + *offset, len - *offset); if (res < 0 && errno == EAGAIN && write_all) { - g_usleep(100); + if (qemu_in_coroutine()) { + qemu_co_sleep_ns(QEMU_CLOCK_REALTIME, 100000); + } else { + g_usleep(100); + } goto retry; }