From patchwork Sun Apr 17 18:29:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562878 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1882392map; Sun, 17 Apr 2022 11:55:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1uob2r7+NCQFxFVdWRyYXMv9oV3d/xFS3eUYM1Pa4LhNasz6H3IZzzZprVJjJZJrtR+br X-Received: by 2002:a05:6214:401d:b0:446:40bc:6687 with SMTP id kd29-20020a056214401d00b0044640bc6687mr5725720qvb.110.1650221716997; Sun, 17 Apr 2022 11:55:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221716; cv=none; d=google.com; s=arc-20160816; b=JHP9q5Q2huUe7QlovsSn4GsBQx4wXxhLr5darjI8t17jUAQrxSHXNVAsaP3dYLLV9l fw/y18wDzKXTqfG6IJCdLtyC4D97NwcH7ed2BDsLzaC4QdXvlRpJpVfo15tWlb9AOrY/ BsR7mqdmx4RxB4IDioG+V6jpCsZjJAWnqYZL+dmRcgbr46/ROXr/29uckP2f13PSMmVM motlWjwGvyvcPP5pRf0aKt2F6PBa7beXdr4itInZa0AkyaQsk+qfW0sO9gs8wi05vaDy k9ee858W1I2hNjq55NW7LBBafOCZAifonar0Ex7IgMlBk7hOhZTPvGrc4+HF9GnJ/cME 3CSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=hSJXBg/184u8r3uaJrOb0GqfAeU9RlxZON49hn1UzLA=; b=z2hzeS8jE1mYLg7eieApFnLEo9dD07dVP2lwhXT37VbZHGRakhHfZndbGk8DUKSbj4 YmFyZUMJHYHPOIV+hpVtRHh6LfSRApaORbg8ef0qgGVfnfNWVrXUiV8TL1hLdqnWLtwq tH+AUyWOsbl7Ujs1RP/yIOvQ2M+9OvA6t6hgLz5D5OU4mixL8VYMqvxpptGTfnDFbfGD fzXcZj++ERMZe64AhRQVkNQ9icwsvIFaOooz4+XyVyFW6i52OUMUWfLhYwpAvJe4lTZU idczcDrzqo68mVLVUPTqHk7hYDQpRj3V3S2/H6l6IdFBU7DZTHqEVt/AJuhhjmFQhzFd 9scQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zHRI2GVE; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id bp35-20020a05622a1ba300b002e1fbf3bf97si2558297qtb.392.2022.04.17.11.55.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:55:16 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zHRI2GVE; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:53742 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA3I-000504-I2 for patch@linaro.org; Sun, 17 Apr 2022 14:55:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57026) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fK-0000PD-II for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:31 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]:35711) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fE-0001jc-3z for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:27 -0400 Received: by mail-pj1-x1033.google.com with SMTP id i24-20020a17090adc1800b001cd5529465aso10875572pjv.0 for ; Sun, 17 Apr 2022 11:30:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hSJXBg/184u8r3uaJrOb0GqfAeU9RlxZON49hn1UzLA=; b=zHRI2GVEmflCky8UyVp4wHh2oZmcZMS72B5k6rZC88UPXnGyf2lNy/GWi05TAM8Xf/ SAEtJ2MPLEt9RhHt9/vrpaB6PODGtfjn73r7DFQJJ+zf1dx8suUq5MrYzFCvmc4rIGAC 0J3nyxzu4m1qwqEvmncUIEeNIbPzO34EJxr9NevAhphfeSOpSPaS7Blqpks5WUu98ZO9 odqGX9LUyTZon90ttc2baWvz0cajqgFE9cQfaM2wDRzOyAXw0sUJczLirjj+h7iCHHt/ +RFaDqy1dxEdpLzBsd4S2C/+cxE03jIS9re+z18LVlW8fsp4B2DssBgGznIAAt6p3O2l TzFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hSJXBg/184u8r3uaJrOb0GqfAeU9RlxZON49hn1UzLA=; b=i4vFITsCaXe9oVZA1Zlpe8LoA3N12qh7oDfGR/Mciu2vs/H4rSuI79J+O9ofsCHpVr nELbKWeeiMU0TFcCneydFrMqMcMKC/1DuBjviZYi6L8GXQo+Q8wZu/X8LAlTuDsd+d6B m2NWXkE7jt2f6RWGUpUA0ehXaB/OHQTFq4Td/tMGQD/4nIwIsCujUwlxYwE08YT975tC HL32jaRMeTXeqdR07qAz59gv+yuRG3ZgmXw2zcIHDffrwoXYeTvonndlcTNDL3gFjWRo M5S7DGCW/Kxd8KNVFfsk6b+IAbdkO7p5Zlg3ADJUd6iZ/qDyp/B0AtRZbgzgym88J6Wy v6ig== X-Gm-Message-State: AOAM530R2ynGeWgVoFLEjc41cf9ezSdZ0CAVLsOch9VT8p471JoCg8OA fctmpXiLCtPsXRDPGRGmRbDHJvzhZG6W1A== X-Received: by 2002:a17:90a:5647:b0:1d2:87a9:479a with SMTP id d7-20020a17090a564700b001d287a9479amr3444776pji.222.1650220221417; Sun, 17 Apr 2022 11:30:21 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 01/39] util/log: Drop manual log buffering Date: Sun, 17 Apr 2022 11:29:41 -0700 Message-Id: <20220417183019.755276-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1033.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This buffering was introduced during the Paleozoic: 9fa3e853531. There has never been an explanation as to why we may not allow glibc to allocate the file buffer itself. We certainly have many other uses of mmap and malloc during user-only startup, so presumably whatever the issue was, it has been fixed during the preceeding 18 years. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/qemu/log.h | 1 - bsd-user/main.c | 1 - linux-user/main.c | 1 - util/log.c | 21 ++++----------------- 4 files changed, 4 insertions(+), 20 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index 5739c7e6d8..ed59ebd4a2 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -148,7 +148,6 @@ typedef struct QEMULogItem { extern const QEMULogItem qemu_log_items[]; void qemu_set_log(int log_flags); -void qemu_log_needs_buffers(void); void qemu_set_log_filename(const char *filename, Error **errp); void qemu_set_dfilter_ranges(const char *ranges, Error **errp); bool qemu_log_in_addr_range(uint64_t addr); diff --git a/bsd-user/main.c b/bsd-user/main.c index 88d347d05e..08f43af235 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -405,7 +405,6 @@ int main(int argc, char **argv) } /* init debug */ - qemu_log_needs_buffers(); qemu_set_log_filename(log_file, &error_fatal); if (log_mask) { int mask; diff --git a/linux-user/main.c b/linux-user/main.c index fbc9bcfd5f..2b06350688 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -679,7 +679,6 @@ int main(int argc, char **argv, char **envp) log_mask = last_log_mask | (enable_strace ? LOG_STRACE : 0); if (log_mask) { - qemu_log_needs_buffers(); qemu_set_log(log_mask); } diff --git a/util/log.c b/util/log.c index 2ee1500bee..ffa66a267e 100644 --- a/util/log.c +++ b/util/log.c @@ -72,8 +72,6 @@ static void qemu_logfile_free(QemuLogFile *logfile) g_free(logfile); } -static bool log_uses_own_buffers; - /* enable or disable low levels log */ void qemu_set_log(int log_flags) { @@ -121,29 +119,18 @@ void qemu_set_log(int log_flags) assert(!is_daemonized()); logfile->fd = stderr; } - /* must avoid mmap() usage of glibc by setting a buffer "by hand" */ - if (log_uses_own_buffers) { - static char logfile_buf[4096]; - setvbuf(logfile->fd, logfile_buf, _IOLBF, sizeof(logfile_buf)); - } else { #if defined(_WIN32) - /* Win32 doesn't support line-buffering, so use unbuffered output. */ - setvbuf(logfile->fd, NULL, _IONBF, 0); + /* Win32 doesn't support line-buffering, so use unbuffered output. */ + setvbuf(logfile->fd, NULL, _IONBF, 0); #else - setvbuf(logfile->fd, NULL, _IOLBF, 0); + setvbuf(logfile->fd, NULL, _IOLBF, 0); #endif - log_append = 1; - } + log_append = 1; qatomic_rcu_set(&qemu_logfile, logfile); } } -void qemu_log_needs_buffers(void) -{ - log_uses_own_buffers = true; -} - /* * Allow the user to include %d in their logfile which will be * substituted with the current PID. This is useful for debugging many From patchwork Sun Apr 17 18:29:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562882 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1883764map; Sun, 17 Apr 2022 11:58:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxtM4YDvhBNVIqjvb0qCbjlAz2oKmWqm7hW0Krsnp+fSGOtP+Uz/5/TPItVV0nO0X1dC64P X-Received: by 2002:ac8:5bd2:0:b0:2f2:107:bfa2 with SMTP id b18-20020ac85bd2000000b002f20107bfa2mr504755qtb.38.1650221906893; Sun, 17 Apr 2022 11:58:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221906; cv=none; d=google.com; s=arc-20160816; b=gwy9MKgjMnupxC860f6YEQjBKQRVAi0k5btVasOK0i/kNzK1bnNldYMQfGqls1UPSo xd/ly+sTzn7tP4Dv2gNsGzIIc5ZQQnqNZhotmOxGHTs5KYlos5SNQqvjhE3oEx2u03sM iyFNeo7OPHulQFuWoaPo8UYPE8ZchAeXet3W70NOWeNpmpRCz7txs/azPBeh0+x2vhTz ipbT3dyAWJMVynbL/cEBmxV19xKMhuJ1cUwk7BL+rPDIjyQ0mqYSv1CDqyKsVvtzWPvB qwdOnu+deQdKOTS8olGQluL+vJU2NWTlbuXJMGIBI/PMcX9fDqKI+K9DcJXm7x4tucdx I7yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=RUBe0C4iT5t4/OHe4DJ+hJf3HvDnr2dd4byJPft2OJg=; b=B84XsHdMWG4qa6c/oiGTMvbi1xCiD5iL4SqQb6KsdqNI3icUUBFKcYmcBeHbkKCjsQ q3pD8HPqi+UR0dyWcZAAkbiG+Um93iAd6vblbF23otegUws4iZ8z6iT4wuIXFjOhTaSj HVE0Fuvyq6FE1CAw8pHt9a/jugE/6vhEUHOikLxK3Ui3i0LgfJfGUuklOSm20cgr+c7L Dhb+tE6eLQVSAlJqwQ7Nrvs6PYoni89ukIKP4Ox/KGgqibYwrk5n+phSImubVi6/Cbgn tfDsIuMiisrVpAvDqYAF0T9YnkpQRDtXkNITDaXjjCe0zE4NuD1/pU1+CNWTo86kdyR1 CI7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Y5IflK46; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id gm3-20020a056214268300b004465ecf4a93si231915qvb.260.2022.04.17.11.58.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:58:26 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Y5IflK46; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:36724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA6M-00048J-E8 for patch@linaro.org; Sun, 17 Apr 2022 14:58:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57002) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fH-0000P8-TP for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:31 -0400 Received: from mail-pg1-x531.google.com ([2607:f8b0:4864:20::531]:45888) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fD-0001jh-T6 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:25 -0400 Received: by mail-pg1-x531.google.com with SMTP id k29so15048317pgm.12 for ; Sun, 17 Apr 2022 11:30:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RUBe0C4iT5t4/OHe4DJ+hJf3HvDnr2dd4byJPft2OJg=; b=Y5IflK46uLun63N0EBTAWzspumDw3Qmb5P3qn1olZyhJkTj0RJ+yeH2jnzDfdIXZwj 7sZW9E84fBFc6Tzauvqh8z9gOyXuSjUDiZn0AcLolVs5rwtj3aMaiw5HFVV8P0Z+DJDb dIhhSk6uSvq6HLWP+vAbgm4i/2yV+Sv4xo5h9HqJ0xQE9aztdUwZjXTLoNc+Ij+pzP8f Wvpsl61WKkNGuitj4MWwr2uB2YPHH+kpeOQOZJDabYa1lHLHqEZXtDXTTDDhIE2j5uM5 xNKUtOCNmEyqrsbs/xusZlwBqPTV9JVQJkyqubcI95s97+MLHgM4UKx/IyfH85vQkPHO ku/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RUBe0C4iT5t4/OHe4DJ+hJf3HvDnr2dd4byJPft2OJg=; b=yBr3ODSvTFlDTyVbfG/584qye8TQTIvBA5sNDNcBy7aiINCsi4V//dx+WXCDZUMTRC ESJc4uYCsHF/T1e3hrD6YgdPhEdonRi+erthsZGEwEBqI0qOFJZ9sWFzQ83FBeUQNn4+ iG+36mo1PGHCTNyarjyrcFrUkA5XqpKtBRIlzCg5uk/a6RYwmaesO9QmE3NfRYJuFTyE B5KpRYWfaNA0KB6M70IR2Q2b3Jrip3QLkwaKZkz9t4dHCS+fkjzLZB8VJ1vI3KNb7zI+ D350SlcG1MsVf+vXiFGXK0iRfejjfxTOwivFPYVHhCRjFXlyAgT9i/vTbfyf2Tn7YY/w j9vA== X-Gm-Message-State: AOAM532uyo9IXv5EtArxMePnNEKT+zA3EcyxbtTwg9+cAOPtVhqXsCzL azapm8GwU/cEWpSSQi3rtWIPIpvq+ChUqg== X-Received: by 2002:a05:6a00:814:b0:505:9fad:4252 with SMTP id m20-20020a056a00081400b005059fad4252mr8582399pfk.54.1650220222178; Sun, 17 Apr 2022 11:30:22 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 02/39] target/hexagon: Remove qemu_set_log in hexagon_translate_init Date: Sun, 17 Apr 2022 11:29:42 -0700 Message-Id: <20220417183019.755276-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::531; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x531.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This code appears to be trying to make sure there is a logfile. But that's already true -- the logfile will either be set by -D, or will be stderr. In either case, not appropriate here. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- target/hexagon/translate.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/target/hexagon/translate.c b/target/hexagon/translate.c index b6f541ecb2..98f1452cad 100644 --- a/target/hexagon/translate.c +++ b/target/hexagon/translate.c @@ -874,12 +874,6 @@ void hexagon_translate_init(void) opcode_init(); - if (HEX_DEBUG) { - if (!qemu_logfile) { - qemu_set_log(qemu_loglevel); - } - } - for (i = 0; i < TOTAL_PER_THREAD_REGS; i++) { hex_gpr[i] = tcg_global_mem_new(cpu_env, offsetof(CPUHexagonState, gpr[i]), From patchwork Sun Apr 17 18:29:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562875 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1881274map; Sun, 17 Apr 2022 11:52:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzkbHF2edCbk5LBeKaI1WSyYXrgSIQfLa25ii6Gs57ORd7XHhcBWt4vA9htOEOCPYNv1eUd X-Received: by 2002:a05:622a:178b:b0:2f1:fb71:4456 with SMTP id s11-20020a05622a178b00b002f1fb714456mr1942712qtk.249.1650221550477; Sun, 17 Apr 2022 11:52:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221550; cv=none; d=google.com; s=arc-20160816; b=M73I/5lh8xc18YZQFNceCncPIpZ+xp1CoO+EuLGf5h/qnMZzi9q+9JqCjs6OtoEi6z WagyZBXoEKNi9a/AILh6KN6XGid4zU6okZ9DC4TIq2+UuLjAwRDmnS/XIurHLyjQq+1I ueYy708ZKwBEoj2UefxB0SeyrsmstZf0Az2jH4JgzpLu/E3DPlpkZVc8icTNiscn7T8Z 6rZdXOxgzOGZa5Lmr87zMpvx7vjahB2V+Nm7LC10r4z35Zay0trC33LCG8VbJtIXHuRq cgCp3rF3tEJD55yck3MWjkIdSHuZxJkxaakzvTiqo+wN8wjzfGOzrW+PNOJQPMn54R/c F2NQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=p4KreqFWRFVCoMDsRPqyRSaTvtdjID/fSH1d8UX0olM=; b=AKBFYTk1jJolUFIOdXLOOJrbpJSCKm9laU5tPZWne22EHTSiUo3NEfTE0OEuv/PUAr wKnTCGa3tZr8HLFM/9JpsLbA4eXq0d3YY65q2f/r3rMZbEqgWYaV3qHOccVWA8YB9Rod oy6CftZA29axCduuCVXdr3s6vZMH5cwGbcVtzCTy3aMa7mfSeJ0NdaYuFS1cfenTKjQ1 yc6rgXpwboYTWy3g6BCKVZAJIk5mm4AHf98iJqaudeYHQRP64SnH7RrAEW1DWA0WQx+t sOvdGaX1cQ0OLUtVRjKXbbEav6yrEeVcMg4eff+sgqOAAKqcHTkgKfKR7MXUWKt2pP83 r0/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iflEclTi; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id c4-20020ac87dc4000000b002e1fbf3bf74si46990qte.357.2022.04.17.11.52.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:52:30 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=iflEclTi; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:44174 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA0c-00071T-2h for patch@linaro.org; Sun, 17 Apr 2022 14:52:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57024) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fK-0000PC-Hl for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:31 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:39772) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fF-0001jl-Lf for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:27 -0400 Received: by mail-pl1-x631.google.com with SMTP id c12so10788978plr.6 for ; Sun, 17 Apr 2022 11:30:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=p4KreqFWRFVCoMDsRPqyRSaTvtdjID/fSH1d8UX0olM=; b=iflEclTi5QEbVWyw/urkd2SlnCHeDJSBebCeSN2MzS4hcph96SauKvPGOQMkmUHdiw 9cfS/EDe9+qRb0LlF688Uln63TEIlyMOIEsjmomKkjD48qkzWMAYlPryKhuOExrVl3mg zCbUWve7JJTztpu/zmw1EzGXjI82xWQ5WM6UtJuUAUYVBnBME3/N4Q1QHn2ddgMcOUG+ sKdMmaFKXet4bJc0JgcOJXrbuSLZ24F56gkcAYcGG9VZ08pGPWQfBzBqIYdsOaEPNRf0 6/MScrmVUtEeuQcIY1i5rxBJJ6XZ5WYyLeXIJsca9jYpd1gTwGmDQChzYmNmiz+8lr8a 6JNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=p4KreqFWRFVCoMDsRPqyRSaTvtdjID/fSH1d8UX0olM=; b=3v731jBbw9p3VVAAkQ/XNYdgu4QFz2c+OmsylPu47GmLecaHmRYjiLSG6wAXdyRZUd /BiScgbYqEF4OcgT3uq5cm6FogM9ywVYuuUHt5wfP/KETQfgEtmW5uM+FgcQnGH8NmF8 g0J6s3SzM3m39WUrLmrf/CFNc47NptTha+vPghXXqpfWm/hAtYDPwQCGRljBzVZjm3Sd VRqNWddCujkWCtjZSgIS/Y0RjhrOPBY58bgP62Objd4oLgJVLaGjfWN/Bg3V7pNk2xnp hO6pYpmNgTtjRH8hZwsBOf1oGlB/F+tyL3XYLt9YLa+hV1XPdPkF0voUyareO6md+dNE GXXg== X-Gm-Message-State: AOAM531uqUK/UqYXK2rhN5Ghzmvrm+/KJEjQFhTeibemePd0Qfc758FW smJKU2b+nNaYWeiNpTstDQcbvzz8eK0uMA== X-Received: by 2002:a17:90b:2305:b0:1d2:812e:8279 with SMTP id mt5-20020a17090b230500b001d2812e8279mr4366224pjb.47.1650220223173; Sun, 17 Apr 2022 11:30:23 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:22 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 03/39] util/log: Return bool from qemu_set_log_filename Date: Sun, 17 Apr 2022 11:29:43 -0700 Message-Id: <20220417183019.755276-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Per the recommendations in qapi/error.h, return false on failure. Use the return value in the monitor, the only place we aren't already passing error_fatal or error_abort. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/qemu/log.h | 2 +- monitor/misc.c | 3 +-- util/log.c | 5 +++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index ed59ebd4a2..fabfbe41da 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -148,7 +148,7 @@ typedef struct QEMULogItem { extern const QEMULogItem qemu_log_items[]; void qemu_set_log(int log_flags); -void qemu_set_log_filename(const char *filename, Error **errp); +bool qemu_set_log_filename(const char *filename, Error **errp); void qemu_set_dfilter_ranges(const char *ranges, Error **errp); bool qemu_log_in_addr_range(uint64_t addr); int qemu_str_to_log_mask(const char *str); diff --git a/monitor/misc.c b/monitor/misc.c index a756dbd6db..04ec0711da 100644 --- a/monitor/misc.c +++ b/monitor/misc.c @@ -419,8 +419,7 @@ static void hmp_logfile(Monitor *mon, const QDict *qdict) { Error *err = NULL; - qemu_set_log_filename(qdict_get_str(qdict, "filename"), &err); - if (err) { + if (!qemu_set_log_filename(qdict_get_str(qdict, "filename"), &err)) { error_report_err(err); } } diff --git a/util/log.c b/util/log.c index ffa66a267e..a838686a18 100644 --- a/util/log.c +++ b/util/log.c @@ -138,7 +138,7 @@ void qemu_set_log(int log_flags) * * filename may be NULL. In that case, log output is sent to stderr */ -void qemu_set_log_filename(const char *filename, Error **errp) +bool qemu_set_log_filename(const char *filename, Error **errp) { g_free(logfilename); logfilename = NULL; @@ -149,7 +149,7 @@ void qemu_set_log_filename(const char *filename, Error **errp) /* We only accept one %d, no other format strings */ if (pidstr[1] != 'd' || strchr(pidstr + 2, '%')) { error_setg(errp, "Bad logfile format: %s", filename); - return; + return false; } else { logfilename = g_strdup_printf(filename, getpid()); } @@ -160,6 +160,7 @@ void qemu_set_log_filename(const char *filename, Error **errp) qemu_log_close(); qemu_set_log(qemu_loglevel); + return true; } /* Returns true if addr is in our debug filter or no filter defined From patchwork Sun Apr 17 18:29:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562889 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1886651map; Sun, 17 Apr 2022 12:03:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQir81KQ4gzK29qWn8g+BBPlAeJZBrU1bW0NJBfhDnTgLGsITLt5E66EirEPyfBhiaSEdn X-Received: by 2002:ac8:5786:0:b0:2f1:d32e:f744 with SMTP id v6-20020ac85786000000b002f1d32ef744mr5151989qta.33.1650222226423; Sun, 17 Apr 2022 12:03:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222226; cv=none; d=google.com; s=arc-20160816; b=iEz9PKlnsS2VoTXCUi02kPLrWYv291/eppupJU30QJqxBuaFhYKuWKu9wL0IwsvmIY ZRiUzO6yj1N41CMyX7BH5jQeFq+FbQnTsxA3lIHQd04V4rnSg8gFEsiVgk5Wnil/XbKk ww6EsR91FoYdP+/otAe4+EqOoe6q3gFd0MJTUYMNgcE+coXEvDjbNHNVOrp3ME0Ya/N9 ClhuID0bEj/EYtd3qaFCUG7wy0PXNkE/asI+F/fdOq4V54/XjRKLt5cKfomyDhi+Hrms W0GTV0hI/dR6cCh5dfzKxz/ACShaoBX4QcgVcptjWFT/BVQgr/6m0Af0TN25O3WHhGPi O4fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=fkebT/LAE7REyAtIfeqmANwHWRp/aC2ry/0wfG2Z0R0=; b=ZSLyrwOd5FOi+AJ7YVCkJG8pu4KGfTJqO0wfK7ZxWkGI7z+iKg337KDhPixemWKjrQ fQu1OA05dX0cMaBOAkRjEDZ6pRrMRFL1Kt1t/cNUdyZuccKr7zjUpw1HtVpycz24A/rO vLa5o4jN5Ozw3Pw9knYPbQYwnUxpRWv03SEmUyso38a8vRzF7cwSeLEttQQTRZnNcu8N BzaUNJWXhDdLd9g1qZqd7Cy5DY6gp2hQ3ooNnOUCtGRmaeHOAGsm45AuIDndnJf5GnPm JT0VKOs3AQelrQK8fkaMkWRQSPJYWTG8iysCFB68027qdtpHKBgPrflVj950es15EsuB G//A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AGxEk63c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id n23-20020ae9c317000000b0069e60da4592si1932425qkg.706.2022.04.17.12.03.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:03:46 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AGxEk63c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:51310 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngABV-0005gZ-W6 for patch@linaro.org; Sun, 17 Apr 2022 15:03:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fL-0000PX-LA for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]:38852) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fF-0001jt-MK for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:27 -0400 Received: by mail-pj1-x102b.google.com with SMTP id s14-20020a17090a880e00b001caaf6d3dd1so15573831pjn.3 for ; Sun, 17 Apr 2022 11:30:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fkebT/LAE7REyAtIfeqmANwHWRp/aC2ry/0wfG2Z0R0=; b=AGxEk63cFQ6QijqHQTeA+pjEBOrd7V7sVfKsGw4xY3wqlW/3ToKIRYrin5BjG0HIup ry82OwybN8VIUsrHbCm8ZLRPMFqy6uhYhispu25QT9tuIxaVz4IVBNxuY0glb67X401V wtlCfrL28djULtjgv6bxynXBXjAeYGi4Z516wWmSp0ipoll5cJe2CnGzM/OYzir+3ugk bNhsOoMEHiqJj1EVGw7d1oVBJwYNdeJFCRAyb9hm9y+q15DpH54kuU97LFzVXKwma5CL EKuUriAXNhLXsYb+pueXK4tmp3L/B/VIxXP3E8SxmP43ZVgXw+b5je3MC5rv4hTExqM3 +yQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fkebT/LAE7REyAtIfeqmANwHWRp/aC2ry/0wfG2Z0R0=; b=hl00ftJXb9k6Jy0+fbrejtzw3gwZCR92dxDnJOtw0RhQL6y0agomGitg/sgXpNZ1jg vK8zKv6oT5YphkH6QrELDzUctQKuaZBFe/LLiM7y8Df01+YVkiONXFCpXfiGQaRqP63z Rb0kUbFgCypw+N85TCSJzaP+NtOJBsdcXAQiSAeGXtN4QLbV8HFacVwYgz7cIZ4zXPyy ggjCgaZ3+lU6P2Mfy/uk3lJ9CejitPR/bjbgABQueQF3bDXI/GIhBa/OTJeQXSmzp4OZ kkQYKGIje2/LDNYGRohheSzBqoUGffr99VY/clwRU/e5+cr0OXeYhzEINzIcvtnH7pO1 YhGQ== X-Gm-Message-State: AOAM532+LuDC1J54ZEwHUZkz0PLcxPXNsxgijvNcCYpjfbHQ/YOVd538 2rc95KUwbFrq9YTWG444RGzqDb7dSTcGMQ== X-Received: by 2002:a17:902:ea4f:b0:158:5013:1403 with SMTP id r15-20020a170902ea4f00b0015850131403mr7847837plg.75.1650220223881; Sun, 17 Apr 2022 11:30:23 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 04/39] util/log: Pass Error pointer to qemu_set_log Date: Sun, 17 Apr 2022 11:29:44 -0700 Message-Id: <20220417183019.755276-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102b; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Do not force exit within qemu_set_log; return bool and pass an Error value back up the stack as per usual. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- v2: Return bool, per recommendations in qapi/error.h (phil). --- include/qemu/log.h | 2 +- bsd-user/main.c | 2 +- linux-user/main.c | 2 +- monitor/misc.c | 6 +++++- qemu-img.c | 2 +- qemu-io.c | 2 +- qemu-nbd.c | 2 +- scsi/qemu-pr-helper.c | 2 +- softmmu/vl.c | 4 ++-- storage-daemon/qemu-storage-daemon.c | 2 +- tests/unit/test-logging.c | 2 +- util/log.c | 12 ++++++------ 12 files changed, 22 insertions(+), 18 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index fabfbe41da..0b892f5e90 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -147,7 +147,7 @@ typedef struct QEMULogItem { extern const QEMULogItem qemu_log_items[]; -void qemu_set_log(int log_flags); +bool qemu_set_log(int log_flags, Error **errp); bool qemu_set_log_filename(const char *filename, Error **errp); void qemu_set_dfilter_ranges(const char *ranges, Error **errp); bool qemu_log_in_addr_range(uint64_t addr); diff --git a/bsd-user/main.c b/bsd-user/main.c index 08f43af235..0c8aa1ae90 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -414,7 +414,7 @@ int main(int argc, char **argv) qemu_print_log_usage(stdout); exit(1); } - qemu_set_log(mask); + qemu_set_log(mask, &error_fatal); } if (optind >= argc) { diff --git a/linux-user/main.c b/linux-user/main.c index 2b06350688..6aed4929ab 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -679,7 +679,7 @@ int main(int argc, char **argv, char **envp) log_mask = last_log_mask | (enable_strace ? LOG_STRACE : 0); if (log_mask) { - qemu_set_log(log_mask); + qemu_set_log(log_mask, &error_fatal); } if (!trace_init_backends()) { diff --git a/monitor/misc.c b/monitor/misc.c index 04ec0711da..b16334b75a 100644 --- a/monitor/misc.c +++ b/monitor/misc.c @@ -428,6 +428,7 @@ static void hmp_log(Monitor *mon, const QDict *qdict) { int mask; const char *items = qdict_get_str(qdict, "items"); + Error *err = NULL; if (!strcmp(items, "none")) { mask = 0; @@ -438,7 +439,10 @@ static void hmp_log(Monitor *mon, const QDict *qdict) return; } } - qemu_set_log(mask); + + if (!qemu_set_log(mask, &err)) { + error_report_err(err); + } } static void hmp_singlestep(Monitor *mon, const QDict *qdict) diff --git a/qemu-img.c b/qemu-img.c index 1caddfb23a..9c05c6275d 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -5442,7 +5442,7 @@ int main(int argc, char **argv) exit(1); } trace_init_file(); - qemu_set_log(LOG_TRACE); + qemu_set_log(LOG_TRACE, &error_fatal); /* find the command */ for (cmd = img_cmds; cmd->name != NULL; cmd++) { diff --git a/qemu-io.c b/qemu-io.c index eb8afc8b41..38321a27a3 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -634,7 +634,7 @@ int main(int argc, char **argv) exit(1); } trace_init_file(); - qemu_set_log(LOG_TRACE); + qemu_set_log(LOG_TRACE, &error_fatal); /* initialize commands */ qemuio_add_command(&quit_cmd); diff --git a/qemu-nbd.c b/qemu-nbd.c index 713e7557a9..bf9c5fedce 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -804,7 +804,7 @@ int main(int argc, char **argv) exit(1); } trace_init_file(); - qemu_set_log(LOG_TRACE); + qemu_set_log(LOG_TRACE, &error_fatal); socket_activation = check_socket_activation(); if (socket_activation == 0) { diff --git a/scsi/qemu-pr-helper.c b/scsi/qemu-pr-helper.c index f281daeced..1f2a84c534 100644 --- a/scsi/qemu-pr-helper.c +++ b/scsi/qemu-pr-helper.c @@ -1001,7 +1001,7 @@ int main(int argc, char **argv) exit(EXIT_FAILURE); } trace_init_file(); - qemu_set_log(LOG_TRACE); + qemu_set_log(LOG_TRACE, &error_fatal); #ifdef CONFIG_MPATH dm_init(); diff --git a/softmmu/vl.c b/softmmu/vl.c index 6f646531a0..a74d0a44a2 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2569,9 +2569,9 @@ static void qemu_process_early_options(void) qemu_print_log_usage(stdout); exit(1); } - qemu_set_log(mask); + qemu_set_log(mask, &error_fatal); } else { - qemu_set_log(0); + qemu_set_log(0, &error_fatal); } qemu_add_default_firmwarepath(); diff --git a/storage-daemon/qemu-storage-daemon.c b/storage-daemon/qemu-storage-daemon.c index eb72407257..1398f0443d 100644 --- a/storage-daemon/qemu-storage-daemon.c +++ b/storage-daemon/qemu-storage-daemon.c @@ -392,7 +392,7 @@ int main(int argc, char *argv[]) if (!trace_init_backends()) { return EXIT_FAILURE; } - qemu_set_log(LOG_TRACE); + qemu_set_log(LOG_TRACE, &error_fatal); qemu_init_main_loop(&error_fatal); process_options(argc, argv, false); diff --git a/tests/unit/test-logging.c b/tests/unit/test-logging.c index ccb819f193..93c6d666e8 100644 --- a/tests/unit/test-logging.c +++ b/tests/unit/test-logging.c @@ -123,7 +123,7 @@ static void test_logfile_write(gconstpointer data) * In cases where a logging backend other than log is used, * this is needed. */ - qemu_set_log(CPU_LOG_TB_OUT_ASM); + qemu_set_log(CPU_LOG_TB_OUT_ASM, &error_abort); file_path = g_build_filename(dir, "qemu_test_log_write0.log", NULL); file_path1 = g_build_filename(dir, "qemu_test_log_write1.log", NULL); diff --git a/util/log.c b/util/log.c index a838686a18..bab4d29ecb 100644 --- a/util/log.c +++ b/util/log.c @@ -73,7 +73,7 @@ static void qemu_logfile_free(QemuLogFile *logfile) } /* enable or disable low levels log */ -void qemu_set_log(int log_flags) +bool qemu_set_log(int log_flags, Error **errp) { bool need_to_open_file = false; QemuLogFile *logfile; @@ -103,9 +103,9 @@ void qemu_set_log(int log_flags) if (logfilename) { logfile->fd = fopen(logfilename, log_append ? "a" : "w"); if (!logfile->fd) { - g_free(logfile); - perror(logfilename); - _exit(1); + error_setg_errno(errp, errno, "Error opening logfile %s", + logfilename); + return false; } /* In case we are a daemon redirect stderr to logfile */ if (is_daemonized()) { @@ -129,6 +129,7 @@ void qemu_set_log(int log_flags) log_append = 1; qatomic_rcu_set(&qemu_logfile, logfile); } + return true; } /* @@ -159,8 +160,7 @@ bool qemu_set_log_filename(const char *filename, Error **errp) } qemu_log_close(); - qemu_set_log(qemu_loglevel); - return true; + return qemu_set_log(qemu_loglevel, errp); } /* Returns true if addr is in our debug filter or no filter defined From patchwork Sun Apr 17 18:29:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562887 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1886222map; Sun, 17 Apr 2022 12:02:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyjTnQZC7UwG8fz0YSa3XMRMCShczRFobQDlAxO+GZY18oWd5wG8i75z5EJTX0oe0O21clQ X-Received: by 2002:a05:6214:caa:b0:441:4ba4:3ebd with SMTP id s10-20020a0562140caa00b004414ba43ebdmr6017961qvs.22.1650222172403; Sun, 17 Apr 2022 12:02:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222172; cv=none; d=google.com; s=arc-20160816; b=AwCzhaG010waVCisD8T61R+vmIEStmuQZqa+4wYCUR44tJgObc9BtMQzvvURV7H2S3 3i2ZGZxt16tLn5wEapjQHAOXp21RrIpOf42VGTIMyM5r+Yno5rbdm8m1Xhfy87+3vNCq Q5PZQlM/9mCXvSDcaOQVk9zDUcGJHXD3nIXeyEA8lJ1ZvRHY3emdvbTBgK+g0qN7OKjX Pk4RLGyEj2WyPOZf7RDLAW17Fe9F21ZUQ97goaT9JSsCda+DLSZ0aTbxH/scABP+xvZP +mlTv3Zm7JxQnLW972GVV3joL8vZUhcBi2sFnqMGrDMJSck9aNeFz+CPxA+Os3MgmwmD +DGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=alXSIX3aVlQbR+ahH+ZLhiXZst3M9kUZiv2iZp+a95Y=; b=FHYvMkfk7b2NufREL4NyDJbQuZ9Tk6wxOSfrpFF0oEOUdDYScZzi3m8n5YMDXI+frj 69NQ5WsxTk2cc7An3LFnoKIj27OGpkcemf2ivgcP+L91sf0WWL7DlEfO/hzz2o1dJd/e wyJwyC8FZwC0tgEQwyQa7oBCdf1L4digbUILt+mo9Hg6Tcv1UEKT7Vobn7oQQ1wKZH/p K5IDR9KTXihbsrOaiuYEcvZr+cc5YtwiInSespMbKEPtLb3QM6aFKGPmJdyh3VH1HWJX Rp1Xf0Ikg5GV0UlOdNLMko6g8SXLq3l7WVuR5VJ8Twnc0ZEAnuNFv8NzNGRp2Trb+3UJ xgdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t+97GYMQ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id hu6-20020a056214234600b00440f6b905a0si2363992qvb.109.2022.04.17.12.02.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:02:52 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t+97GYMQ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:49838 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAAd-0004es-Vv for patch@linaro.org; Sun, 17 Apr 2022 15:02:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fM-0000QY-Ti for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]:35754) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fH-0001jy-0E for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:30 -0400 Received: by mail-pg1-x52c.google.com with SMTP id k62so9001544pgd.2 for ; Sun, 17 Apr 2022 11:30:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=alXSIX3aVlQbR+ahH+ZLhiXZst3M9kUZiv2iZp+a95Y=; b=t+97GYMQuw5wfIYOQokE3DeJYIhkWWiTUftbdoG7MjXq9/fYT0yVaMUD8ioETAcyBM 2T4WwQ42ndXTIg5+rPz7wn56Ag36zMi2n1UbXay/XKVDCUq5NqPIfqg7keFeUdEBD61s 1fABpaBfz43fgi4Zwiqp8+CRkD9J/sg1klJmfB5cLJXvDDSord7uGV+mjmZNKBfAgG/G XXXCw6QsQ16kErbbtDe9qQls03KTcwbyZfOIteH6KXZmtvEUsrv89IXDwAR6bAFEMUBS BwWcU5ySLN5g6k8Tao15jFBAU6vSvpV9nx4Vs1rn+bPE6ct+qZeH8nmGFWa0vg5ubSAo QqLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=alXSIX3aVlQbR+ahH+ZLhiXZst3M9kUZiv2iZp+a95Y=; b=xt00KaKcV1uHv+KNBrBRNTOm6S8h92YMoYY3ADYMhDzAE3XRIGhNhcGS9Acy1abfXL G9Bdn2Aj/5vEUARuXAWHdRhF6Ka/dmn4v4ZVUMUbJcPI5L4Y6R2CzY3aEMyIEe/YZl1F BKNw7M1PLpmyS3LO1yyi+LN9UA8dm/BudPl0EKNJ9Li7MkJor98uypc//oq18YWMycoR TUYlXZRgUG05w0loPYY2v7I4zQJbieGMI5rRcyL5qGprvvQvAHEykkmrO2/Wuakr8OSg nzWNNU3YyST65ze07vjtZAg6rqbBTt8Rxs3QnkYSWf7S0FKI/sfmaV91kTd2Q1Z0Pa17 gDmg== X-Gm-Message-State: AOAM5338KkUrleBDuF7P/Ctb71srVBZMVgw+oNtws74DEgqHPhkOHM4P u+2UogNMXFsjDlbrloYSZH6USyseh2xmBg== X-Received: by 2002:aa7:9041:0:b0:507:9219:ce61 with SMTP id n1-20020aa79041000000b005079219ce61mr8545536pfo.30.1650220224642; Sun, 17 Apr 2022 11:30:24 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 05/39] os-posix: Use qemu_log_enabled Date: Sun, 17 Apr 2022 11:29:45 -0700 Message-Id: <20220417183019.755276-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::52c; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Do not reference qemu_logfile directly; use the predicate provided by qemu/log.h. Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- os-posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/os-posix.c b/os-posix.c index 24692c8593..20d31fc518 100644 --- a/os-posix.c +++ b/os-posix.c @@ -292,7 +292,7 @@ void os_setup_post(void) dup2(fd, 0); dup2(fd, 1); /* In case -D is given do not redirect stderr to /dev/null */ - if (!qemu_logfile) { + if (!qemu_log_enabled()) { dup2(fd, 2); } From patchwork Sun Apr 17 18:29:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562877 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1882341map; Sun, 17 Apr 2022 11:55:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzeLb84DfqIo8F1DmZTmHokfVeKQMoy4Ri0wV4D2tEXL21UpeXXD6ot5hMGGSFpuWlBwwl8 X-Received: by 2002:a05:6214:260e:b0:446:4518:7445 with SMTP id gu14-20020a056214260e00b0044645187445mr5567906qvb.101.1650221706168; Sun, 17 Apr 2022 11:55:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221706; cv=none; d=google.com; s=arc-20160816; b=tz3VkUylLQkSBdyHIAsnIuD5S9cX44jF/4aSOO20Px8XWMeLKLWxsiW1GTxvoBsfoM z7uNdVFDaTstmz3esviNHvS2/kjmqR/G9rksy9piGRkPXOm7Ks3WFc9Dn3ODxutE7VMV XL3+p4DypIjZxsyHs2tDcpGP7hNZnk6/b9N4athOOlXH+bz7tvDwx/78p2cOmb/HPy5A dXG5+arSyMOFxYUreqpAEWTUN9sI2SBe6bRRBewa43BZzjlF40Wmgjhk213xjOCUrtZ6 2J+rRP5CsVU3QmxNIwc2jPpxIpqLMULN8ip74sY9YCqrZ6U5JpjHiQzoqbti3nLvM4f0 jaeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=Rr/RffNvDVGLD4+joN+/CEx/FD3wfnt5ywEdlwbeVrE=; b=r1EP3zbSKeYRzj3lrM7s0D+PQm8k+rddotBE6AevdkHkZbeymVdTDHPjlU+GgbILBn AX0VVAP77vnJ424PzWTGDY9RTvtQmJCnzVvffEthxlqdNvMml+7Dy9x+N3QGhwdFzsMI p/oguBLBSyx509kSpGuH7Bz1a6F1RETOL5Vcto7moi5jPadudwxPCBCl+e40rC5lIdFf AkOzarXE5yCjR75Qbben/DZrZzlv640QjKNf0iHZVuZ+y0CYEabDHT+xT/VlFgNlG8AS im5q4612nGz4MhvyFICU06E11NEGvFgTwfjpMg4ZWXE64i/KC4gzTN1lvvRPk8ECc2Gn 4mTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vnU6CHu2; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ed6-20020ad44ea6000000b0044640563947si1884556qvb.269.2022.04.17.11.55.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:55:06 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vnU6CHu2; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:52814 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA37-0004Ls-Oa for patch@linaro.org; Sun, 17 Apr 2022 14:55:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fN-0000QZ-Oz for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]:40720) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fJ-0001kB-G4 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:31 -0400 Received: by mail-pl1-x62e.google.com with SMTP id t12so10786458pll.7 for ; Sun, 17 Apr 2022 11:30:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Rr/RffNvDVGLD4+joN+/CEx/FD3wfnt5ywEdlwbeVrE=; b=vnU6CHu2lzGJJ0pJQEq3JWPgd5/ws5bMdP/lk1AW85FYvNqQ4uUHCZdeqTY4Xxo1lS 0FCGfdYbnpz8vB7oRokbyuH5jOP5iIX61URvqDGVDCwtbxTI7wERL2OdsgyHkwIGcPoC r9gfzA1GAn/7zyB4/OYcBmUvOpFYkOoC+qxx3D0MaDDldjAKohOhQOyAmNFkRYN4JPMi 9t6SicsH5Dhcq90OhP2NncbmbEhFvcuOOgZoUiwiIE5rRDsxu8qHa9/dD3ArarzEXUJU gMnsES6TUT2QdfByIiyVFXTysguqKBcj2zFlYaR+KXlVC6sni5yJfLfYyBXf5Soe/rQc bPDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Rr/RffNvDVGLD4+joN+/CEx/FD3wfnt5ywEdlwbeVrE=; b=OP7RDxQKIoPlhLWzEkhBpdMkABhCMkp/j9FyldNIWuM0mRwMtrNd/hDPYS7IF7c2/x UqxLv+WL11qDFc3OSdIf1L69vxIAGF3NhzQj702Omh68plzslW2RBFHj+75OWJEdHsEl LM5kwCYmTZ+dVTQvRshnPNfXhJmk7qhrIzBvWx0Kp+gBi2Htb9Bjs5GnhH+WtlxgY9Oz UjKI/2b9fm1uEZ4YqLPLh5QVvUGXWrE3F24yFF/5B0oT0FGGs+4U4QN+hf2CV7RJMOvF AOIfSTBKlWreoMt4wWZJWgW3MENqeusOMzrQRU/pOEuE0o/BueFnACU/CU3MeJHkG//o BI9w== X-Gm-Message-State: AOAM530E6f00uqxVXA3mBiCmWLoU9/UmsS9VvPJ2DBcVlkN8mb5n1ZCw PR++YDVvs9vpYfJXrzGR6etJ10t7xOCStA== X-Received: by 2002:a17:902:b692:b0:14c:935b:2b03 with SMTP id c18-20020a170902b69200b0014c935b2b03mr7804894pls.81.1650220225418; Sun, 17 Apr 2022 11:30:25 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 06/39] util/log: Move qemu_log_lock, qemu_log_unlock out of line Date: Sun, 17 Apr 2022 11:29:46 -0700 Message-Id: <20220417183019.755276-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/qemu/log.h | 28 +++------------------------- util/log.c | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index 0b892f5e90..6a6b1efce5 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -65,32 +65,10 @@ static inline bool qemu_log_separate(void) /* LOG_STRACE is used for user-mode strace logging. */ #define LOG_STRACE (1 << 19) -/* Lock output for a series of related logs. Since this is not needed - * for a single qemu_log / qemu_log_mask / qemu_log_mask_and_addr, we - * assume that qemu_loglevel_mask has already been tested, and that - * qemu_loglevel is never set when qemu_logfile is unset. - */ +/* Lock/unlock output. */ -static inline FILE *qemu_log_lock(void) -{ - QemuLogFile *logfile; - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile) { - qemu_flockfile(logfile->fd); - return logfile->fd; - } else { - return NULL; - } -} - -static inline void qemu_log_unlock(FILE *fd) -{ - if (fd) { - qemu_funlockfile(fd); - } - rcu_read_unlock(); -} +FILE *qemu_log_lock(void); +void qemu_log_unlock(FILE *fd); /* Logging functions: */ diff --git a/util/log.c b/util/log.c index bab4d29ecb..1a3121610a 100644 --- a/util/log.c +++ b/util/log.c @@ -34,6 +34,29 @@ int qemu_loglevel; static int log_append = 0; static GArray *debug_regions; +/* Lock/unlock output. */ + +FILE *qemu_log_lock(void) +{ + QemuLogFile *logfile; + rcu_read_lock(); + logfile = qatomic_rcu_read(&qemu_logfile); + if (logfile) { + qemu_flockfile(logfile->fd); + return logfile->fd; + } else { + return NULL; + } +} + +void qemu_log_unlock(FILE *fd) +{ + if (fd) { + qemu_funlockfile(fd); + } + rcu_read_unlock(); +} + /* Return the number of characters emitted. */ int qemu_log(const char *fmt, ...) { From patchwork Sun Apr 17 18:29:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562884 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1884401map; Sun, 17 Apr 2022 11:59:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzqTAgWncxodLcFXbBQpvRVMrpItSSKGWQSrEioJxJBgL2M6c0kpE+lif+GcCTAtOyB67sb X-Received: by 2002:a37:b5c6:0:b0:67e:6516:f456 with SMTP id e189-20020a37b5c6000000b0067e6516f456mr4733461qkf.555.1650221974039; Sun, 17 Apr 2022 11:59:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221974; cv=none; d=google.com; s=arc-20160816; b=ZjppV4XdI/tHcTc81VtD5GaVAje1NYuep6M6oGJAqyoDEzIzWtqzdjFF2YBTMqXpZC I+4EqoojKVw3Z4G5+ctWkwLXZtDgQKBnpeCe8aBSWNfRBe4j1r+8HBlgKWTDGX7PKCJz 29shWJlyXv0irNBWIBI9AAjndXYnilssG8tVhy84sUbFKcywlk4rgPDmAxWBv2g9890q XaqgNnpOgr1IV4+HZiIw8gVntKCPw9goLrAWqkDenm5PapYKyFkmO6N2djyBCep10OFR hcelw11GAjQ3NrWmlqWFuXwWrJoATRdkmj1Ofk0nXFy1NfgKye/bD5cf1diPwHq7CTZo HVOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=f4gZGeDj81kW07oUkPIpEtb00RVDQbHtNOHmkzlnrKI=; b=ALbd5ale36vcbux2Wcm/qnmOGpithLHodULSbN+ffcG6UXByL7G1985Ozj/QZvsLE4 qvE0TV9cjkYAT7bE/025VazAKTyOaBKUPdrS+FN6moZqTQWvp8RHiKRtk0w6z6thDQIB aZeruoNJZeOWkZ5f0780wunuVXpGpsqc/KKsGFEJMrumJaU3DFp0hd5sO/jUnqG3Hnka JtYJ1Cp6actZRHb2MY4ZAaEfICivwk4cVF+p41Vf5tmF1s0df1jC4HqeUYxbSopovjgE QzGm0BKAVjI1We5LOnAw6fJIs6PMJTPuFoXh7j+S0nOwopEjY90xzB135obd4dHQazJv xY6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NERzjEBP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id s8-20020a05620a030800b0067e4be23a9fsi2166881qkm.740.2022.04.17.11.59.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:59:34 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=NERzjEBP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:41816 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA7R-0007Xx-Ht for patch@linaro.org; Sun, 17 Apr 2022 14:59:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57126) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fN-0000Qb-Qh for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]:39800) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fK-0001kG-9h for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:33 -0400 Received: by mail-pg1-x52a.google.com with SMTP id q19so15082246pgm.6 for ; Sun, 17 Apr 2022 11:30:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=f4gZGeDj81kW07oUkPIpEtb00RVDQbHtNOHmkzlnrKI=; b=NERzjEBPQZm77FSgyODPpu97MEEUqjY1wtPpittKb0uv8l/R4SGkegdnxbJ5QjuaBA 7iDzn3alj3pa6ecHXN2lP1/A1cncf/BbKqo3KTAXHRPs3zkAmmvT9RtVQxJltxWNZMhU Vw/8FmQ5HgWhGSus/H5E3cEvLg9DYINSlSFXgVk6lU9WOOnqNCr2UHmmtvbKTdM8QkPz +aj1WPidkqGghvfVnM2RTYxAzbCyDiBjWfDafs4NgvWConLcdvYqlpT73DEVvux/CXAq u5B0GcSl9x7htYmSY5VPeISjvBEJaNF+338L2aoHikQKYmpHRRnjSolOkIWuAQ+BN3uL vjTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=f4gZGeDj81kW07oUkPIpEtb00RVDQbHtNOHmkzlnrKI=; b=LVhGB7T9mv5zLSH0DzBWOXNTSZzHRnbWVqB/kTwhCEo33nnjUcHxyJjKS69iVY357e MN8QibrrJZkeSniNRLR38pVnk/tj9KIwq2ypfBNthtEnITW5mmTDvUhLZQz7q0A4xCsP Fy8NF0Df7GIBC9Jx3qXRcvKILu5qz7YEe08NbVA88hN/bi6yzb5d6uVlas8FSXvGxvXa GZ1vUG//bQOTlbV5xZNXEvI3D5ZNdz31rHAUHD9enQXMUTn9BBB1S1UEbOzguPFMFf8C WKr6LpV9IV6RCDtyjiAaL6IzWf3LfgOgwn+604Kn4AONUK7ALw90oUYg7MHqFq50JH0q CMAQ== X-Gm-Message-State: AOAM532j6lb1CzrqRdZdfdjQARTddgzLFEbuWmmCo78GtjaFjxcCf9G4 cZL//SiJ9U2vKNh5mMS0+XfnAElKSXZxew== X-Received: by 2002:a05:6a00:1895:b0:50a:6a91:e833 with SMTP id x21-20020a056a00189500b0050a6a91e833mr3131033pfh.26.1650220226133; Sun, 17 Apr 2022 11:30:26 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 07/39] util/log: Rename qemu_log_lock to qemu_log_trylock Date: Sun, 17 Apr 2022 11:29:47 -0700 Message-Id: <20220417183019.755276-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::52a; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This function can fail, which makes it more like ftrylockfile or pthread_mutex_trylock than flockfile or pthread_mutex_lock, so rename it. To closer match the other trylock functions, release rcu_read_lock along the failure path, so that qemu_log_unlock need not be called on failure. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- v2: Rename the function as well as change the semantics, so drop r-b. --- include/exec/log.h | 2 +- include/qemu/log.h | 2 +- accel/tcg/cpu-exec.c | 2 +- accel/tcg/translate-all.c | 2 +- accel/tcg/translator.c | 2 +- cpu.c | 2 +- hw/net/can/can_sja1000.c | 2 +- net/can/can_socketcan.c | 2 +- target/i386/tcg/translate.c | 2 +- tcg/tcg.c | 8 ++++---- tests/unit/test-logging.c | 2 +- util/log.c | 6 ++++-- 12 files changed, 18 insertions(+), 16 deletions(-) diff --git a/include/exec/log.h b/include/exec/log.h index 3c7fa65ead..fb595d1eb7 100644 --- a/include/exec/log.h +++ b/include/exec/log.h @@ -71,7 +71,7 @@ static inline void log_disas(const void *code, unsigned long size) /* page_dump() output to the log file: */ static inline void log_page_dump(const char *operation) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); if (logfile) { qemu_log("page layout changed following %s\n", operation); page_dump(logfile); diff --git a/include/qemu/log.h b/include/qemu/log.h index 6a6b1efce5..d090faf22a 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -67,7 +67,7 @@ static inline bool qemu_log_separate(void) /* Lock/unlock output. */ -FILE *qemu_log_lock(void); +FILE *qemu_log_trylock(void); void qemu_log_unlock(FILE *fd); /* Logging functions: */ diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index c997c2e8e0..8d0315de75 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -215,7 +215,7 @@ static inline void log_cpu_exec(target_ulong pc, CPUState *cpu, #if defined(DEBUG_DISAS) if (qemu_loglevel_mask(CPU_LOG_TB_CPU)) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); int flags = 0; if (qemu_loglevel_mask(CPU_LOG_TB_FPU)) { diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 5971cd53ab..71ab863c18 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -1528,7 +1528,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu, #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_OUT_ASM) && qemu_log_in_addr_range(tb->pc)) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); int code_size, data_size; const tcg_target_ulong *rx_data_gen_ptr; size_t chunk_start; diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index f06c314266..1506755f3c 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -139,7 +139,7 @@ void translator_loop(const TranslatorOps *ops, DisasContextBase *db, #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(db->pc_first)) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); qemu_log("----------------\n"); ops->disas_log(db, cpu); qemu_log("\n"); diff --git a/cpu.c b/cpu.c index be1f8b074c..ddcbfc724d 100644 --- a/cpu.c +++ b/cpu.c @@ -400,7 +400,7 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...) fprintf(stderr, "\n"); cpu_dump_state(cpu, stderr, CPU_DUMP_FPU | CPU_DUMP_CCOP); if (qemu_log_separate()) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); qemu_log("qemu: fatal: "); qemu_log_vprintf(fmt, ap2); qemu_log("\n"); diff --git a/hw/net/can/can_sja1000.c b/hw/net/can/can_sja1000.c index 3ba803e947..300313dfb8 100644 --- a/hw/net/can/can_sja1000.c +++ b/hw/net/can/can_sja1000.c @@ -247,7 +247,7 @@ int can_sja_accept_filter(CanSJA1000State *s, static void can_display_msg(const char *prefix, const qemu_can_frame *msg) { int i; - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); qemu_log("%s%03X [%01d] %s %s", prefix, diff --git a/net/can/can_socketcan.c b/net/can/can_socketcan.c index 4b68f60c6b..4a505643e9 100644 --- a/net/can/can_socketcan.c +++ b/net/can/can_socketcan.c @@ -76,7 +76,7 @@ QEMU_BUILD_BUG_ON(offsetof(qemu_can_frame, data) static void can_host_socketcan_display_msg(struct qemu_can_frame *msg) { int i; - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); qemu_log("[cansocketcan]: %03X [%01d] %s %s", msg->can_id & QEMU_CAN_EFF_MASK, msg->can_dlc, diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index c393913fe0..3fb8b530d8 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -2580,7 +2580,7 @@ static void gen_unknown_opcode(CPUX86State *env, DisasContext *s) gen_illegal_opcode(s); if (qemu_loglevel_mask(LOG_UNIMP)) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); target_ulong pc = s->pc_start, end = s->pc; qemu_log("ILLOPC: " TARGET_FMT_lx ":", pc); diff --git a/tcg/tcg.c b/tcg/tcg.c index 33a97eabdb..2f09114bf9 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -756,7 +756,7 @@ void tcg_prologue_init(TCGContext *s) #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_OUT_ASM)) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); qemu_log("PROLOGUE: [size=%zu]\n", prologue_size); if (s->data_gen_ptr) { size_t code_size = s->data_gen_ptr - s->code_gen_ptr; @@ -4200,7 +4200,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) #ifdef DEBUG_DISAS if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP) && qemu_log_in_addr_range(tb->pc))) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); qemu_log("OP:\n"); tcg_dump_ops(s, false); qemu_log("\n"); @@ -4245,7 +4245,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) #ifdef DEBUG_DISAS if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP_IND) && qemu_log_in_addr_range(tb->pc))) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); qemu_log("OP before indirect lowering:\n"); tcg_dump_ops(s, false); qemu_log("\n"); @@ -4266,7 +4266,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) #ifdef DEBUG_DISAS if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP_OPT) && qemu_log_in_addr_range(tb->pc))) { - FILE *logfile = qemu_log_lock(); + FILE *logfile = qemu_log_trylock(); qemu_log("OP after optimization and liveness analysis:\n"); tcg_dump_ops(s, true); qemu_log("\n"); diff --git a/tests/unit/test-logging.c b/tests/unit/test-logging.c index 93c6d666e8..54d7e8e33b 100644 --- a/tests/unit/test-logging.c +++ b/tests/unit/test-logging.c @@ -163,7 +163,7 @@ static void test_logfile_lock(gconstpointer data) * our handle remains valid for use due to RCU. */ qemu_set_log_filename(file_path, &error_abort); - logfile = qemu_log_lock(); + logfile = qemu_log_trylock(); g_assert(logfile); fprintf(logfile, "%s 1st write to file\n", __func__); fflush(logfile); diff --git a/util/log.c b/util/log.c index 1a3121610a..6b7b358573 100644 --- a/util/log.c +++ b/util/log.c @@ -36,15 +36,17 @@ static GArray *debug_regions; /* Lock/unlock output. */ -FILE *qemu_log_lock(void) +FILE *qemu_log_trylock(void) { QemuLogFile *logfile; + rcu_read_lock(); logfile = qatomic_rcu_read(&qemu_logfile); if (logfile) { qemu_flockfile(logfile->fd); return logfile->fd; } else { + rcu_read_unlock(); return NULL; } } @@ -53,8 +55,8 @@ void qemu_log_unlock(FILE *fd) { if (fd) { qemu_funlockfile(fd); + rcu_read_unlock(); } - rcu_read_unlock(); } /* Return the number of characters emitted. */ From patchwork Sun Apr 17 18:29:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562886 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1885106map; Sun, 17 Apr 2022 12:01:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzjd+ehSKFVKF4yRKMR8IQCsAIMu5D0MH3R+9CI90hChObg0mwwhqNIkR1CwEo1NRSiLhWh X-Received: by 2002:a05:620a:817:b0:69e:7b89:ecf8 with SMTP id s23-20020a05620a081700b0069e7b89ecf8mr3621597qks.330.1650222066467; Sun, 17 Apr 2022 12:01:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222066; cv=none; d=google.com; s=arc-20160816; b=FF5bgwvlqpd42Y6N7ynaklotz3JsbzexQZXDRq4Q/QvWOm5SWI8VEhgeTJbz3/IbOt 7/MeCZSRuynR/Pl2NtqcMFtHxLMvXdKIyj35E9TfSYrIy/lnV9az500GrSZcvVD1sFRX ipj0VvsyDoQs9j22q80GqwBzKyZXRyF+4+efmKJxd3qnl28pw7hnPx5nXCW5gdVbO+0K qV660KJYtfXjmSG790DPVnBTF+T9HwJPMl3qJSX35wwbEElMK/sa8dxC790kNPAfKVc+ ov32/lyY6ix1cyWt9FypqEfxJ38mFX1YKXH7pqt3t10lz4VZMzpajjGkQC+n2vsZKbYZ te7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=kPR3QL2zkjcobuOtk7sTr4ObN7Yl/0yBneTbMcqTLmw=; b=QAO0VQ4UByT6rSrFjTGYI1Fw7IIfF6egZlADOf6JTYZc/bv9j6miTVmAQjJ0Li6Bv8 ac59anO4RyDOR84T8Pr5CC5Y8fdB/B22rbqTTL/tff/rbCfqzJ8inCJ7mEA+jsHkDv9H tC27CsFlHUypm83aXQo1pTBeWRVYYkNFGyDXYlbCDCWEE8F7hABdC9210CPKxyPmOGoh flvBFD9qs2Kh6l5T97wZovC8sEeLS88RBgVx+G+Icl/KjCcnYOzEBx1+OSIqw58XzzO4 oojm1Ny7JzPbg9O4NatCbvle2nFg/3L63HbYYV8SUNUAmRvgTxKL1jwwxw14oCtjWxAA ID7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=V1P2oIfp; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id u17-20020a05620a085100b0069e94df507dsi460581qku.431.2022.04.17.12.01.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:01:06 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=V1P2oIfp; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:45188 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA8w-0001Mo-2M for patch@linaro.org; Sun, 17 Apr 2022 15:01:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57124) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fN-0000Qa-Ou for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]:38633) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fJ-0001kN-HV for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:32 -0400 Received: by mail-pg1-x52c.google.com with SMTP id s137so15072503pgs.5 for ; Sun, 17 Apr 2022 11:30:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kPR3QL2zkjcobuOtk7sTr4ObN7Yl/0yBneTbMcqTLmw=; b=V1P2oIfpCf6o9/Eh90FTCqBSht+ULSw1BjeVd8tWR67LmtAGv6OC2b1wEb1/cabq0M Ax3AHU1/cAn2SK53JYYR+aulFxd22vVhjLUn3/MHfplbdMUKhHS1yeYaVIkxsVtn2kxL de57P4KMpcOfwjzDvdnl/dRqKP+lh43HKT2qsb8dL1uWBs86jLOAPHRtoBZUo/hcfj56 ytX6cg3x+o0hzJOkEuL2WzP/FxfTu1xyVgaoKwck9+sHvLbWC3/hXUyilnxQZc05ZT+W CNr1wdjM4H5tw01qx9jjKaWzKAXR8H7K5CRTqs4dP9JGJ2pSa70O/SsSGTZ9wYGUVxsG 055Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kPR3QL2zkjcobuOtk7sTr4ObN7Yl/0yBneTbMcqTLmw=; b=wL4sEf668FDrbMqPN2Q7Bo3umRN+pqD1COk86KaIqHGEDSEuS7ER3E1/onfH/cR+w4 OeEGhk/TZmVa3QpU+4oVQfzpb8FmTN0k0PfApVyFRpgu/up05zy8zniRL5WxxxHM0gM0 Vo4ovKqiGYIqC4zf1fSP/WhJq4eqw6t7uaNEtIh68zIh3Kmctx/GpMX2rRJ8qNSTF7ak gJgDBqNUz4QyEnZzG72U8iyOi+2RzcJ3+jttzrFRuWLN7Ixtt1+s9Kkef1d7M3qzWJB8 gsZmVyU6qlB24ZTYPXsuuBNNQk8rRWPK0NGry9tMrGA1/kt2R17Tge/id4k2GzovZ+TD /AKg== X-Gm-Message-State: AOAM532/QO02q2BcCcHMLUvfNKVfGmQQjzPqdIaTa0uLzxAl6NpirpRk yLHTioe0X6/EG+7Rkcr607mnyeTeOyvbDA== X-Received: by 2002:a63:e10b:0:b0:39d:bd5a:92b6 with SMTP id z11-20020a63e10b000000b0039dbd5a92b6mr7085602pgh.163.1650220227042; Sun, 17 Apr 2022 11:30:27 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 08/39] hw/xen: Split out xen_pv_output_msg Date: Sun, 17 Apr 2022 11:29:48 -0700 Message-Id: <20220417183019.755276-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::52c; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Do not replicate the individual logging statements. Use qemu_log_trylock/unlock instead of qemu_log directly. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- hw/xen/xen_pvdev.c | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c index 8ab458922a..0423c61158 100644 --- a/hw/xen/xen_pvdev.c +++ b/hw/xen/xen_pvdev.c @@ -196,34 +196,38 @@ const char *xenbus_strstate(enum xenbus_state state) * 2 == noisy debug messages (logfile only). * 3 == will flood your log (logfile only). */ +static void xen_pv_output_msg(struct XenLegacyDevice *xendev, + FILE *f, const char *fmt, va_list args) +{ + if (xendev) { + fprintf(f, "xen be: %s: ", xendev->name); + } else { + fprintf(f, "xen be core: "); + } + vfprintf(f, fmt, args); +} + void xen_pv_printf(struct XenLegacyDevice *xendev, int msg_level, const char *fmt, ...) { + FILE *logfile; va_list args; - if (xendev) { - if (msg_level > xendev->debug) { - return; - } - qemu_log("xen be: %s: ", xendev->name); - if (msg_level == 0) { - fprintf(stderr, "xen be: %s: ", xendev->name); - } - } else { - if (msg_level > debug) { - return; - } - qemu_log("xen be core: "); - if (msg_level == 0) { - fprintf(stderr, "xen be core: "); - } + if (msg_level > (xendev ? xendev->debug : debug)) { + return; } - va_start(args, fmt); - qemu_log_vprintf(fmt, args); - va_end(args); + + logfile = qemu_log_trylock(); + if (logfile) { + va_start(args, fmt); + xen_pv_output_msg(xendev, logfile, fmt, args); + va_end(args); + qemu_log_unlock(logfile); + } + if (msg_level == 0) { va_start(args, fmt); - vfprintf(stderr, fmt, args); + xen_pv_output_msg(xendev, stderr, fmt, args); va_end(args); } qemu_log_flush(); From patchwork Sun Apr 17 18:29:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562890 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1886811map; Sun, 17 Apr 2022 12:04:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx2Ody4o5cIpLnVZpl8QVa2iidbcAnH6n/Y3YVFlShSUnBsxyLy5LW7aQqopoeKD6S7xpn1 X-Received: by 2002:ac8:59c7:0:b0:2e1:a0d1:fc7b with SMTP id f7-20020ac859c7000000b002e1a0d1fc7bmr5168114qtf.320.1650222254661; Sun, 17 Apr 2022 12:04:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222254; cv=none; d=google.com; s=arc-20160816; b=k3DQwu1bLHFyeUEXHQarLcE54EbJYDJeIW/0b5DCL6KrhsmDL2hxwcgH2kMp67WkSi qg84O5y26UurIAKE7K5YSsUzb95f7roX2FTSdzHAKPAUgNTLgou8ZyJCwe2CX07F8fiA Z3hH0mjNsMJt58cU6vaW/4rEZVcbqxJJYdffUU7JyJNjII18eVTbUmj26BZHDEibCciH /icHO345ZgthjD0OeYYCRELQapDzV8XCY/UrhYDGACssTat0U8eB9yV5iK60+cSk9r8j +YVxpiKzpRo33hk9W3JwG7mQlmKu/P3Z6JHT5iF4wo9QpD93sF9eFKh/1Ng6bt+I+DNE TqQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=ZIO39CrK6cbWNfd2NQXA1gGk6SjPN+qnguxl1tyc930=; b=eTpPxHAtdDIfEq+34JN/6tGMXE+fq4rpTy+SmeKaqRzGx15JzxegHrhc5ij8h9rWqs UE5e64yk9bjFUlhKuFTPMVItm3qFkMceux2aLrydlquRjNvw/YAYctqnyLBn/R8F8Tct m9p+g0b1X3elY0qhFoH0bigGS3uR++9w83Io9jWLc2xXxvyZPwlG0nn9clM3P40ecvTT uViy/xB4dPJqAZiQwFyTxvmzAptp/CPGDbJJumwJRPMlr6k9iJHjtA1l5pM8GYoyEn/g RhJ4tPKLrZQcTp3yeReN0fp2Zhwpc/ltd6O9VWKWiNag+wxuLgh3nmD3fHNvj7jmFZT/ oflQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eeDaK54I; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id bs26-20020ac86f1a000000b002e1fbf3bfd1si2421323qtb.450.2022.04.17.12.04.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:04:14 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eeDaK54I; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:53636 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngABy-0007KI-2Z for patch@linaro.org; Sun, 17 Apr 2022 15:04:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57180) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fP-0000Qy-GI for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]:41493) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fL-0001kV-EU for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:34 -0400 Received: by mail-pj1-x102f.google.com with SMTP id e8-20020a17090a118800b001cb13402ea2so12317534pja.0 for ; Sun, 17 Apr 2022 11:30:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZIO39CrK6cbWNfd2NQXA1gGk6SjPN+qnguxl1tyc930=; b=eeDaK54IFqYyOfxElbiM4h9TnI6QKI0Gg1+Qp5+Q7MiF5jhSP2SQnvwPlehvERfY6v tKcv/I1RQdXP8GCjfAGMIpsfGe0xArCdgMbmsnV73n7NbqpkExcSQB54e7hJxGXm3gwL ZnC07ieuh0TwV3NhrhGVjFNGkTxxDyAZU/rQZVzD4KorGAClAxv3oCQybzvFpajVKBv/ aUNQN3qrszLgFMc55k/hqITokuaBoVtbXC0uBZIjnu68AHtkFsF/fjcK9TWuPxsj3e6M nCQNpSd8v0MibkrrY5arZTW6QHr0ibDYR1umpaJZoiK7cRniR6L4Wkl5f8ek0u5rXzHK pkXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZIO39CrK6cbWNfd2NQXA1gGk6SjPN+qnguxl1tyc930=; b=oRbcQA1n5fggQ3x6UG8vDA5EFOW6mhk9T8NXmjwmGRqAWYbUEFR8JBtKcnsNLpSmWu JphuxRVklODTh3sLOfoXHNhYGagOUmEowpE1SXZ4B67kh87MG3hUHubaO3MAJ2S6npJS mkcrCOCCYipwm43bjGd91BQR0ltcTuPlL/A2h5u0gaXqP2c/kr3flZgKyvsMHQPSBy3t b7SVrURAj529sgesRSZ3vE04+1833FXAkGfYWlR3mdc/LonkxVgIobw0cCLsctdOm97z NRY3U05I0FnXBBps3YwQ2jkhpR+j0aHLLYV/Z9wOmkMnQoy0rbYXokL1WBfxNcVqsqFc CUXg== X-Gm-Message-State: AOAM532HL+rYsBk0Dbze2HAMAvS46AoHt1GAUO0VpAtGyP0gtcTLJYuT TMEiE3RQl6nAJjbKWPIIIT3LuesXeCWubQ== X-Received: by 2002:a17:903:124a:b0:154:c860:6d52 with SMTP id u10-20020a170903124a00b00154c8606d52mr7924784plh.159.1650220227921; Sun, 17 Apr 2022 11:30:27 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 09/39] *: Use fprintf between qemu_log_trylock/unlock Date: Sun, 17 Apr 2022 11:29:49 -0700 Message-Id: <20220417183019.755276-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102f; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Inside qemu_log, we perform qemu_log_trylock/unlock, which need not be done if we have already performed the lock beforehand. Always check the result of qemu_log_trylock -- only checking qemu_loglevel_mask races with the acquisition of the lock on the logfile. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/exec/log.h | 2 +- accel/tcg/cpu-exec.c | 16 ++--- accel/tcg/translate-all.c | 117 +++++++++++++++++++----------------- accel/tcg/translator.c | 10 +-- cpu.c | 14 +++-- hw/net/can/can_sja1000.c | 24 ++++---- net/can/can_socketcan.c | 23 ++++--- target/i386/tcg/translate.c | 14 +++-- tcg/tcg.c | 74 +++++++++++++---------- 9 files changed, 162 insertions(+), 132 deletions(-) diff --git a/include/exec/log.h b/include/exec/log.h index fb595d1eb7..648f4d2263 100644 --- a/include/exec/log.h +++ b/include/exec/log.h @@ -73,7 +73,7 @@ static inline void log_page_dump(const char *operation) { FILE *logfile = qemu_log_trylock(); if (logfile) { - qemu_log("page layout changed following %s\n", operation); + fprintf(logfile, "page layout changed following %s\n", operation); page_dump(logfile); } qemu_log_unlock(logfile); diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index 8d0315de75..8a896e772d 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -216,16 +216,18 @@ static inline void log_cpu_exec(target_ulong pc, CPUState *cpu, #if defined(DEBUG_DISAS) if (qemu_loglevel_mask(CPU_LOG_TB_CPU)) { FILE *logfile = qemu_log_trylock(); - int flags = 0; + if (logfile) { + int flags = 0; - if (qemu_loglevel_mask(CPU_LOG_TB_FPU)) { - flags |= CPU_DUMP_FPU; - } + if (qemu_loglevel_mask(CPU_LOG_TB_FPU)) { + flags |= CPU_DUMP_FPU; + } #if defined(TARGET_I386) - flags |= CPU_DUMP_CCOP; + flags |= CPU_DUMP_CCOP; #endif - log_cpu_state(cpu, flags); - qemu_log_unlock(logfile); + log_cpu_state(cpu, flags); + qemu_log_unlock(logfile); + } } #endif /* DEBUG_DISAS */ } diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 71ab863c18..4812619f00 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -1529,68 +1529,75 @@ TranslationBlock *tb_gen_code(CPUState *cpu, if (qemu_loglevel_mask(CPU_LOG_TB_OUT_ASM) && qemu_log_in_addr_range(tb->pc)) { FILE *logfile = qemu_log_trylock(); - int code_size, data_size; - const tcg_target_ulong *rx_data_gen_ptr; - size_t chunk_start; - int insn = 0; + if (logfile) { + int code_size, data_size; + const tcg_target_ulong *rx_data_gen_ptr; + size_t chunk_start; + int insn = 0; - if (tcg_ctx->data_gen_ptr) { - rx_data_gen_ptr = tcg_splitwx_to_rx(tcg_ctx->data_gen_ptr); - code_size = (const void *)rx_data_gen_ptr - tb->tc.ptr; - data_size = gen_code_size - code_size; - } else { - rx_data_gen_ptr = 0; - code_size = gen_code_size; - data_size = 0; - } - - /* Dump header and the first instruction */ - qemu_log("OUT: [size=%d]\n", gen_code_size); - qemu_log(" -- guest addr 0x" TARGET_FMT_lx " + tb prologue\n", - tcg_ctx->gen_insn_data[insn][0]); - chunk_start = tcg_ctx->gen_insn_end_off[insn]; - log_disas(tb->tc.ptr, chunk_start); - - /* - * Dump each instruction chunk, wrapping up empty chunks into - * the next instruction. The whole array is offset so the - * first entry is the beginning of the 2nd instruction. - */ - while (insn < tb->icount) { - size_t chunk_end = tcg_ctx->gen_insn_end_off[insn]; - if (chunk_end > chunk_start) { - qemu_log(" -- guest addr 0x" TARGET_FMT_lx "\n", - tcg_ctx->gen_insn_data[insn][0]); - log_disas(tb->tc.ptr + chunk_start, chunk_end - chunk_start); - chunk_start = chunk_end; + if (tcg_ctx->data_gen_ptr) { + rx_data_gen_ptr = tcg_splitwx_to_rx(tcg_ctx->data_gen_ptr); + code_size = (const void *)rx_data_gen_ptr - tb->tc.ptr; + data_size = gen_code_size - code_size; + } else { + rx_data_gen_ptr = 0; + code_size = gen_code_size; + data_size = 0; } - insn++; - } - if (chunk_start < code_size) { - qemu_log(" -- tb slow paths + alignment\n"); - log_disas(tb->tc.ptr + chunk_start, code_size - chunk_start); - } + /* Dump header and the first instruction */ + fprintf(logfile, "OUT: [size=%d]\n", gen_code_size); + fprintf(logfile, + " -- guest addr 0x" TARGET_FMT_lx " + tb prologue\n", + tcg_ctx->gen_insn_data[insn][0]); + chunk_start = tcg_ctx->gen_insn_end_off[insn]; + disas(logfile, tb->tc.ptr, chunk_start); - /* Finally dump any data we may have after the block */ - if (data_size) { - int i; - qemu_log(" data: [size=%d]\n", data_size); - for (i = 0; i < data_size / sizeof(tcg_target_ulong); i++) { - if (sizeof(tcg_target_ulong) == 8) { - qemu_log("0x%08" PRIxPTR ": .quad 0x%016" TCG_PRIlx "\n", - (uintptr_t)&rx_data_gen_ptr[i], rx_data_gen_ptr[i]); - } else if (sizeof(tcg_target_ulong) == 4) { - qemu_log("0x%08" PRIxPTR ": .long 0x%08" TCG_PRIlx "\n", - (uintptr_t)&rx_data_gen_ptr[i], rx_data_gen_ptr[i]); - } else { - qemu_build_not_reached(); + /* + * Dump each instruction chunk, wrapping up empty chunks into + * the next instruction. The whole array is offset so the + * first entry is the beginning of the 2nd instruction. + */ + while (insn < tb->icount) { + size_t chunk_end = tcg_ctx->gen_insn_end_off[insn]; + if (chunk_end > chunk_start) { + fprintf(logfile, " -- guest addr 0x" TARGET_FMT_lx "\n", + tcg_ctx->gen_insn_data[insn][0]); + disas(logfile, tb->tc.ptr + chunk_start, + chunk_end - chunk_start); + chunk_start = chunk_end; + } + insn++; + } + + if (chunk_start < code_size) { + fprintf(logfile, " -- tb slow paths + alignment\n"); + disas(logfile, tb->tc.ptr + chunk_start, + code_size - chunk_start); + } + + /* Finally dump any data we may have after the block */ + if (data_size) { + int i; + fprintf(logfile, " data: [size=%d]\n", data_size); + for (i = 0; i < data_size / sizeof(tcg_target_ulong); i++) { + if (sizeof(tcg_target_ulong) == 8) { + fprintf(logfile, + "0x%08" PRIxPTR ": .quad 0x%016" TCG_PRIlx "\n", + (uintptr_t)&rx_data_gen_ptr[i], rx_data_gen_ptr[i]); + } else if (sizeof(tcg_target_ulong) == 4) { + fprintf(logfile, + "0x%08" PRIxPTR ": .long 0x%08" TCG_PRIlx "\n", + (uintptr_t)&rx_data_gen_ptr[i], rx_data_gen_ptr[i]); + } else { + qemu_build_not_reached(); + } } } + fprintf(logfile, "\n"); + qemu_log_flush(); + qemu_log_unlock(logfile); } - qemu_log("\n"); - qemu_log_flush(); - qemu_log_unlock(logfile); } #endif diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index 1506755f3c..af8798f98b 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -140,10 +140,12 @@ void translator_loop(const TranslatorOps *ops, DisasContextBase *db, if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM) && qemu_log_in_addr_range(db->pc_first)) { FILE *logfile = qemu_log_trylock(); - qemu_log("----------------\n"); - ops->disas_log(db, cpu); - qemu_log("\n"); - qemu_log_unlock(logfile); + if (logfile) { + fprintf(logfile, "----------------\n"); + ops->disas_log(db, cpu); + fprintf(logfile, "\n"); + qemu_log_unlock(logfile); + } } #endif } diff --git a/cpu.c b/cpu.c index ddcbfc724d..3340bb7538 100644 --- a/cpu.c +++ b/cpu.c @@ -401,12 +401,14 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...) cpu_dump_state(cpu, stderr, CPU_DUMP_FPU | CPU_DUMP_CCOP); if (qemu_log_separate()) { FILE *logfile = qemu_log_trylock(); - qemu_log("qemu: fatal: "); - qemu_log_vprintf(fmt, ap2); - qemu_log("\n"); - log_cpu_state(cpu, CPU_DUMP_FPU | CPU_DUMP_CCOP); - qemu_log_flush(); - qemu_log_unlock(logfile); + if (logfile) { + fprintf(logfile, "qemu: fatal: "); + vfprintf(logfile, fmt, ap2); + fprintf(logfile, "\n"); + cpu_dump_state(cpu, logfile, CPU_DUMP_FPU | CPU_DUMP_CCOP); + qemu_log_flush(); + qemu_log_unlock(logfile); + } qemu_log_close(); } va_end(ap2); diff --git a/hw/net/can/can_sja1000.c b/hw/net/can/can_sja1000.c index 300313dfb8..23d634af6f 100644 --- a/hw/net/can/can_sja1000.c +++ b/hw/net/can/can_sja1000.c @@ -249,19 +249,21 @@ static void can_display_msg(const char *prefix, const qemu_can_frame *msg) int i; FILE *logfile = qemu_log_trylock(); - qemu_log("%s%03X [%01d] %s %s", - prefix, - msg->can_id & QEMU_CAN_EFF_MASK, - msg->can_dlc, - msg->can_id & QEMU_CAN_EFF_FLAG ? "EFF" : "SFF", - msg->can_id & QEMU_CAN_RTR_FLAG ? "RTR" : "DAT"); + if (logfile) { + fprintf(logfile, "%s%03X [%01d] %s %s", + prefix, + msg->can_id & QEMU_CAN_EFF_MASK, + msg->can_dlc, + msg->can_id & QEMU_CAN_EFF_FLAG ? "EFF" : "SFF", + msg->can_id & QEMU_CAN_RTR_FLAG ? "RTR" : "DAT"); - for (i = 0; i < msg->can_dlc; i++) { - qemu_log(" %02X", msg->data[i]); + for (i = 0; i < msg->can_dlc; i++) { + fprintf(logfile, " %02X", msg->data[i]); + } + fprintf(logfile, "\n"); + qemu_log_flush(); + qemu_log_unlock(logfile); } - qemu_log("\n"); - qemu_log_flush(); - qemu_log_unlock(logfile); } static void buff2frame_pel(const uint8_t *buff, qemu_can_frame *frame) diff --git a/net/can/can_socketcan.c b/net/can/can_socketcan.c index 4a505643e9..a6388563c3 100644 --- a/net/can/can_socketcan.c +++ b/net/can/can_socketcan.c @@ -77,18 +77,21 @@ static void can_host_socketcan_display_msg(struct qemu_can_frame *msg) { int i; FILE *logfile = qemu_log_trylock(); - qemu_log("[cansocketcan]: %03X [%01d] %s %s", - msg->can_id & QEMU_CAN_EFF_MASK, - msg->can_dlc, - msg->can_id & QEMU_CAN_EFF_FLAG ? "EFF" : "SFF", - msg->can_id & QEMU_CAN_RTR_FLAG ? "RTR" : "DAT"); - for (i = 0; i < msg->can_dlc; i++) { - qemu_log(" %02X", msg->data[i]); + if (logfile) { + fprintf(logfile, "[cansocketcan]: %03X [%01d] %s %s", + msg->can_id & QEMU_CAN_EFF_MASK, + msg->can_dlc, + msg->can_id & QEMU_CAN_EFF_FLAG ? "EFF" : "SFF", + msg->can_id & QEMU_CAN_RTR_FLAG ? "RTR" : "DAT"); + + for (i = 0; i < msg->can_dlc; i++) { + fprintf(logfile, " %02X", msg->data[i]); + } + fprintf(logfile, "\n"); + qemu_log_flush(); + qemu_log_unlock(logfile); } - qemu_log("\n"); - qemu_log_flush(); - qemu_log_unlock(logfile); } static void can_host_socketcan_read(void *opaque) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 3fb8b530d8..d71bd2b0f4 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -2581,14 +2581,16 @@ static void gen_unknown_opcode(CPUX86State *env, DisasContext *s) if (qemu_loglevel_mask(LOG_UNIMP)) { FILE *logfile = qemu_log_trylock(); - target_ulong pc = s->pc_start, end = s->pc; + if (logfile) { + target_ulong pc = s->pc_start, end = s->pc; - qemu_log("ILLOPC: " TARGET_FMT_lx ":", pc); - for (; pc < end; ++pc) { - qemu_log(" %02x", cpu_ldub_code(env, pc)); + fprintf(logfile, "ILLOPC: " TARGET_FMT_lx ":", pc); + for (; pc < end; ++pc) { + fprintf(logfile, " %02x", cpu_ldub_code(env, pc)); + } + fprintf(logfile, "\n"); + qemu_log_unlock(logfile); } - qemu_log("\n"); - qemu_log_unlock(logfile); } } diff --git a/tcg/tcg.c b/tcg/tcg.c index 2f09114bf9..892f640fce 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -757,31 +757,35 @@ void tcg_prologue_init(TCGContext *s) #ifdef DEBUG_DISAS if (qemu_loglevel_mask(CPU_LOG_TB_OUT_ASM)) { FILE *logfile = qemu_log_trylock(); - qemu_log("PROLOGUE: [size=%zu]\n", prologue_size); - if (s->data_gen_ptr) { - size_t code_size = s->data_gen_ptr - s->code_gen_ptr; - size_t data_size = prologue_size - code_size; - size_t i; + if (logfile) { + fprintf(logfile, "PROLOGUE: [size=%zu]\n", prologue_size); + if (s->data_gen_ptr) { + size_t code_size = s->data_gen_ptr - s->code_gen_ptr; + size_t data_size = prologue_size - code_size; + size_t i; - log_disas(s->code_gen_ptr, code_size); + disas(logfile, s->code_gen_ptr, code_size); - for (i = 0; i < data_size; i += sizeof(tcg_target_ulong)) { - if (sizeof(tcg_target_ulong) == 8) { - qemu_log("0x%08" PRIxPTR ": .quad 0x%016" PRIx64 "\n", - (uintptr_t)s->data_gen_ptr + i, - *(uint64_t *)(s->data_gen_ptr + i)); - } else { - qemu_log("0x%08" PRIxPTR ": .long 0x%08x\n", - (uintptr_t)s->data_gen_ptr + i, - *(uint32_t *)(s->data_gen_ptr + i)); + for (i = 0; i < data_size; i += sizeof(tcg_target_ulong)) { + if (sizeof(tcg_target_ulong) == 8) { + fprintf(logfile, + "0x%08" PRIxPTR ": .quad 0x%016" PRIx64 "\n", + (uintptr_t)s->data_gen_ptr + i, + *(uint64_t *)(s->data_gen_ptr + i)); + } else { + fprintf(logfile, + "0x%08" PRIxPTR ": .long 0x%08x\n", + (uintptr_t)s->data_gen_ptr + i, + *(uint32_t *)(s->data_gen_ptr + i)); + } } + } else { + disas(logfile, s->code_gen_ptr, prologue_size); } - } else { - log_disas(s->code_gen_ptr, prologue_size); + fprintf(logfile, "\n"); + qemu_log_flush(); + qemu_log_unlock(logfile); } - qemu_log("\n"); - qemu_log_flush(); - qemu_log_unlock(logfile); } #endif @@ -4201,10 +4205,12 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP) && qemu_log_in_addr_range(tb->pc))) { FILE *logfile = qemu_log_trylock(); - qemu_log("OP:\n"); - tcg_dump_ops(s, false); - qemu_log("\n"); - qemu_log_unlock(logfile); + if (logfile) { + fprintf(logfile, "OP:\n"); + tcg_dump_ops(s, false); + fprintf(logfile, "\n"); + qemu_log_unlock(logfile); + } } #endif @@ -4246,10 +4252,12 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP_IND) && qemu_log_in_addr_range(tb->pc))) { FILE *logfile = qemu_log_trylock(); - qemu_log("OP before indirect lowering:\n"); - tcg_dump_ops(s, false); - qemu_log("\n"); - qemu_log_unlock(logfile); + if (logfile) { + fprintf(logfile, "OP before indirect lowering:\n"); + tcg_dump_ops(s, false); + fprintf(logfile, "\n"); + qemu_log_unlock(logfile); + } } #endif /* Replace indirect temps with direct temps. */ @@ -4267,10 +4275,12 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP_OPT) && qemu_log_in_addr_range(tb->pc))) { FILE *logfile = qemu_log_trylock(); - qemu_log("OP after optimization and liveness analysis:\n"); - tcg_dump_ops(s, true); - qemu_log("\n"); - qemu_log_unlock(logfile); + if (logfile) { + fprintf(logfile, "OP after optimization and liveness analysis:\n"); + tcg_dump_ops(s, true); + fprintf(logfile, "\n"); + qemu_log_unlock(logfile); + } } #endif From patchwork Sun Apr 17 18:29:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562881 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1883491map; Sun, 17 Apr 2022 11:58:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy/Im7omEwv4AL4zBsyGEvUGZaPBGFZ1fRGKYP1MwPbOlNU4LfwGpe5eBEakEDMO7lp9scV X-Received: by 2002:a05:620a:4447:b0:67d:2bf2:5e04 with SMTP id w7-20020a05620a444700b0067d2bf25e04mr4807582qkp.432.1650221880326; Sun, 17 Apr 2022 11:58:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221880; cv=none; d=google.com; s=arc-20160816; b=i+q98phKVNXqNuRq7UTAudKF6NXGGSF3IRIIHTgA+LjQ6Lh9h6z0izr+wiJMvVozZv m0OCEkrrB7kryDtT76sNECpQbOmd+n/6LhxKjD8cTo0CWUHV76ebsP9D2pl4U9jLGI5O QbZsZzPlprabFo6E7Fm+FvzVOW2VSbKnQCaug/dx7o3+6kTT/xDFrMQ9tWPEjeDjirK2 SfLQrsSIhSe7ynaj9uxalT4RoibYUpd8YWNYDW3BH+fokIcaN5RLQ4TBdTx6d29UUKIy b7KzhW4hiaFqhxkhtXD24h7/YNdKXwAaPJlZur+/vNQbNBatC/h72VXpjp50kogV7Njg gI8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=KQ2Hs1fcPO+xNkXsj5Tr5G1f8x8slUJxiO5yDeUu3l4=; b=iW9S2+bMHtGLMLpZ9BCqmhmEqyOxLGRwPmdWwFs8xz2PRfUMTVj42NdBTQlhS78a38 gBYHKvJLNfHmPoDjVKEROPgwVopzjUlh0CZruoc84+vVv6eBNq/h/p0YNu/Cfxe+Lw2V l2FUa9Bm4/q5qUjMKoGQTmBWk93ix299kl0FUfg2pBfZx2XuSP6U3finvM9Vj3MVEP1A roYPmCuN0vXtNidBGeKXyVzdhwUyy8R/UnJcYo8hoAoAeOoh/nfgnuxr/BH3n62pD7kA 2G8yK4WfoVInIsZe70KteIqteK5qA38BdGM2Ezx36aiK7JTrMdZse7FVdIJjwthHfske 9K4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="uj/+QHKh"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id fn9-20020ad45d69000000b004463d44e9c2si2088390qvb.340.2022.04.17.11.58.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:58:00 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="uj/+QHKh"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:34190 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA5v-0002Px-VY for patch@linaro.org; Sun, 17 Apr 2022 14:58:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57132) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fN-0000Qc-SV for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]:45887) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fL-0001kZ-FA for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:33 -0400 Received: by mail-pg1-x52f.google.com with SMTP id k29so15048675pgm.12 for ; Sun, 17 Apr 2022 11:30:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KQ2Hs1fcPO+xNkXsj5Tr5G1f8x8slUJxiO5yDeUu3l4=; b=uj/+QHKh3aehRujbIQBGs/T46dzPhFubzTGAd6OekOk707Bu2p77gGl+oyxVrjr+Mr APC5NrpIf2bUrzG4VjPjl1sEZZ2p11UNUWYM1E6EBmeqMg7I+aKk9NU6L5Dd5mORBmxJ kppIXgf9lkkYUQ+UibOsBfvC/PbMSLFhy6bG07X0+ouXyYjR5TrSauY5gHC/+L6sHOzE /gbcpP3+xzXnahGYGZQQwp6gI6wuvLd9U1gdXr7Mq4yBK6s4sYdXBFWB44Eb/k/W6m8g WHD7HSdOWrIAJ9nRHgCX3Nggo/BMbZIpPUc42hKIooOmCn/7thohz8YwnTTlvVCuFi7V 1ubA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KQ2Hs1fcPO+xNkXsj5Tr5G1f8x8slUJxiO5yDeUu3l4=; b=Y4nRGSC0JOEB3CbigiPVhk6eBcQqi4A8n4rgAMw9RGW0f9baXOtJ3YBqK/wUNi5l3w LOB81NROXRJRt45SwlH5BGhEZNsEvnJOr10JML3OlH0gIWI0QJOwMA0GVX7TzmSdDvuV Ctc29te8L2P7IMd90cD0yHz6LiPrfz2wVcostmE9eo7HDGyW9LUmBUB2nRt/q4dfq9Lw K1+phOrn81EKm9DBJS1BiY+OJvCmz1BtgnaZIkqeJkjC4OV+/4tXx0jXT7De+1TmrKec ZAFVwGGJEqlaF5U3fejxW6Gne4DnF9t5GTC7CXdDmLOvuEMpxP+RsEe2unRcqJsANVCH 0f2g== X-Gm-Message-State: AOAM533Z3y3wXXtHAzqlBPMQ3pj7BbK9xUP4jA9SsKPf0BqkerPxxNtM /WlMwLqbab/d59bkcAYYL5hdmFQg2hCS4w== X-Received: by 2002:a63:fd43:0:b0:39c:d17a:62af with SMTP id m3-20020a63fd43000000b0039cd17a62afmr7155356pgj.450.1650220228897; Sun, 17 Apr 2022 11:30:28 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:28 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 10/39] util/log: Remove qemu_log_vprintf Date: Sun, 17 Apr 2022 11:29:50 -0700 Message-Id: <20220417183019.755276-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::52f; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This function is no longer used. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/qemu/log.h | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index d090faf22a..2d9455dc85 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -72,21 +72,6 @@ void qemu_log_unlock(FILE *fd); /* Logging functions: */ -/* vfprintf-like logging function - */ -static inline void G_GNUC_PRINTF(1, 0) -qemu_log_vprintf(const char *fmt, va_list va) -{ - QemuLogFile *logfile; - - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile) { - vfprintf(logfile->fd, fmt, va); - } - rcu_read_unlock(); -} - /* log only if a bit is set on the current loglevel mask: * @mask: bit to check in the mask * @fmt: printf-style format string From patchwork Sun Apr 17 18:29:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562880 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1883412map; Sun, 17 Apr 2022 11:57:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLcbcv2Zz1iBIZ+1gV9QFDm6nJN9joGe98aacrfeP33Q1iZc2Yb/cRuvt1Sx+GPVSNLC3g X-Received: by 2002:ad4:5de5:0:b0:446:5967:ebd with SMTP id jn5-20020ad45de5000000b0044659670ebdmr1611590qvb.71.1650221870657; Sun, 17 Apr 2022 11:57:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221870; cv=none; d=google.com; s=arc-20160816; b=0S75JQA8bbBdPVdwDNnmR6n9brn/6Du5qPRLr46hU3pcp/kyUkU/0PsW7dytxgwxp3 U7liZPPQdN+eSciUZIWNjKLwryyNP9k00LSnLuh5SNe4Tb/GSl4nqkNPFHgLwX6ZMuMH WyBPr8/QIrMFgWlhP6f8zre7Qr9/WUiW1+O7saEY5xa8Ee2rmpIVEhuyZNbtgZCCXyGp oGXz8vj2/swX9qdc53vzra8vnwOjjVeOxvzyAguMU8nbWUsr5j3DZGUJ0xp060N8VnHU sIGphepRObLebYTAS4E32Yjy6Zv4drlhYPsPpdyklMpqphqtN9f8ZcCZTVR4wxoa/s/P GapA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=9vd1XgGqQcOcYKISsTjgIB8sQLrJFePfOpt3KWWJyrc=; b=xwGcfw5p9Bqs6cDvKfXqRmWOSMwhV8Sh4/alflIvTqKtQpfdGl8qNFgUIv5z/K9v9K mVz3K/T98ARj4BORL7wKFdl3/YSkVdTDB6xwnkWLxjwE2k89evLOdZCIRcql5a/Pgr1Z HhR1gxtJFRewKqrIaLaJFpRvjf5E4shvmwQ4vszmN/Rp0MtlypomQY0q1UhuZXAfBH+6 cQo0xEPeeMAaK5UaCCjTU7aNYSo0xFFHi3e9PFBakDzAuIUaPm4HcrW9zN9SJlH4/b33 I8uFQ1ABaMdqBmtg4p3ukm7unl7K6Oua9MJorg/so9tINq6ARvTywn9jbe/U7DPA7dK1 SRYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UP67EbGz; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id t17-20020a37aa11000000b0067e4be23913si2311809qke.344.2022.04.17.11.57.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:57:50 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UP67EbGz; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:33262 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA5m-0001nQ-4a for patch@linaro.org; Sun, 17 Apr 2022 14:57:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57182) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fP-0000Qz-GS for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]:56134) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fL-0001kd-Iu for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:34 -0400 Received: by mail-pj1-x1029.google.com with SMTP id ll10so11365428pjb.5 for ; Sun, 17 Apr 2022 11:30:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9vd1XgGqQcOcYKISsTjgIB8sQLrJFePfOpt3KWWJyrc=; b=UP67EbGzxZ99g0mMfoPy66PjiwX12VkTnL+DJoQ506nIB+1yqskq0AM9XuUW7IHEBW CmLR/fNbGN2f2bvyqHmjq/Q2RoaPSZsVX03p7VeiVZH3sHgAx+gfYUevyoI6YyAbryuN svT35EfLV+uA0TO3uJ/s5yETNYAzQkkCeaiQnXL5Mx2Lnvouw9RsDJhxPdOSf34yxrte uzpqKGbAMltEFsRfa1lvB6u2VGMTsqNw3OOSw6fif/JAJOizvgRvPkOxMUWV4/jhPpid 816SVEIjsaRwtTbu/hMWmNZrC38mtIFDEYVHElhPn0uldwlzJBleDKfNzudyVyXwt8Ev J3Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9vd1XgGqQcOcYKISsTjgIB8sQLrJFePfOpt3KWWJyrc=; b=C1XJlXZFC9rHIVVSuio4sr6W7bTKf3siz9KiRsEm+8I1cCgjjz1nfjz3KJ+VwbYFrB HCQZCySZeWE4VNkLRVZnJJm7qXG0HubwQmMmUqB+b5gTBMxlJgVJwXJe1nnviT3uY6sg 5tunjSM8JFifAGemu7pP+SKWy1coCQG+Yb7JIZBgEcLS4QbdGpyUQVEKKLOh+vJ8eEA6 vqtNoCpgzeyQ24zqmo/qDh3wPdd9BH7gnM5cw7JByQ+x/zEHY+BPC3qiHiounGksGpJc AszRuptsDUoSrDKlDULIMqC+qnCtnGKbsaC1xZCJOg+9/4T0ijfqVhB10tWq1lBl9Zuw lDiQ== X-Gm-Message-State: AOAM533NRs76mXQpGf2yzRjamz9fMDmXHdPuzDFyrQCXyPEgkwt9wvnY VK0wARVsL9mYPE4PU50rwWRDr57QsiySJQ== X-Received: by 2002:a17:90b:4f8f:b0:1cb:55da:6bdc with SMTP id qe15-20020a17090b4f8f00b001cb55da6bdcmr14514399pjb.114.1650220229755; Sun, 17 Apr 2022 11:30:29 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 11/39] tcg: Pass the locked filepointer to tcg_dump_ops Date: Sun, 17 Apr 2022 11:29:51 -0700 Message-Id: <20220417183019.755276-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1029; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1029.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" We have already looked up and locked the filepointer. Use fprintf instead of qemu_log directly for output in and around tcg_dump_ops. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- tcg/tcg.c | 109 ++++++++++++++++++++++++++---------------------------- 1 file changed, 52 insertions(+), 57 deletions(-) diff --git a/tcg/tcg.c b/tcg/tcg.c index 892f640fce..70f3b52482 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1808,7 +1808,11 @@ static inline TCGReg tcg_regset_first(TCGRegSet d) } } -static void tcg_dump_ops(TCGContext *s, bool have_prefs) +/* Return only the number of characters output -- no error return. */ +#define ne_fprintf(...) \ + ({ int ret_ = fprintf(__VA_ARGS__); ret_ >= 0 ? ret_ : 0; }) + +static void tcg_dump_ops(TCGContext *s, FILE *f, bool have_prefs) { char buf[128]; TCGOp *op; @@ -1824,7 +1828,7 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) if (c == INDEX_op_insn_start) { nb_oargs = 0; - col += qemu_log("\n ----"); + col += ne_fprintf(f, "\n ----"); for (i = 0; i < TARGET_INSN_START_WORDS; ++i) { target_ulong a; @@ -1833,7 +1837,7 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) #else a = op->args[i]; #endif - col += qemu_log(" " TARGET_FMT_lx, a); + col += ne_fprintf(f, " " TARGET_FMT_lx, a); } } else if (c == INDEX_op_call) { const TCGHelperInfo *info = tcg_call_info(op); @@ -1844,7 +1848,7 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) nb_iargs = TCGOP_CALLI(op); nb_cargs = def->nb_cargs; - col += qemu_log(" %s ", def->name); + col += ne_fprintf(f, " %s ", def->name); /* * Print the function name from TCGHelperInfo, if available. @@ -1852,15 +1856,15 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) * but the actual function pointer comes from the plugin. */ if (func == info->func) { - col += qemu_log("%s", info->name); + col += ne_fprintf(f, "%s", info->name); } else { - col += qemu_log("plugin(%p)", func); + col += ne_fprintf(f, "plugin(%p)", func); } - col += qemu_log(",$0x%x,$%d", info->flags, nb_oargs); + col += ne_fprintf(f, ",$0x%x,$%d", info->flags, nb_oargs); for (i = 0; i < nb_oargs; i++) { - col += qemu_log(",%s", tcg_get_arg_str(s, buf, sizeof(buf), - op->args[i])); + col += ne_fprintf(f, ",%s", tcg_get_arg_str(s, buf, sizeof(buf), + op->args[i])); } for (i = 0; i < nb_iargs; i++) { TCGArg arg = op->args[nb_oargs + i]; @@ -1868,34 +1872,32 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) if (arg != TCG_CALL_DUMMY_ARG) { t = tcg_get_arg_str(s, buf, sizeof(buf), arg); } - col += qemu_log(",%s", t); + col += ne_fprintf(f, ",%s", t); } } else { - col += qemu_log(" %s ", def->name); + col += ne_fprintf(f, " %s ", def->name); nb_oargs = def->nb_oargs; nb_iargs = def->nb_iargs; nb_cargs = def->nb_cargs; if (def->flags & TCG_OPF_VECTOR) { - col += qemu_log("v%d,e%d,", 64 << TCGOP_VECL(op), - 8 << TCGOP_VECE(op)); + col += ne_fprintf(f, "v%d,e%d,", 64 << TCGOP_VECL(op), + 8 << TCGOP_VECE(op)); } k = 0; for (i = 0; i < nb_oargs; i++) { - if (k != 0) { - col += qemu_log(","); - } - col += qemu_log("%s", tcg_get_arg_str(s, buf, sizeof(buf), - op->args[k++])); + const char *sep = k ? "," : ""; + col += ne_fprintf(f, "%s%s", sep, + tcg_get_arg_str(s, buf, sizeof(buf), + op->args[k++])); } for (i = 0; i < nb_iargs; i++) { - if (k != 0) { - col += qemu_log(","); - } - col += qemu_log("%s", tcg_get_arg_str(s, buf, sizeof(buf), - op->args[k++])); + const char *sep = k ? "," : ""; + col += ne_fprintf(f, "%s%s", sep, + tcg_get_arg_str(s, buf, sizeof(buf), + op->args[k++])); } switch (c) { case INDEX_op_brcond_i32: @@ -1910,9 +1912,9 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) case INDEX_op_cmpsel_vec: if (op->args[k] < ARRAY_SIZE(cond_name) && cond_name[op->args[k]]) { - col += qemu_log(",%s", cond_name[op->args[k++]]); + col += ne_fprintf(f, ",%s", cond_name[op->args[k++]]); } else { - col += qemu_log(",$0x%" TCG_PRIlx, op->args[k++]); + col += ne_fprintf(f, ",$0x%" TCG_PRIlx, op->args[k++]); } i = 1; break; @@ -1927,12 +1929,12 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) unsigned ix = get_mmuidx(oi); if (op & ~(MO_AMASK | MO_BSWAP | MO_SSIZE)) { - col += qemu_log(",$0x%x,%u", op, ix); + col += ne_fprintf(f, ",$0x%x,%u", op, ix); } else { const char *s_al, *s_op; s_al = alignment_name[(op & MO_AMASK) >> MO_ASHIFT]; s_op = ldst_name[op & (MO_BSWAP | MO_SSIZE)]; - col += qemu_log(",%s%s,%u", s_al, s_op, ix); + col += ne_fprintf(f, ",%s%s,%u", s_al, s_op, ix); } i = 1; } @@ -1950,9 +1952,9 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) name = bswap_flag_name[flags]; } if (name) { - col += qemu_log(",%s", name); + col += ne_fprintf(f, ",%s", name); } else { - col += qemu_log(",$0x%" TCG_PRIlx, flags); + col += ne_fprintf(f, ",$0x%" TCG_PRIlx, flags); } i = k = 1; } @@ -1967,49 +1969,42 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) case INDEX_op_brcond_i32: case INDEX_op_brcond_i64: case INDEX_op_brcond2_i32: - col += qemu_log("%s$L%d", k ? "," : "", - arg_label(op->args[k])->id); + col += ne_fprintf(f, "%s$L%d", k ? "," : "", + arg_label(op->args[k])->id); i++, k++; break; default: break; } for (; i < nb_cargs; i++, k++) { - col += qemu_log("%s$0x%" TCG_PRIlx, k ? "," : "", op->args[k]); + col += ne_fprintf(f, "%s$0x%" TCG_PRIlx, k ? "," : "", + op->args[k]); } } if (have_prefs || op->life) { - - QemuLogFile *logfile; - - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile) { - for (; col < 40; ++col) { - putc(' ', logfile->fd); - } + for (; col < 40; ++col) { + putc(' ', f); } - rcu_read_unlock(); } if (op->life) { unsigned life = op->life; if (life & (SYNC_ARG * 3)) { - qemu_log(" sync:"); + ne_fprintf(f, " sync:"); for (i = 0; i < 2; ++i) { if (life & (SYNC_ARG << i)) { - qemu_log(" %d", i); + ne_fprintf(f, " %d", i); } } } life /= DEAD_ARG; if (life) { - qemu_log(" dead:"); + ne_fprintf(f, " dead:"); for (i = 0; life; ++i, life >>= 1) { if (life & 1) { - qemu_log(" %d", i); + ne_fprintf(f, " %d", i); } } } @@ -2020,28 +2015,28 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs) TCGRegSet set = op->output_pref[i]; if (i == 0) { - qemu_log(" pref="); + ne_fprintf(f, " pref="); } else { - qemu_log(","); + ne_fprintf(f, ","); } if (set == 0) { - qemu_log("none"); + ne_fprintf(f, "none"); } else if (set == MAKE_64BIT_MASK(0, TCG_TARGET_NB_REGS)) { - qemu_log("all"); + ne_fprintf(f, "all"); #ifdef CONFIG_DEBUG_TCG } else if (tcg_regset_single(set)) { TCGReg reg = tcg_regset_first(set); - qemu_log("%s", tcg_target_reg_names[reg]); + ne_fprintf(f, "%s", tcg_target_reg_names[reg]); #endif } else if (TCG_TARGET_NB_REGS <= 32) { - qemu_log("%#x", (uint32_t)set); + ne_fprintf(f, "0x%x", (uint32_t)set); } else { - qemu_log("%#" PRIx64, (uint64_t)set); + ne_fprintf(f, "0x%" PRIx64, (uint64_t)set); } } } - qemu_log("\n"); + putc('\n', f); } } @@ -4207,7 +4202,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) FILE *logfile = qemu_log_trylock(); if (logfile) { fprintf(logfile, "OP:\n"); - tcg_dump_ops(s, false); + tcg_dump_ops(s, logfile, false); fprintf(logfile, "\n"); qemu_log_unlock(logfile); } @@ -4254,7 +4249,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) FILE *logfile = qemu_log_trylock(); if (logfile) { fprintf(logfile, "OP before indirect lowering:\n"); - tcg_dump_ops(s, false); + tcg_dump_ops(s, logfile, false); fprintf(logfile, "\n"); qemu_log_unlock(logfile); } @@ -4277,7 +4272,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) FILE *logfile = qemu_log_trylock(); if (logfile) { fprintf(logfile, "OP after optimization and liveness analysis:\n"); - tcg_dump_ops(s, true); + tcg_dump_ops(s, logfile, true); fprintf(logfile, "\n"); qemu_log_unlock(logfile); } From patchwork Sun Apr 17 18:29:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562885 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1884487map; Sun, 17 Apr 2022 11:59:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzEmhMRF6HBWiFk7LdC9YYjInhA0CgxWSMRlAyKrLcHUPniZO7IVsVYW/vtQdBpqK9+55Up X-Received: by 2002:a05:622a:191:b0:2f1:fa6f:a534 with SMTP id s17-20020a05622a019100b002f1fa6fa534mr2306528qtw.531.1650221983846; Sun, 17 Apr 2022 11:59:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221983; cv=none; d=google.com; s=arc-20160816; b=fxsn7aBwgaa63pBx/5bkdJWONrnP5ErjaFeSsitGk//sBvK8cRXO2CaVpGokGFoDez 1K27WToa2knDKP5AhyVXG62Mykqv9uHQvUEK2/MIByeGHpt2ODZE5263oI1pPLcxjHvS 1oxD/0erSby/1ymhhUHqGFU89XGiFfPv8seN1AFgd5wVyouC4NWcWoay8vcLtB1ISSf9 uVbvmbU2Kk67lepg2ojUlBgvamHrAWIyx5ukqJbSxdCH6O7SpfxLDuDGjAE4ucvBYe7w aZ+wJ1AS6uLSPlXRKo5CEhIiSkSAlRUHKeUoEdSdVVpBNwkwNYnYvA75hvl43jJrh82o eeCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=JxdrupjedL7TusPBC2C5rWsyl7C1sZI9UtLEc+dbxkM=; b=yHKpppEz+mi24ozf2bTrok7a4JcsMXJFFvnPCR5xJNMrhv0KMNv0v1b57ULVhmoK/z gzlNIrNM4Pv8Gn3IMEX4tOQie9xRg+3dplU01LvamtQjfyx06iWGYzUk0cBVJb/RIPJ0 AfaUasWAeXq+UMFCkZFgmZDGH+6X/3+abIZytT9oyCTI0dI4sjBnWnAzGATxDbJ+/SFK 4QH6M6TFz3nKPhtM91w6n3ybWg1ITVrTT97vlrJxEn0U6HRXut+WU8Yz2b66oS0m67r6 cvmNKlMzDWJbL2c63weRDbm/Az2wk5Dh/PMymP0uzBDWyqH/mFzKxEW+w6MO4Gq2yrTt yS1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=QCKIc7lG; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id x22-20020a05622a001600b002f2016e47c3si96502qtw.741.2022.04.17.11.59.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:59:43 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=QCKIc7lG; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:42628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA7b-000857-EQ for patch@linaro.org; Sun, 17 Apr 2022 14:59:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57200) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fQ-0000R1-3j for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pg1-x534.google.com ([2607:f8b0:4864:20::534]:34444) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fN-0001kr-4J for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:35 -0400 Received: by mail-pg1-x534.google.com with SMTP id t4so15089592pgc.1 for ; Sun, 17 Apr 2022 11:30:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JxdrupjedL7TusPBC2C5rWsyl7C1sZI9UtLEc+dbxkM=; b=QCKIc7lGLF2LVMIYMXgTbm555GefAfFA8gNu2x57GTjGEBuyseL33/t74m3c30GhYT vjJiwmLAjiddCB+4bxY+2NKs3UAAcc2PAP+E/hByqS5x3uWygFUs3GL70QbTTbGNHL0r i2NjV3bzyouNstVj3RUMb5kyx29bvdrCDk1MjC52ivm81Vm6pVKXOGlrN0mG9cfZB4k8 lzjpgEnbZn0sHcYRK65OpIIL6Xo1wRSkt08DadJEqtivXNdEt+qrXhWzuX0sboS++nHX UTSzEe6tM2IuSltTKsXNNftP1Ki9ESTtgxNmmgfuE6W0cYZkPqYdeTj3Z4LeysdnC3fc WdoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JxdrupjedL7TusPBC2C5rWsyl7C1sZI9UtLEc+dbxkM=; b=7MyO018pG75VhGmmHw+TT1qEdQZ0/sRqP41p/rjeJ0OUFiLJw8xWuYYtqzg/t0aNRx 82cWZGPh/gcfryBLi31IjcQEDNsOtT4OQTks4AIxgpJNrOqbI2Edo70ifXOnW9X3GNmN lR656iWG2U2+tf8ROQbZQBgQ+Q1c2ulMfOoHcCLEnWu3aLtR9CK39lV5tcRlHzs8/CxG bfIi/3r2JvEiaI42hKVIXyVe9bVUm1Q1buWdKBICjUDemgMvP9c1oT3Oa6FUb2n/FHHi JPy2m3/lLPTHsVdtKS2YfhZFCJNfWP40/NHlOxO7V3is0pzIy+k31HImGbjobDgJUfd9 vM2w== X-Gm-Message-State: AOAM532iUZJPu7sUobrkr2ur+iBCgW0k8IGnzP5ugr6sm2orJcFaXXKN D5P2lonXpBGzClx4c38oi048xlnbe79bCA== X-Received: by 2002:a63:78c3:0:b0:398:2d6d:c275 with SMTP id t186-20020a6378c3000000b003982d6dc275mr7177840pgc.565.1650220230627; Sun, 17 Apr 2022 11:30:30 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:30 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 12/39] exec/translator: Pass the locked filepointer to disas_log hook Date: Sun, 17 Apr 2022 11:29:52 -0700 Message-Id: <20220417183019.755276-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::534; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x534.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" We have fetched and locked the logfile in translator_loop. Pass the filepointer down to the disas_log hook so that it need not be fetched and locked again. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/exec/translator.h | 2 +- accel/tcg/translator.c | 2 +- target/alpha/translate.c | 7 ++++--- target/arm/translate-a64.c | 6 +++--- target/arm/translate.c | 7 ++++--- target/avr/translate.c | 7 ++++--- target/cris/translate.c | 7 ++++--- target/hexagon/translate.c | 7 ++++--- target/hppa/translate.c | 15 ++++++++------- target/i386/tcg/translate.c | 6 +++--- target/m68k/translate.c | 7 ++++--- target/microblaze/translate.c | 7 ++++--- target/mips/tcg/translate.c | 7 ++++--- target/nios2/translate.c | 7 ++++--- target/openrisc/translate.c | 7 ++++--- target/ppc/translate.c | 7 ++++--- target/riscv/translate.c | 10 ++++++---- target/rx/translate.c | 7 ++++--- target/s390x/tcg/translate.c | 11 ++++++----- target/sh4/translate.c | 7 ++++--- target/sparc/translate.c | 7 ++++--- target/tricore/translate.c | 7 ++++--- target/xtensa/translate.c | 7 ++++--- 23 files changed, 92 insertions(+), 72 deletions(-) diff --git a/include/exec/translator.h b/include/exec/translator.h index 9bc46eda59..31d3fa76ff 100644 --- a/include/exec/translator.h +++ b/include/exec/translator.h @@ -118,7 +118,7 @@ typedef struct TranslatorOps { void (*insn_start)(DisasContextBase *db, CPUState *cpu); void (*translate_insn)(DisasContextBase *db, CPUState *cpu); void (*tb_stop)(DisasContextBase *db, CPUState *cpu); - void (*disas_log)(const DisasContextBase *db, CPUState *cpu); + void (*disas_log)(const DisasContextBase *db, CPUState *cpu, FILE *f); } TranslatorOps; /** diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index af8798f98b..fe7af9b943 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -142,7 +142,7 @@ void translator_loop(const TranslatorOps *ops, DisasContextBase *db, FILE *logfile = qemu_log_trylock(); if (logfile) { fprintf(logfile, "----------------\n"); - ops->disas_log(db, cpu); + ops->disas_log(db, cpu, logfile); fprintf(logfile, "\n"); qemu_log_unlock(logfile); } diff --git a/target/alpha/translate.c b/target/alpha/translate.c index 66768ab47a..b1f78cff53 100644 --- a/target/alpha/translate.c +++ b/target/alpha/translate.c @@ -3027,10 +3027,11 @@ static void alpha_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } } -static void alpha_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void alpha_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps alpha_tr_ops = { diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 9333d7be41..19c09c3b53 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -14967,12 +14967,12 @@ static void aarch64_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } static void aarch64_tr_disas_log(const DisasContextBase *dcbase, - CPUState *cpu) + CPUState *cpu, FILE *logfile) { DisasContext *dc = container_of(dcbase, DisasContext, base); - qemu_log("IN: %s\n", lookup_symbol(dc->base.pc_first)); - log_target_disas(cpu, dc->base.pc_first, dc->base.tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dc->base.pc_first)); + target_disas(logfile, cpu, dc->base.pc_first, dc->base.tb->size); } const TranslatorOps aarch64_translator_ops = { diff --git a/target/arm/translate.c b/target/arm/translate.c index bf2196b9e2..783a43b4ae 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -9891,12 +9891,13 @@ static void arm_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } } -static void arm_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void arm_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { DisasContext *dc = container_of(dcbase, DisasContext, base); - qemu_log("IN: %s\n", lookup_symbol(dc->base.pc_first)); - log_target_disas(cpu, dc->base.pc_first, dc->base.tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dc->base.pc_first)); + target_disas(logfile, cpu, dc->base.pc_first, dc->base.tb->size); } static const TranslatorOps arm_translator_ops = { diff --git a/target/avr/translate.c b/target/avr/translate.c index af8a3e0f9c..dc9c3d6bcc 100644 --- a/target/avr/translate.c +++ b/target/avr/translate.c @@ -3015,10 +3015,11 @@ static void avr_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void avr_tr_disas_log(const DisasContextBase *dcbase, CPUState *cs) +static void avr_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cs, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cs, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cs, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps avr_tr_ops = { diff --git a/target/cris/translate.c b/target/cris/translate.c index 3656cd6db1..ac101344a3 100644 --- a/target/cris/translate.c +++ b/target/cris/translate.c @@ -3268,11 +3268,12 @@ static void cris_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } } -static void cris_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void cris_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { if (!DISAS_CRIS) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } } diff --git a/target/hexagon/translate.c b/target/hexagon/translate.c index 98f1452cad..d4fc92f7e9 100644 --- a/target/hexagon/translate.c +++ b/target/hexagon/translate.c @@ -833,10 +833,11 @@ static void hexagon_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } } -static void hexagon_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void hexagon_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 5c0b1eb274..c24d3ce3b8 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -4305,29 +4305,30 @@ static void hppa_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void hppa_tr_disas_log(const DisasContextBase *dcbase, CPUState *cs) +static void hppa_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cs, FILE *logfile) { target_ulong pc = dcbase->pc_first; #ifdef CONFIG_USER_ONLY switch (pc) { case 0x00: - qemu_log("IN:\n0x00000000: (null)\n"); + fprintf(logfile, "IN:\n0x00000000: (null)\n"); return; case 0xb0: - qemu_log("IN:\n0x000000b0: light-weight-syscall\n"); + fprintf(logfile, "IN:\n0x000000b0: light-weight-syscall\n"); return; case 0xe0: - qemu_log("IN:\n0x000000e0: set-thread-pointer-syscall\n"); + fprintf(logfile, "IN:\n0x000000e0: set-thread-pointer-syscall\n"); return; case 0x100: - qemu_log("IN:\n0x00000100: syscall\n"); + fprintf(logfile, "IN:\n0x00000100: syscall\n"); return; } #endif - qemu_log("IN: %s\n", lookup_symbol(pc)); - log_target_disas(cs, pc, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(pc)); + target_disas(logfile, cs, pc, dcbase->tb->size); } static const TranslatorOps hppa_tr_ops = { diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index d71bd2b0f4..4659a212b2 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -8690,12 +8690,12 @@ static void i386_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } static void i386_tr_disas_log(const DisasContextBase *dcbase, - CPUState *cpu) + CPUState *cpu, FILE *logfile) { DisasContext *dc = container_of(dcbase, DisasContext, base); - qemu_log("IN: %s\n", lookup_symbol(dc->base.pc_first)); - log_target_disas(cpu, dc->base.pc_first, dc->base.tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dc->base.pc_first)); + target_disas(logfile, cpu, dc->base.pc_first, dc->base.tb->size); } static const TranslatorOps i386_tr_ops = { diff --git a/target/m68k/translate.c b/target/m68k/translate.c index af43c8eab8..4026572ed8 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -6257,10 +6257,11 @@ static void m68k_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } } -static void m68k_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void m68k_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps m68k_tr_ops = { diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 2561b904b9..bf01384d33 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -1833,10 +1833,11 @@ static void mb_tr_tb_stop(DisasContextBase *dcb, CPUState *cs) } } -static void mb_tr_disas_log(const DisasContextBase *dcb, CPUState *cs) +static void mb_tr_disas_log(const DisasContextBase *dcb, + CPUState *cs, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcb->pc_first)); - log_target_disas(cs, dcb->pc_first, dcb->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcb->pc_first)); + target_disas(logfile, cs, dcb->pc_first, dcb->tb->size); } static const TranslatorOps mb_tr_ops = { diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index b82a7ec6ad..6de5b66650 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -16141,10 +16141,11 @@ static void mips_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void mips_tr_disas_log(const DisasContextBase *dcbase, CPUState *cs) +static void mips_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cs, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cs, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cs, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps mips_tr_ops = { diff --git a/target/nios2/translate.c b/target/nios2/translate.c index f89271dbed..89b97ef520 100644 --- a/target/nios2/translate.c +++ b/target/nios2/translate.c @@ -833,10 +833,11 @@ static void nios2_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void nios2_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void nios2_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps nios2_tr_ops = { diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c index ca79e609da..7b8ad43d5f 100644 --- a/target/openrisc/translate.c +++ b/target/openrisc/translate.c @@ -1687,12 +1687,13 @@ static void openrisc_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void openrisc_tr_disas_log(const DisasContextBase *dcbase, CPUState *cs) +static void openrisc_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cs, FILE *logfile) { DisasContext *s = container_of(dcbase, DisasContext, base); - qemu_log("IN: %s\n", lookup_symbol(s->base.pc_first)); - log_target_disas(cs, s->base.pc_first, s->base.tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(s->base.pc_first)); + target_disas(logfile, cs, s->base.pc_first, s->base.tb->size); } static const TranslatorOps openrisc_tr_ops = { diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 408ae26173..e0c9f74da4 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -7769,10 +7769,11 @@ static void ppc_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void ppc_tr_disas_log(const DisasContextBase *dcbase, CPUState *cs) +static void ppc_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cs, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cs, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cs, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps ppc_tr_ops = { diff --git a/target/riscv/translate.c b/target/riscv/translate.c index fac998a6b5..6495726302 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -1155,18 +1155,20 @@ static void riscv_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } } -static void riscv_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void riscv_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { #ifndef CONFIG_USER_ONLY RISCVCPU *rvcpu = RISCV_CPU(cpu); CPURISCVState *env = &rvcpu->env; #endif - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); #ifndef CONFIG_USER_ONLY - qemu_log("Priv: "TARGET_FMT_ld"; Virt: "TARGET_FMT_ld"\n", env->priv, env->virt); + fprintf(logfile, "Priv: "TARGET_FMT_ld"; Virt: "TARGET_FMT_ld"\n", + env->priv, env->virt); #endif - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps riscv_tr_ops = { diff --git a/target/rx/translate.c b/target/rx/translate.c index 5db8f79a82..c8a8991a63 100644 --- a/target/rx/translate.c +++ b/target/rx/translate.c @@ -2342,10 +2342,11 @@ static void rx_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void rx_tr_disas_log(const DisasContextBase *dcbase, CPUState *cs) +static void rx_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cs, FILE *logfile) { - qemu_log("IN:\n"); /* , lookup_symbol(dcbase->pc_first)); */ - log_target_disas(cs, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cs, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps rx_tr_ops = { diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c index 5acfc0ff9b..1e7f470c4b 100644 --- a/target/s390x/tcg/translate.c +++ b/target/s390x/tcg/translate.c @@ -6660,16 +6660,17 @@ static void s390x_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void s390x_tr_disas_log(const DisasContextBase *dcbase, CPUState *cs) +static void s390x_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cs, FILE *logfile) { DisasContext *dc = container_of(dcbase, DisasContext, base); if (unlikely(dc->ex_value)) { - /* ??? Unfortunately log_target_disas can't use host memory. */ - qemu_log("IN: EXECUTE %016" PRIx64, dc->ex_value); + /* ??? Unfortunately target_disas can't use host memory. */ + fprintf(logfile, "IN: EXECUTE %016" PRIx64, dc->ex_value); } else { - qemu_log("IN: %s\n", lookup_symbol(dc->base.pc_first)); - log_target_disas(cs, dc->base.pc_first, dc->base.tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dc->base.pc_first)); + target_disas(logfile, cs, dc->base.pc_first, dc->base.tb->size); } } diff --git a/target/sh4/translate.c b/target/sh4/translate.c index 43bc88b7b3..f1b190e7cf 100644 --- a/target/sh4/translate.c +++ b/target/sh4/translate.c @@ -2352,10 +2352,11 @@ static void sh4_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void sh4_tr_disas_log(const DisasContextBase *dcbase, CPUState *cs) +static void sh4_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cs, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cs, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cs, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps sh4_tr_ops = { diff --git a/target/sparc/translate.c b/target/sparc/translate.c index 4c7c7b5347..2e28222d31 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -5901,10 +5901,11 @@ static void sparc_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) } } -static void sparc_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void sparc_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps sparc_tr_ops = { diff --git a/target/tricore/translate.c b/target/tricore/translate.c index 417edbd3f0..d170500fa5 100644 --- a/target/tricore/translate.c +++ b/target/tricore/translate.c @@ -8861,10 +8861,11 @@ static void tricore_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } } -static void tricore_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void tricore_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps tricore_tr_ops = { diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c index b1491ed625..a9e69c4153 100644 --- a/target/xtensa/translate.c +++ b/target/xtensa/translate.c @@ -1296,10 +1296,11 @@ static void xtensa_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) } } -static void xtensa_tr_disas_log(const DisasContextBase *dcbase, CPUState *cpu) +static void xtensa_tr_disas_log(const DisasContextBase *dcbase, + CPUState *cpu, FILE *logfile) { - qemu_log("IN: %s\n", lookup_symbol(dcbase->pc_first)); - log_target_disas(cpu, dcbase->pc_first, dcbase->tb->size); + fprintf(logfile, "IN: %s\n", lookup_symbol(dcbase->pc_first)); + target_disas(logfile, cpu, dcbase->pc_first, dcbase->tb->size); } static const TranslatorOps xtensa_translator_ops = { From patchwork Sun Apr 17 18:29:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562883 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1884364map; Sun, 17 Apr 2022 11:59:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJylWXNR7g8spbHQhjfGa3YSQZIItSsX0iFZYwSrqKx7pyS8+1tMP3ZyfHBIFJmdZY3sA75E X-Received: by 2002:a05:620a:d8d:b0:67b:e95:2975 with SMTP id q13-20020a05620a0d8d00b0067b0e952975mr4864188qkl.115.1650221970426; Sun, 17 Apr 2022 11:59:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650221970; cv=none; d=google.com; s=arc-20160816; b=1I/jqhpG1exLEY+erPGSl68deOFb7m2hSw/GvTlGFV7B8Mixe9GPi1GpbggzAwOcUx Z7jy/oI2FDxafYma/Wj90PT3SdscSQ/MCOCLJ8m0WP+Wk5vup9Gc94E7OLN9g5SEwMVE dVIT14VUj8IpfCelqkzfh+f5f2t9NGVmT7RjIJl+xtn4atnQMN6ABt5V/ombdQK+jFZ2 TnHrd8L7oGJ5vcjHc609e2nHrtQGl/WJNYrXXXW1IP4F5Mo36Rg3XbnAokK+gIbMHd2N pADRvK3VFoBnPjiU7c+kWTC5dxuxGz7rwcOs1WUAqrRMTU15kx1lL2k+rfETsgtYq8Ht PY2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=wO5Wh5HP0i+tOOgGVozoS4MuFqoPcN+y0r0Oy8V8BSg=; b=tXIttaOxIWgeAk1qHKDJ8qirVho+LKkhlYBIQHViptmF+lCWNJriFspFQzMVO8+cC7 M7+IAOzwuSu8vUW2DqMc0ha8QnlddKPGCemhx/ZZysSiT6/o6pt25ToAJXKksQKgyMqn 74GGA/RUX4vFL+wSFNsHMq1e6XygIs0ck0vVeUglu5TkEc1SM4uDStqysfahZnFmTRjN /mijSBT6EcHTeWqBxtcIVDc1rYvNHDnexhTlKdRWj9efEqJlhx6FGcHyzTQxqzgRHPWa bKLu+wGoZ3D0ab2Cx6jPoGxG7/bvhVePfWpM/RwWmjS+UpXhJIR2YemYDPf2JnVe8Fhb xlcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=z4wchRE2; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id a4-20020a056214062400b00443d6ae9cbasi2204313qvx.137.2022.04.17.11.59.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 11:59:30 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=z4wchRE2; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:41460 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngA7O-0007J4-1G for patch@linaro.org; Sun, 17 Apr 2022 14:59:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57176) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fP-0000Qx-Fy for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]:34446) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fN-0001l4-GL for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:34 -0400 Received: by mail-pg1-x536.google.com with SMTP id t4so15089629pgc.1 for ; Sun, 17 Apr 2022 11:30:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wO5Wh5HP0i+tOOgGVozoS4MuFqoPcN+y0r0Oy8V8BSg=; b=z4wchRE2+sWcDoIN6C6OentLofVvomkZcz6gmF+qdTBD/kBtpcQ0+ScnsKtpIStnzN Xys09fqszFO83pIIB0J2hX384/fvytdbEfMpgo0bZbmT7vl8Vdsp2sei4rx/KW3OgAAy IlUAFnKwgRUmr3L1IBMhaF2kOwSgZ6U85MPQ0PePS8taYpZs61vqJnetCoEdcfgl8Jll el+FMtLAR7CcQ9E33XF8zvvcZfkLl27vweBKEYoR9aaJwf4EEUUDHwWirkWXvWOVQYYI KOpCuT4ia5Ie/iWeAZzGQVAVhPXoOjhgR9GFrCbUG3CXY8bWChlzGUEn9/IjRvxhzrbL JRtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wO5Wh5HP0i+tOOgGVozoS4MuFqoPcN+y0r0Oy8V8BSg=; b=gLV6Bvn9nLLbNngcSso6lIGOMWlB9Auuanw78UWYi/W0ArvpUz6tWSQ/Zef77OXSxM ozQLWzIzMwY+QjBP2BmD8YficKcbEtuBTkrLRz5L5fSWZSq4A2AIWQqxiCr9JFunPW/L ECNbQACNE6QswoS/Q/g4TQo/fCdNlffV5oRXCnWApRM4ejaB6kBlCeOwT7UGNi2Q+Axz ei1hT26rC4SArGXipA26IxQz9oiemNCEVtaB9GZl8XAaS8hKpAuMKDfOdRJHlYLb9w3f TMmYbUAIn0hjYl1JCjblb7CcLG7KPVDs24Bafc3lxWdqFkRaFc0gilz2Z/qh1tpyzUWO NNnA== X-Gm-Message-State: AOAM530FnT1r0PjMzpiIwQEce8Igcfdz28lyVKqMQWURRHHYV5H83Zkl 5sFjmXKvtOMRgSTu+EF5JryhS3RecfK0TA== X-Received: by 2002:a63:5fc9:0:b0:3a2:e4b3:a222 with SMTP id t192-20020a635fc9000000b003a2e4b3a222mr7047489pgb.24.1650220231474; Sun, 17 Apr 2022 11:30:31 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 13/39] exec/log: Remove log_disas and log_target_disas Date: Sun, 17 Apr 2022 11:29:53 -0700 Message-Id: <20220417183019.755276-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::536; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x536.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" These functions are no longer used. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/exec/log.h | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/include/exec/log.h b/include/exec/log.h index 648f4d2263..06ab9841ee 100644 --- a/include/exec/log.h +++ b/include/exec/log.h @@ -43,30 +43,6 @@ static inline void log_cpu_state_mask(int mask, CPUState *cpu, int flags) } #ifdef NEED_CPU_H -/* disas() and target_disas() to qemu_logfile: */ -static inline void log_target_disas(CPUState *cpu, target_ulong start, - target_ulong len) -{ - QemuLogFile *logfile; - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile) { - target_disas(logfile->fd, cpu, start, len); - } - rcu_read_unlock(); -} - -static inline void log_disas(const void *code, unsigned long size) -{ - QemuLogFile *logfile; - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile) { - disas(logfile->fd, code, size); - } - rcu_read_unlock(); -} - #if defined(CONFIG_USER_ONLY) /* page_dump() output to the log file: */ static inline void log_page_dump(const char *operation) From patchwork Sun Apr 17 18:29:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562892 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1887699map; Sun, 17 Apr 2022 12:06:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy5g177O0EA/0WA0XtDoV8/2ekSnQpRKVUKfGMmefvlxrzq6VtYsxorUbCJagIh2aCdatLd X-Received: by 2002:a05:6214:19c7:b0:446:1f75:de46 with SMTP id j7-20020a05621419c700b004461f75de46mr5766741qvc.47.1650222385046; Sun, 17 Apr 2022 12:06:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222385; cv=none; d=google.com; s=arc-20160816; b=uVZnLTfhnkTuSvGlQMDku3cW+tWP4OMa8obMbfUvecaRD1IWSsLU0Jwmqv2gPzARrP MUkmW2gvAMle51ABazcj3KrQd1HRH8ir5wz5DB+bX452hJbkEbB0ezGwTrDeoZ29b9uo FsceUM3/3RErfnd+OiOIjjFNMv97egDneNdq9dQG7d41i11J1dAJVAawmjs8YXnz1k4O gKnfOV/sS71GpeNKmtL/5ero/SCDXnumS+i+UVn+YPj5/2ZAaPVhlLpt62cE9mQ/deWf 3x7rlSVL4EBoA3/B0uurChMK2uBz4+cHNZjyQjfWO8YOHFSMeqPGx5q/W0FA5RjQ0RaA SGYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=t3O4FwVAwERrxw7kJMIjPWB5C/y+bt8i7O4EoSr3dFM=; b=bZh08576Bzi7UPdCofGG3cRXJzkn1Sisxs1r4TfN9z3vp7FOtY76ViXISU5bjgWSNI 4vU/3cLHMcjJa83ofAxdLJdXD9abaCO/l7ZptIonjj0IFmzRRFlRnk/9AhVuqlyaA5Lo ikb+OraWVtEmEg3lIAyJLfx4brr2nTrhxspuh64IwQyOHKMrd4f44L21qYM4oVLVsbXQ ttCSo6j3daANLlW7c1OLvoDxDGPHsbcuvXNm93eArfgIkXdcYVhk4rI+LyapFiPus6/A 2gi+wtdGMW0VCkioEZkmQooybSdJ2aF5mn5RQfFaizz6vtBLjT1pFIZAaNR1ma1FEyya finA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="BGy/zThq"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id kk14-20020a056214508e00b004463873b601si2068229qvb.533.2022.04.17.12.06.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:06:25 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="BGy/zThq"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:59786 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAE4-00036I-Kh for patch@linaro.org; Sun, 17 Apr 2022 15:06:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57186) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fP-0000R0-Lj for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:37 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]:45891) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fN-0001ln-JT for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:35 -0400 Received: by mail-pg1-x533.google.com with SMTP id k29so15048831pgm.12 for ; Sun, 17 Apr 2022 11:30:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=t3O4FwVAwERrxw7kJMIjPWB5C/y+bt8i7O4EoSr3dFM=; b=BGy/zThqsHNB4U/IchcNkR4tdcGjTnzzCCv4J7WPowzg7kESRwkFYMZhh08PG3IV3A FsgrIKmI2Hs81xtePVIcwSCr1mtzyymps10F8pMdNndVU7XxRmhHcIWG3Tl/VtrgRSHc YoDH74SUwjOFW3qw67oxgUFAdUIaWIjzeioxcDLq38uY9HmRQYvmv+HIKYP2MgtyJ2dM y3ZPS5Ki7OpzmlQ3ug7OJYlPDMJBfujMJRNPQ0mUEWdLBjXhU+u71+nCTQtdvYuEhDI3 roWHQTHWmwmk43Zzp3z8xAw41Xbtv9lFK7L3sdfkka8Zya6QIFVxg/MQKVaYy/m+jtiG Of5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=t3O4FwVAwERrxw7kJMIjPWB5C/y+bt8i7O4EoSr3dFM=; b=qLHc5CQU8yhdHKHNnEz2x0zROYtdEcETbuka9sSSbBuxVu45vwv/QFkaATAja4nWLl jLwJPaNvIYI2J0pHdZoiOzGwlR14zKtZTbdn98N0y4dU6pz99+xXmEKSh2wi2YFlpdxG hxV1EtOM3ZA+abV7Fn8qJCdOa0bmtkxK6RfVca01ETn4x37IO68ByBy7oj8RFwpjcsu7 DZlNWF6RoXGC1pRNdPIdoG1AfFKx1WJeNdXQ/U4TPQbuvYKO++y7KPFMuSo5Qpx7vife bYlcalYqDUgNaEGc7ueRUijOdXXX/xk6ai/ay6u1U7JKyRAlJgBfsof63I3Ziy9yQhe6 rGZg== X-Gm-Message-State: AOAM531/4wU7BA3ls+dKv0LS8SaE8m25eVuh0kLbyQ68KaxrLKmIufLs R/iCc+sNZUBnZj5J2eIQmzxPblwYIlRpvw== X-Received: by 2002:a63:2263:0:b0:399:561e:810b with SMTP id t35-20020a632263000000b00399561e810bmr7032342pgm.615.1650220232294; Sun, 17 Apr 2022 11:30:32 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 14/39] accel/tcg: Use cpu_dump_state between qemu_log_trylock/unlock Date: Sun, 17 Apr 2022 11:29:54 -0700 Message-Id: <20220417183019.755276-15-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::533; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x533.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Inside log_cpu_state, we perform qemu_log_trylock/unlock, which need not be done if we have already performed the lock beforehand. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- accel/tcg/cpu-exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index 8a896e772d..931643a510 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -225,7 +225,7 @@ static inline void log_cpu_exec(target_ulong pc, CPUState *cpu, #if defined(TARGET_I386) flags |= CPU_DUMP_CCOP; #endif - log_cpu_state(cpu, flags); + cpu_dump_state(cpu, logfile, flags); qemu_log_unlock(logfile); } } From patchwork Sun Apr 17 18:29:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562888 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1886439map; Sun, 17 Apr 2022 12:03:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz/2kItl/jwXibqDN0EMw5LG0vu4uRBG7q1SRfLZakYk3CFSXSYOxnBZBWBjPvCiemdNCyO X-Received: by 2002:a05:620a:470f:b0:69c:2be1:5a3e with SMTP id bs15-20020a05620a470f00b0069c2be15a3emr4874402qkb.727.1650222198480; Sun, 17 Apr 2022 12:03:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222198; cv=none; d=google.com; s=arc-20160816; b=skRGsBmqcQKU8NGoUcNRqxopBTz1CKEWOuM5z5UQXbHue+kC2E7k96IYdHf2NvyoO8 gCVu2l+kHbEBSq2UjAXXBoaFXLAVm0j+1dN4v9T90JqsG76w0yWO3mAkpOQsgSYr0naG 3N6tvM2o9vltpLl/rTMiuFvvmGdrHM8EyoTA997rdrhJT8Kr/eNlaBjjrCsSb+dZLZL9 CfODIlA63RZ8/JThzklGNm7ONe6n9APSG24BEAmukqys8x5j7pHcJXMhAuD6OOqE/i7P rkym0FmJSWZ1eKTn/+L+l0wcwcN0jLD/jBpF9iLljxQ4GC+uBwENZl1Cli11v2aM+ZX/ CFcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=Dg7CjWS8KKLFIwp/8vvP9chwY22ZIq4AeXhGZgPR9KE=; b=JWEZoW5p9WJNKdRAPaLwZIPPbG24IVF/mMlwMDRSR19tA4N3JpPE7qUcQvY8oeVe1z SVr7qau0Pj/osi3oYHsq0MQPeQurqPEg/f4/ImFTGTA17rTMOAn4sN0eVl9BGz7HWSKv oKTtnKDYcp+fwysETseFsK40cIVDxwj77/AsNMc8R01gDXqmPSXyIIvBHtg7cqUc4PcE N7K4LVyP4ffj2FjFK9ahgpQlo5ew4VmRJlzJtcBC2OeFfi7iTKFxUdjYLlVFjF3v8wJc RuPsEwrSvVWG0COuMDES65ih5AEYr93a6djKIhszNWLbEPLA9UC0uIM2tAlJt5eNPkYh R4Ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=uIDXQHSb; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id k22-20020a05620a0b9600b0067e4be23a81si2039736qkh.710.2022.04.17.12.03.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:03:18 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=uIDXQHSb; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:50450 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAB4-000571-2P for patch@linaro.org; Sun, 17 Apr 2022 15:03:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57212) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fR-0000RX-B7 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:38 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]:39768) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fP-0001md-8B for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:36 -0400 Received: by mail-pl1-x62c.google.com with SMTP id c12so10789185plr.6 for ; Sun, 17 Apr 2022 11:30:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Dg7CjWS8KKLFIwp/8vvP9chwY22ZIq4AeXhGZgPR9KE=; b=uIDXQHSbxTU3wfam5fRbRmxq30nC0NnJsYV1xQTkQq79X2MQ/oQqcGe6ngs+eksL8T UasqcZbBjQDPnApeap4l3gLaLYiYMCKVYkBwA2F4OlXugEPrYCeJpo0j7RdHImUt0Grh GAhUa0Ryx/TX6XYeSEHR0KGVJ8BI0rcnuenJK8SQxTB7p/9PnnCoNYiczKXX4PrA9N8R 3OYtGeexogUGjaGHcqmojwUtZ51DCjooJ3nf1SfGIape2hiSwrKEOkmq3wBpDl2u25BU zvh7az0mrdORtuAaICjqXy4UhV+vtb1/8W3KXsRWRfeTtyRal8zaK4Y1tV4E8LoXm7P/ 9ptQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Dg7CjWS8KKLFIwp/8vvP9chwY22ZIq4AeXhGZgPR9KE=; b=pSvrxF/5Lyj2BavjN9X92sVyr+0T1NNBHGqm5Aw3lL8vUMfDafk44mXTVkXAy+EcK3 3w1UQlanJ1ZKgyg70FK9kqYdjCWaJ9nhuRIF5Z1jpAHsipKDvvEJ68KCa9Y2VpIWE1zg l6Jou2koCBnF9bpD2YF2iB7FmODNn+cNrZ5QPqN0uXxi+/gVSvjSrtfgf6CQClUh5OZu 71wiXYPYCRV0xxt4366yv7TiZF56faqZC29qtS517h7z0/GSi+RjC1lNhO4U9xnc2z+7 UDwq3QF+54ZcsBb1EwTKGxevPaFORklAR88y8vOMPiET76Nmv22sYaxOPSdfR4HoiFog dwCg== X-Gm-Message-State: AOAM533hxr2RLBmBE3BWIgv1H5Mj/ea09hic18GNfm/qplZrwaFvxSpW ca6IdDkIAGDsDc4qlRpoCx/ZxFq4zPmBUw== X-Received: by 2002:a17:90b:1b03:b0:1d2:a338:c568 with SMTP id nu3-20020a17090b1b0300b001d2a338c568mr634157pjb.129.1650220233216; Sun, 17 Apr 2022 11:30:33 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 15/39] target/nios2: Remove log_cpu_state from reset Date: Sun, 17 Apr 2022 11:29:55 -0700 Message-Id: <20220417183019.755276-16-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62c; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This is redundant with the logging done in cpu_common_reset. Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/nios2/cpu.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/target/nios2/cpu.c b/target/nios2/cpu.c index 6975ae4bdb..b0877cb39e 100644 --- a/target/nios2/cpu.c +++ b/target/nios2/cpu.c @@ -46,11 +46,6 @@ static void nios2_cpu_reset(DeviceState *dev) Nios2CPUClass *ncc = NIOS2_CPU_GET_CLASS(cpu); CPUNios2State *env = &cpu->env; - if (qemu_loglevel_mask(CPU_LOG_RESET)) { - qemu_log("CPU Reset (CPU %d)\n", cs->cpu_index); - log_cpu_state(cs, 0); - } - ncc->parent_reset(dev); memset(env->regs, 0, sizeof(uint32_t) * NUM_CORE_REGS); From patchwork Sun Apr 17 18:29:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562891 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1887370map; Sun, 17 Apr 2022 12:05:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx4NqUZOfwI2MN4HNpZf6OgJ15d3ooXKM4meuOnD9oY7zOTwsPa3mKNSMQ4wGSYGdlw+IlT X-Received: by 2002:a05:620a:2902:b0:69c:3fd3:59df with SMTP id m2-20020a05620a290200b0069c3fd359dfmr4759886qkp.419.1650222336005; Sun, 17 Apr 2022 12:05:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222336; cv=none; d=google.com; s=arc-20160816; b=0kREQ759s2+kt/h8croL2AP4PQu3U7tUkmFTPMdvMYFPTBl7WM4Rx8QCtLs6AgSQrI Ls2I0vUwIwYH+nBOGKtMnoauZ2EQeZn9iq2rwvl/Uz1+1r4xvF+CmdajMCN7OpnNtmo2 hGHpFWBAC3mC+eWVJ2pMJMgLCmxyvNTrttwUV7SxzHnq66Vg2SPCDaoXU36UH2XQF7CL SJb0axz6eaIzb8zDzwphWp8z2AEqbrg7iAqBm8s5lwVGz9TLN5Oo7/kNP3vSsmb44Ypr Sjhngss3Ieul2FBvc5eSEnX2pDJ6m0Kiscds+E/MyVDrE2RHOKJerSZjtMJ5zN5Z19WW Hfuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=aDLKHovI8bxO2d9YjJwk21iI6jYdGi7gzankaymnjFw=; b=xk2QivZhyWgF/5O6M3gNqlPRb7O9aaJDh0d6c9Es7ZTle5m09OM3wkPAWkGqQuU2/T 84GvitgaKlU+wPCo5d+OCfaTrU4zuyZkqzWdJ3loQQj6sGLrYeNjtV8u/2obVOn5xNm6 A/2MX9hT1QEGRZMW1mQiRWvaMZJQ1ZDZn5Gj3HhHCqOV8m0+YhP4KSPqSJ2Ic2oGLU17 /ZrNlpZSgEYPxk6ZMA7AAVpacdOrc7VOvf8gmCu3CuH95dhLfWKO1YC3d7oxT2tLYM6A weoaWFQd0EML7pYfRIAuVaEgxKqWTiYoNG/PDr8U1aprzwjXncjB6D2bp9E8BVkc3bdd MPMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tdGbrDBG; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id p13-20020a05622a00cd00b002e1fd7e2e72si2657488qtw.279.2022.04.17.12.05.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:05:35 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=tdGbrDBG; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:58234 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngADH-00024I-E6 for patch@linaro.org; Sun, 17 Apr 2022 15:05:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57214) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fR-0000RY-Be for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:38 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]:35761) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fP-0001mt-Dr for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:36 -0400 Received: by mail-pg1-x533.google.com with SMTP id k62so9001989pgd.2 for ; Sun, 17 Apr 2022 11:30:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aDLKHovI8bxO2d9YjJwk21iI6jYdGi7gzankaymnjFw=; b=tdGbrDBGKkVU7/v7/KqAwU7hJRGT7StkzROPpIcH8qhgcf+LP+VN7x0D65N5xpJ1Ta 1BcTqfMGrSAi//B6JrgY9uhvgaCN9hfNsDfmkUndJ4RKH0y6qENJv1C5d7SzbsmzsW4C WVDJhDL9yURtbrzBEiNhLCPmnlUsnI7hBs3C5PRS9h3ZqWDwp1DEBvkuOIhBqGfHxFz0 ShR25ojy76/LU8zR2o/QdleyP/ve4UoZO79rN6u420s9lv8K/7sDdmFIu+bEsNTmVejh i5uZLcOu0xGvWPH44EhboGtOqRl3tp59GaYtFix5Cmef2oLszFpbbrTmM+os24TowdpK Et+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aDLKHovI8bxO2d9YjJwk21iI6jYdGi7gzankaymnjFw=; b=tBXqBxUSxnW2PxjxOBrqeNPB5mNg7blzGEUQecZFQWDMpBO/hhIih1IGMCX6HTL0va Rk3DUyZgceSeo9PKmrWEXPiYVxM4tuR1IvrwmB3T4cbn6jB+HZxoBwgFDOqcXxyAmZ6n nzieih7saEemGF2YJx0gWgaj9TIRzNZlTXJSxRIuGgJNmD+Z+tOZ24vdI0fYl+MmeKJq gEMHfFLFZD4r83R6hnfU1kDbx/ydzyNOkx5xOcR35jxTQEk5C4jJwGWouMyYdv71BWpA zpmdJBeAe6XnYnYLeLVhqeCxiXzM69SH8CpegVwbcIC23KljuREtoTXHU9mgo3wn8iNa Mgdg== X-Gm-Message-State: AOAM5309r93BVh7TqRk9+b3aPBTSYs0ZRLJgyIqIfwbgwhMZN3xbtEfb fwy88kmCfrTnaPrikLzifC1gyE0PxGZWdw== X-Received: by 2002:a63:1a0e:0:b0:3a3:d8bd:2812 with SMTP id a14-20020a631a0e000000b003a3d8bd2812mr7146576pga.20.1650220234146; Sun, 17 Apr 2022 11:30:34 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 16/39] util/log: Use qemu_log_trylock/unlock in qemu_log Date: Sun, 17 Apr 2022 11:29:56 -0700 Message-Id: <20220417183019.755276-17-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::533; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x533.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Avoid using QemuLogFile and RCU directly. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- util/log.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/util/log.c b/util/log.c index 6b7b358573..090bc3bc39 100644 --- a/util/log.c +++ b/util/log.c @@ -62,23 +62,22 @@ void qemu_log_unlock(FILE *fd) /* Return the number of characters emitted. */ int qemu_log(const char *fmt, ...) { + FILE *f = qemu_log_trylock(); int ret = 0; - QemuLogFile *logfile; - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile) { + if (f) { va_list ap; + va_start(ap, fmt); - ret = vfprintf(logfile->fd, fmt, ap); + ret = vfprintf(f, fmt, ap); va_end(ap); + qemu_log_unlock(f); /* Don't pass back error results. */ if (ret < 0) { ret = 0; } } - rcu_read_unlock(); return ret; } From patchwork Sun Apr 17 18:29:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562896 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1888947map; Sun, 17 Apr 2022 12:09:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzDQ21LH7MMUQpf6Lf9Usluh1ixWURhd4Cny+0tvUP2phl/YeM/v6Z2g/zewjnI2rXRnmEz X-Received: by 2002:a05:6214:c69:b0:444:294a:dbd9 with SMTP id t9-20020a0562140c6900b00444294adbd9mr5904800qvj.80.1650222541143; Sun, 17 Apr 2022 12:09:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222541; cv=none; d=google.com; s=arc-20160816; b=QibrEB/I1Pq6i8tztz/1RK98vdhDDBtyGXlVfEvqovhPOeqnotvpT235hq1A7g5S7W tHCIOx24lvPuXbEKeqrwJi+6xh5zwWBa1HBlwMq1LA0W7nLAIkks34UhQ8mm+Li0l2QL XSjT4q47ULbm0/daPI/ZUQCruo7117xlQepzpxoe6FUAK5NXUeU7cqx1JLhVupy8FJDQ ThzO1FGmS+eqlSwkR30uxojAOQJYmNreAAOouxJix2fjDdu1AywDSPasaP8AKZQUIFwM XRCpnN1UXRG9KJc96TG8ABhZPScEQj/kPMbVtKemrtL04qe+CYNMyWI2/zJzlv33Kkk0 Qf7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=B2yOmG4jVDYQ3nJ0wsT3v+x6riKueIrGNetVF8RAfhk=; b=aE2uAiVsXAnzTLqx97uMqivZkQplH6vwaA1kkeqADAnFq+3eUO/5gTbks/htfo8Q0b VInkoQUiS+NoQfnxecomKQ2o1gdYh899+uEwX3Sh6wTbV6qYFFo1/R/qbT8Yy+Xs1ELE K1WBz3jFKGqInWYhkQ20A2cxM52991sSpdOZH8vZNnjyS2JnwEChemPwuIdPrQRd/98k jCK+o0jBGQrUgf8L1NzYmzHCMBi+zJA8dwvwQya8MUwGp3BU4yh+Xhn3+ToojnZGMwQ9 1ikJAt4tXq9JQBsynv2pLJi9GPXKGJ81HTfao8xmr4PDlwWgZhwh4J94A6SRR2BfGWWC EG/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=A0Vv3F2N; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id p81-20020a374254000000b0067e6731ab6asi2221664qka.320.2022.04.17.12.09.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:09:01 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=A0Vv3F2N; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:40042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAGa-0000hb-L8 for patch@linaro.org; Sun, 17 Apr 2022 15:09:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57256) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fU-0000TI-KI for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:41 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]:33594) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fR-0001nA-3R for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:40 -0400 Received: by mail-pl1-x632.google.com with SMTP id c23so10837162plo.0 for ; Sun, 17 Apr 2022 11:30:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=B2yOmG4jVDYQ3nJ0wsT3v+x6riKueIrGNetVF8RAfhk=; b=A0Vv3F2NSIzu3dZe1W8ld4edFr+PLTJ+ZOTq8VwSG7dZR51K8pqM5plky2XqTBEEZ3 C8vwHl9fXoxzpTPWWH6a4f8rPRkz6CuFJkrVK5HoQv4csX6Xw7+6OHK/hdjxxZBnn5jG 8KhnUFlcfn9qxnzi/kU5tmLXCeal+Z5bm0J1dJ6NT0GFUQQPXBcyGwGDlKhS5d3HPIGd 2DcKfZ1OqX+IuTYLDmlYAlHquZYtaiNLd64s6HxWEIuPx/+EnoQXYsRSk4c8Ba4rJ4+W q+RhIgCdGSP2AY3n+n/fqk9QYJuMT444/lkriNWDzWpJ4ikeB8S3hNrpcMC34C8+ZM4Y Cetw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=B2yOmG4jVDYQ3nJ0wsT3v+x6riKueIrGNetVF8RAfhk=; b=3DRkPu2Iub62LREg1tiLYFuvKIBO15THMaGVX/0HkYC2fSY250Ktwmi1MXfAHZeb8S yASGzIkQgzUfo9F/pviS+TsHVoAfS7g4sAyebxRetgbtCj0YChBNxI3PJuhyP5VgRQeo duJWNMYg1RIFyxjBLWCv1J97SNl7gF7u+T0q7Y1/t0ac6/Cquf1t+toURTQKTjpGg0ot e+gTzvzUG+0SKqG+cPJWiQK8HVW2tyUlLz12z+BpHWepypoYLhmaEEPOFrUu3zMlE1t6 K9eZC2vEbkWMuNycHDEY0vGqxKX6DLicELkix9PjKUERM3oVThhhZzWDRu3Bny1Wr6kr bTqA== X-Gm-Message-State: AOAM530pZoJPjKmeThvLLbmTwrdoGIP9X+w8+/oPtcGOlSGzJyVY37p/ 4b79a+iSuZGWIbVI10zI8TJAegxihI33GQ== X-Received: by 2002:a17:90a:c302:b0:1bd:14ff:15 with SMTP id g2-20020a17090ac30200b001bd14ff0015mr14538118pjt.19.1650220235080; Sun, 17 Apr 2022 11:30:35 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:34 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 17/39] util/log: Drop return value from qemu_log Date: Sun, 17 Apr 2022 11:29:57 -0700 Message-Id: <20220417183019.755276-18-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The only user of this feature, tcg_dump_ops, has been converted to use fprintf directly. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/qemu/log-for-trace.h | 2 +- util/log.c | 13 ++----------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/include/qemu/log-for-trace.h b/include/qemu/log-for-trace.h index 5e41517227..d47c9cd446 100644 --- a/include/qemu/log-for-trace.h +++ b/include/qemu/log-for-trace.h @@ -30,6 +30,6 @@ static inline bool qemu_loglevel_mask(int mask) } /* main logging function */ -int G_GNUC_PRINTF(1, 2) qemu_log(const char *fmt, ...); +void G_GNUC_PRINTF(1, 2) qemu_log(const char *fmt, ...); #endif diff --git a/util/log.c b/util/log.c index 090bc3bc39..2bd4dfba1b 100644 --- a/util/log.c +++ b/util/log.c @@ -59,26 +59,17 @@ void qemu_log_unlock(FILE *fd) } } -/* Return the number of characters emitted. */ -int qemu_log(const char *fmt, ...) +void qemu_log(const char *fmt, ...) { FILE *f = qemu_log_trylock(); - int ret = 0; - if (f) { va_list ap; va_start(ap, fmt); - ret = vfprintf(f, fmt, ap); + vfprintf(f, fmt, ap); va_end(ap); qemu_log_unlock(f); - - /* Don't pass back error results. */ - if (ret < 0) { - ret = 0; - } } - return ret; } static void __attribute__((__constructor__)) qemu_logfile_init(void) From patchwork Sun Apr 17 18:29:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562894 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1888068map; Sun, 17 Apr 2022 12:07:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyVDVnKaS63V7E3Rfk5N1hedWtxkYhG6zAn94i3VBpMu105PsmIhT/DBrV8/IAw18Wg+Iy1 X-Received: by 2002:a37:5583:0:b0:69e:8c2c:8f89 with SMTP id j125-20020a375583000000b0069e8c2c8f89mr1787301qkb.571.1650222437002; Sun, 17 Apr 2022 12:07:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222436; cv=none; d=google.com; s=arc-20160816; b=qP0PY41Iq1hxMtLJeS4LLBdCEea1ds8voTz0U2sIchg/R8ZplJ6NBKEjHA2fy5ftkl zX90dHK3WXNV/KfrX0GK/Tn6kjx//+ZYS0TVrGXCQCGeAQn5ZymEWd0m0k14viPF3RvS pYyj6+okXZMgFLw8PdVP4XAlFTTSgukY9+Xjv1S45sd9XxAAihIUJmMoOnElU61cwGKJ TNJjt21vBATOmg1dffvgUIqID20NxxXRq6BTkkUnAUtwptlIYzNNvgAAFS3oZjNU1JfM kfTdhXPcZP2OwXsLSXz/sD+qEzEOdUUebj48tluTDw8PP2UcRMu892AIarasM2CUbROU au5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=BY6AMJvNmzcszeZ7iu4WSrEG8O0G/uroM/T7KokfH/A=; b=wPs/li0Xj6qlK/t6F9j/EIJUXfgOAQ3Qs9cuDcnhhkOwSVcexX171THKc6HDaMX3m4 7uNcIUig9dTi8F9441bxmrOTIVGoxuQ9uMfkA5MyaKg8XvoVWmwD61Rz0FmDsJPEZMiF JCBBYw7QAFPkb/mJv9fk01iHxuvy//H2zHw1pYFs0MBg4qK33bQwAEulTQ3YKMP2CYmu WaNPBUwJpgd5e6aerI/epNumjcU819KfWxhqgy2LNJV+diXISCIQObo0KRzmSKyp0SbJ m01HbwbcjyhibXD5i+Ety4FnYnJtHmGydW2PYLqHgRYUdnu7ED1uoYu97V1ia5uemsZy 1FxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bNoB1C5V; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id k66-20020a378845000000b0069bdcd494basi2122692qkd.369.2022.04.17.12.07.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:07:16 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bNoB1C5V; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:33998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAEu-0004oo-IP for patch@linaro.org; Sun, 17 Apr 2022 15:07:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57314) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fW-0000Tw-MQ for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:46 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]:36643) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fS-0001nP-WF for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:41 -0400 Received: by mail-pl1-x632.google.com with SMTP id q3so10807078plg.3 for ; Sun, 17 Apr 2022 11:30:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BY6AMJvNmzcszeZ7iu4WSrEG8O0G/uroM/T7KokfH/A=; b=bNoB1C5VKWK3iJZ8IPwwSXCPs9nlf+deYNvwl8JEalPdYgZvjK5Yg386pY5gXHCiN5 Yy6TpfvNcxfkNUPz/K5FggzYVcdMpEuaOQ/1w2T7NgdERJcKCsKC1OneaMKC3/tMX4+8 18K1AjxnM5JCpC8fotDmayhihr/KHvjUZy/sH7VPm/ygW+uDBV/zdTJQPVUdTeSUQDll zbRtpdshFuQp63oqH0ILfyj94NGmiqZXW+Or7YkbAZ7tuEdLfG7bMc9yiPKDSU3mNp1i dEgLJ0dqty5bXFk6xqToBXWFUBPqP+vVuhX/w35m6TqcIT1knOkGDH/aXt4RwobOATd/ UOqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BY6AMJvNmzcszeZ7iu4WSrEG8O0G/uroM/T7KokfH/A=; b=f5mvmKVj+edC7KfiDM2B3cjU86IFCNABIwi33Rd7jQbUBLUE8/xNRXO4Hki9gqsL3M VIt7sG9I9XBIvkUizpepbh5Z53V4wKLjqG8SqSdPBeu5kSZ1yN6ZaNhe+ovi7jlgQS3s DFHW29G4tDDoywL98F0beHECHfmrAf8v5j19uGGWg19hcTFvBQZij5c8UBDJELR0yNND s3W20Ymt96iKvhxIjYia2KMqlXUFMP7WG+h0fC7t5YtOKgwwziy5WbB8AOR/kbNamNC9 URLh+FXdTg09I4KW9ojLYWsOsCzfdwyCMHUo1T/sRdl4sxf/pZ4ez8ImK2z1qMA/FCQI tGjw== X-Gm-Message-State: AOAM533CKfbt1mIxcXm202nm+c3VXPcRNd9wxr3h828Zdm1FzxBq/eD3 s2L+P3wFuWAgqnBPHgybZ9XTd82zVzw4xQ== X-Received: by 2002:a17:903:240c:b0:153:c8df:7207 with SMTP id e12-20020a170903240c00b00153c8df7207mr7803432plo.44.1650220235867; Sun, 17 Apr 2022 11:30:35 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 18/39] util/log: Mark qemu_log_trylock as G_GNUC_WARN_UNUSED_RESULT Date: Sun, 17 Apr 2022 11:29:58 -0700 Message-Id: <20220417183019.755276-19-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Now that all uses have been updated, consider a missing test of the result of qemu_log_trylock a bug and Werror. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/qemu/log.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index 2d9455dc85..3a1f3a6020 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -67,7 +67,7 @@ static inline bool qemu_log_separate(void) /* Lock/unlock output. */ -FILE *qemu_log_trylock(void); +FILE *qemu_log_trylock(void) G_GNUC_WARN_UNUSED_RESULT; void qemu_log_unlock(FILE *fd); /* Logging functions: */ From patchwork Sun Apr 17 18:29:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562895 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1888701map; Sun, 17 Apr 2022 12:08:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz6uhUSedPoR/1HJt7S+O7GGrq/HISasxliOQnfMwxBNlqjiAxOE6r6sgowkHRNY2chjpH0 X-Received: by 2002:ae9:ee14:0:b0:69b:f9ac:985b with SMTP id i20-20020ae9ee14000000b0069bf9ac985bmr4985706qkg.24.1650222510635; Sun, 17 Apr 2022 12:08:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222510; cv=none; d=google.com; s=arc-20160816; b=GzpNWyFEjRp8upck4SrmA9mkpAVtQjuSFxaOco8eRcT7DKsEgSpttChja+s1awAMv0 G+hK8me55y6VZaYj+sooE4qgqXWIhai6JH4QXkVuXjRvnHWkAeGAXmLqgXnDJIDfZHDZ Q7dvAyKlmxO8LWi/+LHY0ZlrGInplkc8qWeZtSBAtYY1r0GraaOqY716B3gXetRewpwJ hS8VX/wPyKmWBEOW7UKuoIfX+O67T3wjy2a9TlKYJV4Zuu/66aZdtNej30xkXzylnXej 6ETx4DJ1R3LVx60bitG0CpCgAMQ9f5trAZyUtPdmEtO+VqtJ1fcbCOrY/jhnBKrV9xI4 CAuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=bD6B2Uqz8Y1QjIr+zoV40vPDEL6T0U0IUefrrBJTa7s=; b=QONP4lu4i0x2y2gBSwfNusVFKpqnEoedoEb9ZiEPBKN8WM7SRqjhghH/ilnkOvtp+j YxmF/GSTrJwoA6/kVAR54y6zeyNyXYRo1+EkxPtVJTMPJsG+2xMtUtRStv6zR2CC0cxq tOhBqUEYGkdPDg2LXB4g/xFCtbcUzqhkM42tgF4dgc1w4osnJ3LCbBYfu+4uat4o++JZ LUHrnJyUk2FtAhBJMJyZeAa4siccJ6TcoqhPKingtLRCd4nNGFt4WHcfS9dvgF92Q4/e +yQ0Kg44Z6H1IOyeR6EgCyKuip8rirRi3t5mWG2yoUkaSnSVvXdQE0K+sBGrPhyZB+Kf ACwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zNbGxwjX; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id t10-20020ad45bca000000b004444bb2f908si2324016qvt.156.2022.04.17.12.08.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:08:30 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=zNbGxwjX; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:38382 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAG6-0007y3-6E for patch@linaro.org; Sun, 17 Apr 2022 15:08:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57312) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fW-0000Tv-NI for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:46 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]:39805) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fT-0001ng-12 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:41 -0400 Received: by mail-pg1-x52e.google.com with SMTP id q19so15082726pgm.6 for ; Sun, 17 Apr 2022 11:30:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bD6B2Uqz8Y1QjIr+zoV40vPDEL6T0U0IUefrrBJTa7s=; b=zNbGxwjXNp3wXqtdicyBgaJ1WfzuZalkawJzGVZAVGWCG9XoRYBJvoKaZ6K8Exyn4h SlE+QfrKET5LqNF6kV1/5ESbr28Yed5Jo/nN8Oadq3mnb4f539r7O5S2UYwDoT2ON0Zl +BOoQm9Qg34+pRJUEuVFPlV2dlaTC/lT5Nds8wLulJQvGVxrh1qlaAkA/iqTRu149N6A idR21/dJ+nXwCDB0rhRBLFDU5YyzFKqMXgFZIBhNYfwpou4ikBTbX99zlbyX5LMl8PYf DptqV0bQm41i0l1u0K4UrG/SPzzRyk3A7lS224jd6diA6VrUmzts1RCLhnr/8j219dN6 3YHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bD6B2Uqz8Y1QjIr+zoV40vPDEL6T0U0IUefrrBJTa7s=; b=MR0hXLXKuP1ujGeZ2C+dCY4WclNfyzXVsQitQm6QzlDy/ySgAGfj/qQN+ou7rvoUJX QN24goGuOUGXDNpmgluOH2dw3dr17WWwEHq3g/Rgb/XhpeTCMd8YPFV54RyaZ+CCBEt8 lqIr9WBJleX0XoYDVnyCn1kdGChBcqkHhDTwW2xGSXeG91KZh0ubcMnD6meVYbAwlqYx vfIgZoMXv8dwJKniGZgdyjv1Uwce+eq7gGKay3mqUwn6UrWxKAuUCPoi5VuqxcAZJzLj CVAhHnSjtdJRh9+XLKdwiGX+nX28i0xcCad5GtZ/PvlgQrMXPtAzG8pyc/wLQAi0J6k/ hckQ== X-Gm-Message-State: AOAM531ij3EZVcqFXAWTm01+F65aASZzSNw2TdxCEA80kzV9G+6l6W9T VXbPpcCa6fjHmdt2ZDptM+DoVwrZqJvfzA== X-Received: by 2002:a63:f80e:0:b0:39d:6a06:517b with SMTP id n14-20020a63f80e000000b0039d6a06517bmr7164470pgh.308.1650220236816; Sun, 17 Apr 2022 11:30:36 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:36 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 19/39] util/log: Remove qemu_log_flush Date: Sun, 17 Apr 2022 11:29:59 -0700 Message-Id: <20220417183019.755276-20-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::52e; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" All uses flush output immediately before or after qemu_log_unlock. Instead of a separate call, move the flush into qemu_log_unlock. Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/qemu/log.h | 2 -- accel/tcg/translate-all.c | 1 - cpu.c | 1 - hw/net/can/can_sja1000.c | 1 - hw/xen/xen_pvdev.c | 1 - net/can/can_socketcan.c | 1 - tcg/tcg.c | 1 - util/log.c | 14 +------------- 8 files changed, 1 insertion(+), 21 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index 3a1f3a6020..75973111bb 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -121,8 +121,6 @@ int qemu_str_to_log_mask(const char *str); */ void qemu_print_log_usage(FILE *f); -/* fflush() the log file */ -void qemu_log_flush(void); /* Close the log file */ void qemu_log_close(void); diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 4812619f00..6080ea997a 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -1595,7 +1595,6 @@ TranslationBlock *tb_gen_code(CPUState *cpu, } } fprintf(logfile, "\n"); - qemu_log_flush(); qemu_log_unlock(logfile); } } diff --git a/cpu.c b/cpu.c index 3340bb7538..bfa4db9cd8 100644 --- a/cpu.c +++ b/cpu.c @@ -406,7 +406,6 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...) vfprintf(logfile, fmt, ap2); fprintf(logfile, "\n"); cpu_dump_state(cpu, logfile, CPU_DUMP_FPU | CPU_DUMP_CCOP); - qemu_log_flush(); qemu_log_unlock(logfile); } qemu_log_close(); diff --git a/hw/net/can/can_sja1000.c b/hw/net/can/can_sja1000.c index 23d634af6f..e0f76d3eb3 100644 --- a/hw/net/can/can_sja1000.c +++ b/hw/net/can/can_sja1000.c @@ -261,7 +261,6 @@ static void can_display_msg(const char *prefix, const qemu_can_frame *msg) fprintf(logfile, " %02X", msg->data[i]); } fprintf(logfile, "\n"); - qemu_log_flush(); qemu_log_unlock(logfile); } } diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c index 0423c61158..037152f063 100644 --- a/hw/xen/xen_pvdev.c +++ b/hw/xen/xen_pvdev.c @@ -230,7 +230,6 @@ void xen_pv_printf(struct XenLegacyDevice *xendev, int msg_level, xen_pv_output_msg(xendev, stderr, fmt, args); va_end(args); } - qemu_log_flush(); } void xen_pv_evtchn_event(void *opaque) diff --git a/net/can/can_socketcan.c b/net/can/can_socketcan.c index a6388563c3..c1a1ad0563 100644 --- a/net/can/can_socketcan.c +++ b/net/can/can_socketcan.c @@ -89,7 +89,6 @@ static void can_host_socketcan_display_msg(struct qemu_can_frame *msg) fprintf(logfile, " %02X", msg->data[i]); } fprintf(logfile, "\n"); - qemu_log_flush(); qemu_log_unlock(logfile); } } diff --git a/tcg/tcg.c b/tcg/tcg.c index 70f3b52482..17e9ad2ede 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -783,7 +783,6 @@ void tcg_prologue_init(TCGContext *s) disas(logfile, s->code_gen_ptr, prologue_size); } fprintf(logfile, "\n"); - qemu_log_flush(); qemu_log_unlock(logfile); } } diff --git a/util/log.c b/util/log.c index 2bd4dfba1b..cab0642a7f 100644 --- a/util/log.c +++ b/util/log.c @@ -54,6 +54,7 @@ FILE *qemu_log_trylock(void) void qemu_log_unlock(FILE *fd) { if (fd) { + fflush(fd); qemu_funlockfile(fd); rcu_read_unlock(); } @@ -269,19 +270,6 @@ out: g_strfreev(ranges); } -/* fflush() the log file */ -void qemu_log_flush(void) -{ - QemuLogFile *logfile; - - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile) { - fflush(logfile->fd); - } - rcu_read_unlock(); -} - /* Close the log file */ void qemu_log_close(void) { From patchwork Sun Apr 17 18:30:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562904 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1890942map; Sun, 17 Apr 2022 12:14:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzrjm9fY88IpMoHr12qwslnqBS+wxpEdXUjGmlQh34654/p7cyVPUT0KXT51SElDVkuizxm X-Received: by 2002:a05:622a:6185:b0:2f1:ebdd:58c with SMTP id hh5-20020a05622a618500b002f1ebdd058cmr5245686qtb.400.1650222868443; Sun, 17 Apr 2022 12:14:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222868; cv=none; d=google.com; s=arc-20160816; b=mnFdJJDFphgvFtQsvdR2PS8DgqnjjXCwAfehVIZeOnAS5Ds88veCs9y9RChE0faJYS KEcz+x9lhhch6bS7nxTg4wRMXVMBchdkwcIFgbv6aDxsVEqf2IqKsBsFXNXrf2ZNqhJM mqzKMrfnu3T/GESwzqe58g46oSgxy97iuyPHXsbLn1U57ZpYTuiywYi/jS9K4rNkA0rx A/5wKUEgM3grBK3TEy741LlTOgZXpD4hPAzJIBOFSxdBFismGCwz+T2LHPUO0rXupayt mxqTLXuMKgbMwczRjhGUXvKl9bY97vSL0XIxPBmRJIFJ1tImKmqdsdYs9Xs1tv0eBxmc 6pfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=InZstGK3OSOKG4KiyoWd4So9y/2uE4PZQH7gwFG8oNw=; b=Kv+IjgZPf7RMBVPleoHKwFJx95CSUbJ6Sv2futYs11VmVTFxyCzgphZy05cpPpMEFy hp4UYyxmGqx2y4fmLGJP4Bq96CGLZxH51bf2JyoJdgxIK9l0XyvgdDSqg9y9wLx2gAZz DYpxpHgHylUThFw+58x34C+6lTN+EQDMeD/gkdEcmKP2FlAMq2xDlu1RDzlyObkXWBZV R10RF9QUA5LkLWIVvPrt/UCD/CM4l58+XkId0QkxwaKpHO8P+DYafA5d+OXRPO0t3lAk l0fDwnooX+iMGKDEIj8Bim0PkCX+Sqoj9QqIPAj9Z6qsIvmxR+aO+bwz7c05gRUaoUuq dHdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=spWiBeXB; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id z6-20020ac81006000000b002f1ea872066si2190669qti.488.2022.04.17.12.14.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:14:28 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=spWiBeXB; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:57042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngALs-0003rK-1w for patch@linaro.org; Sun, 17 Apr 2022 15:14:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57334) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fW-0000Tz-WB for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:46 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]:51010) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fU-0001nq-Aq for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:42 -0400 Received: by mail-pj1-x102a.google.com with SMTP id o5so11413549pjr.0 for ; Sun, 17 Apr 2022 11:30:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=InZstGK3OSOKG4KiyoWd4So9y/2uE4PZQH7gwFG8oNw=; b=spWiBeXBTEyENU3yk+r8I8lsjTtsOHb8HsU87ccc6OdoZ0+4KtMmaJjHZRfUZRX4Bv 0Z06MBOcRp9KXprVa+pTkxJKzQtzsvTOPmdtyJQRJWPE3hahVIGtY5QIT6ADuRg5jYbC k13g2QV5K1nHhCdO7BIRHSB0OGvz6uMW/ORvZVPfc/R2toXWgxbJZxZ2YmyV5ofqbMyr rh5FTISt2oryBDY0G/EZAX0IRIRSEVcnr5Bnq/7KD9poG7Wj+0k2PQ48ZvmuV5lO35Bc ewhHKEUCmnFd+oiilVx44bUSBZ6GOQKt5UygmcRsxF5X2Mf9AivNTQzsFNWeL3jNCFGb Mazw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=InZstGK3OSOKG4KiyoWd4So9y/2uE4PZQH7gwFG8oNw=; b=IzpyNsQSa6JyC+KP09V0O063XBR7U7AgslQ+dIS9j2xZEDkbxH3Pvvwy2FPlt6fBGI EaijmeQqFg1fLaDzkKaTRI8Mveq0gtw4a7ze1TAuZ9DVRc7tbZeHUsD5SNwFGo2HZT/6 CEsBG4Fn7Yg11kckfKzwfsrwb+xcyzsQuVloisMWNGeTcjzb/6aN3CHn/tL43JDwI5j2 2TN3YX1KAjHTBHD034chmp3WAvM8wa8RVua65rYHhtqr/OQLNTbqfsVH8Ot6y7Ix+UOF gkeXsVTXBlQrwe3EAyfjz05BJHBcgWsxHjVNnztENi9FgZlR1+XNsTdMSL+voi5+qX4y CoyQ== X-Gm-Message-State: AOAM530zTYqAk/avPO7ONmHfSQrpwMskLgvqxCwg52eX8ZSCR/+wWI4Y t928so0uarH5rBaPpo5CNl2T6FS/W7fQKw== X-Received: by 2002:a17:90a:7147:b0:1bd:24ac:13bd with SMTP id g7-20020a17090a714700b001bd24ac13bdmr14728488pjs.70.1650220237959; Sun, 17 Apr 2022 11:30:37 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 20/39] util/log: Drop call to setvbuf Date: Sun, 17 Apr 2022 11:30:00 -0700 Message-Id: <20220417183019.755276-21-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102a; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Now that the log buffer is flushed after every qemu_log_unlock, which includes every call to qemu_log, we do not need to force line buffering (or unbuffering for windows). Block buffer the entire loggable unit. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- util/log.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/util/log.c b/util/log.c index cab0642a7f..caa38e707b 100644 --- a/util/log.c +++ b/util/log.c @@ -136,12 +136,6 @@ bool qemu_set_log(int log_flags, Error **errp) logfile->fd = stderr; } -#if defined(_WIN32) - /* Win32 doesn't support line-buffering, so use unbuffered output. */ - setvbuf(logfile->fd, NULL, _IONBF, 0); -#else - setvbuf(logfile->fd, NULL, _IOLBF, 0); -#endif log_append = 1; qatomic_rcu_set(&qemu_logfile, logfile); } From patchwork Sun Apr 17 18:30:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562898 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1889234map; Sun, 17 Apr 2022 12:09:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDCewuAwVvclPIKBSOw3nzCt+75/Z7v+ugh32S82TaqiAmemysD0steEmDwGD+AlwDuMN3 X-Received: by 2002:a05:620a:bce:b0:662:e587:fbbf with SMTP id s14-20020a05620a0bce00b00662e587fbbfmr4645897qki.757.1650222580648; Sun, 17 Apr 2022 12:09:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222580; cv=none; d=google.com; s=arc-20160816; b=CrUhy7Xy11ceF1PddiU8uMjZJTvQ3G9WwvQQdsaGWXXWwBUWky3YXq5Y/QTHpHWtI5 kHZ4Wt3OboxvAeddA9C8Q9fNFzBC+MGtzPY+ibX2xMQ/1FK4y+TwKwLW19idj+jMj97x 38YzmQLPJwFfu/4+uUg3eILfKGvq1wDxqPOPNKb70gTvLQLasaLLXZz0IiMrmBcEgcHR /rS7jlFLO5HkH274K9bBi5m398kmzmMwxvx6hzML/GTBYGXT+s0UuWuYN5WauLb+rWf+ jZG0i7I8+tGVouJ7RHnTjsI/mo18b5gikh/1+wGv5rB4BJEaKBsZD9Cq/mXEpZvPRt0J QSbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=YJfLUqPA3GuDJEz/F2NsfpzWnMr/7r3q3HR1eYDW2rE=; b=zXSL4czSDfuJ9DkolbC3HInhBIjKst8KzLEvRY+L7Xp10gdPOt7YZdKBOGouS2jiJe DxMBPgqMn5RnPRMDTGBEJ5TMUJrELhaZbq76E+WfFGZV4iY/WbkZKinMRtc16XYcDEg6 RXPuFP+I/IDwW4p2qgruw0b5hZOJj6H76KOn2Pci8LdiUb5YPTXpK6lAGBZtpQ+sHTW3 0fjzIO8SvsClTi3kvBcodg0TZ8aufr/Lq07YKeiF02nu6BmD/c5HEZO/0gio/5zCjMfa UqdDYz5ZGdMiYgE0CLeVG3XVfpNzGOo29UdBRg3cP35fzVY8e9dVIZcrhqp3f+cEjac1 KPQQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=oCtJxFWp; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id m84-20020a37a357000000b0069e7859d644si1118468qke.684.2022.04.17.12.09.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:09:40 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=oCtJxFWp; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:42452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAHE-0002Kh-5b for patch@linaro.org; Sun, 17 Apr 2022 15:09:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57340) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fX-0000U0-3n for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:49 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]:37631) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fU-0001oF-DA for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:42 -0400 Received: by mail-pj1-x1036.google.com with SMTP id mm4-20020a17090b358400b001cb93d8b137so15586894pjb.2 for ; Sun, 17 Apr 2022 11:30:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YJfLUqPA3GuDJEz/F2NsfpzWnMr/7r3q3HR1eYDW2rE=; b=oCtJxFWpu4oqrxJGRokpZhvK+4N7NZa8RewCsLXroh5/aL3eVY+JXTOC9uaCG54qRM OiYXeN0Kin4TNKUDnOUBk2i2uFE0besj5lH2uQRM7BAqiLza/QoCGGKo5cFBd3jKaspU ZBLt749H/IxLLKFfwdFv4DY2SJ7uVTySm7BRl4yLCppH3lKR0/XgmPft7nhHjIizuiCX ogGFF3WZ5rntKDsU+uygEhPASxs7aFBnbsi5+0GcFqD/R2EPMayx96/xbhpjH6c2f0KC erUczAv6KRyhppT4hU50EOddtuXMImdvqGKb7uwBi51DwWSspkgsuKwyHCn2SEvm1DN8 vRQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YJfLUqPA3GuDJEz/F2NsfpzWnMr/7r3q3HR1eYDW2rE=; b=34T8RH7ML0ndQw/A49uXzjudrU7xpLg+abiPbRVR04+35Sa4jg47gLggwBThWd6eWt sAN0do4SF49qRZ8/GFjGVq7uty8zoeJfdD5tkhL3kqCvJx0VOxLTJBBA8oSB4Ini7p5B SbTVvvhyaRJU6LZMLLM5uHZaDeq8VxYoLURbw//EI8XsBZn/Y9CCWBDxHkzvOUGgjIfH Wg4M8dp3Xx6y/RPy1ItDaPBL5hXtCxPKjoaQCn/tp+u8HDrzzdies2FtsabWARUPm4xT OCnYztWpmwP2srACqD0qzHD4acj1OI1Og7wCY+fS5oY9PzH8qwlG61qviqI1gKCKeXC+ 3v0Q== X-Gm-Message-State: AOAM530hF+5YEL2SLneSGXCVgYYSvZ0j6ry3gmRXgjx8tMSsQApyVOoV ocdUW+oiHHgrEbaCo9DbuPnfKB8jgl1DrA== X-Received: by 2002:a17:902:70c1:b0:154:667f:e361 with SMTP id l1-20020a17090270c100b00154667fe361mr7976394plt.148.1650220238968; Sun, 17 Apr 2022 11:30:38 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:38 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 21/39] bsd-user: Expand log_page_dump inline Date: Sun, 17 Apr 2022 11:30:01 -0700 Message-Id: <20220417183019.755276-22-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1036; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1036.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" We have extra stuff to log at the same time. Hoist the qemu_log_trylock/unlock to the caller and use fprintf. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- bsd-user/main.c | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/bsd-user/main.c b/bsd-user/main.c index 0c8aa1ae90..ed26fc5acb 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -503,20 +503,29 @@ int main(int argc, char **argv) g_free(target_environ); if (qemu_loglevel_mask(CPU_LOG_PAGE)) { - qemu_log("guest_base %p\n", (void *)guest_base); - log_page_dump("binary load"); + FILE *f = qemu_log_trylock(); + if (f) { + fprintf(f, "guest_base %p\n", (void *)guest_base); + fprintf(f, "page layout changed following binary load\n"); + page_dump(f); - qemu_log("start_brk 0x" TARGET_ABI_FMT_lx "\n", info->start_brk); - qemu_log("end_code 0x" TARGET_ABI_FMT_lx "\n", info->end_code); - qemu_log("start_code 0x" TARGET_ABI_FMT_lx "\n", - info->start_code); - qemu_log("start_data 0x" TARGET_ABI_FMT_lx "\n", - info->start_data); - qemu_log("end_data 0x" TARGET_ABI_FMT_lx "\n", info->end_data); - qemu_log("start_stack 0x" TARGET_ABI_FMT_lx "\n", - info->start_stack); - qemu_log("brk 0x" TARGET_ABI_FMT_lx "\n", info->brk); - qemu_log("entry 0x" TARGET_ABI_FMT_lx "\n", info->entry); + fprintf(f, "start_brk 0x" TARGET_ABI_FMT_lx "\n", + info->start_brk); + fprintf(f, "end_code 0x" TARGET_ABI_FMT_lx "\n", + info->end_code); + fprintf(f, "start_code 0x" TARGET_ABI_FMT_lx "\n", + info->start_code); + fprintf(f, "start_data 0x" TARGET_ABI_FMT_lx "\n", + info->start_data); + fprintf(f, "end_data 0x" TARGET_ABI_FMT_lx "\n", + info->end_data); + fprintf(f, "start_stack 0x" TARGET_ABI_FMT_lx "\n", + info->start_stack); + fprintf(f, "brk 0x" TARGET_ABI_FMT_lx "\n", info->brk); + fprintf(f, "entry 0x" TARGET_ABI_FMT_lx "\n", info->entry); + + qemu_log_unlock(f); + } } /* build Task State */ From patchwork Sun Apr 17 18:30:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562900 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1889940map; Sun, 17 Apr 2022 12:11:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw0UnFoLzsi8ttTerhc8lHCvzJ3+xsr4H2uqK8YdLOlJ6YvFk/Gs17idvyWV/fvrtnMY6kC X-Received: by 2002:a05:6214:5189:b0:446:5077:7f75 with SMTP id kl9-20020a056214518900b0044650777f75mr3262840qvb.37.1650222685997; Sun, 17 Apr 2022 12:11:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222685; cv=none; d=google.com; s=arc-20160816; b=o8k+CH4vt1l6elVc4xzLu+U+eMhdZaeU020Mx9Nld7jtb3JKwFFmYxG3v0fukepTcK /QI2s4EerSDpuQSQCOv9RGKPICV9XJPYalR1Pd8h0GaHxpstN3pUqafvGcF/OdEsKnI9 YWiAzc5279N19tTQvRrKaTImUwT/OoEPug5WM8x692NO0magp2hHiONILOn7RVNBVNED x2Iogso82TmbgFLq67vnVjkOh0pTJLk9CHbMfBSC1sJEruj8CEslOupbdDKIzSykXT81 BVKDS70SyiWXy80M69onvXHWShh4LzqyHjwhwiAWLX4RaQ/7heByWcbHyQWu0EYM7ELC Ji2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=b1JYMpL7TO2R6BVJG41yV+OL5PQM9UAMtxfbal+NfyA=; b=pibkzsY3aF2eR/OoHrxZCI0yUZLiqu8dIUpfIpLadBVHksO9mDUiMJnCPvZzXvKX3j cmOx+pO37e3er90zhjwTMPk6qx/eZX/N4r2zDJ4cud1vG8seJhJsr9tw3LOsk4jJ8ifR xhnB1o0yGB7qyeAat0j1smtQOj7LcD/RdQf4YYDd02tlYhzMpafiJdhrlx+QZOOKOxjX 0/djCy7JoJTDMQgDMHfXo3QqyvgjWTW+JgPV8j9Jxrt4285XmmvjWilxcVW0ZSD5apFq 5W2YUfxYQHksYePpSbxaBtPWQTIK8r11iFz0yYZ8I3RCACKaNp8uucEiHY8HU740pUYJ vSdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="yfe6HtL/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id o2-20020ac85a42000000b002f1f8e1397csi1079175qta.406.2022.04.17.12.11.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:11:25 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="yfe6HtL/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:48492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAIv-0006P0-Jq for patch@linaro.org; Sun, 17 Apr 2022 15:11:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57346) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fX-0000U1-80 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:49 -0400 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]:43791) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fU-0001oL-Uh for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:42 -0400 Received: by mail-pj1-x102f.google.com with SMTP id j8-20020a17090a060800b001cd4fb60dccso12293485pjj.2 for ; Sun, 17 Apr 2022 11:30:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=b1JYMpL7TO2R6BVJG41yV+OL5PQM9UAMtxfbal+NfyA=; b=yfe6HtL/zw68n5sFn0qjUCyH7rMnaJx6Moi2MG888bSwDT1+AIFmoLsNai2XLXPW0Q fmc/NWt5NJtx0AQ/LVqE2MKSy0se9L/zn2W4UDZ/k7kfRsU+ZxKa9GIUEc77Zz6IFjR5 whnjGLiiYFhcB7BL0h6tqz9iMtKYiuRA4JJAWXktgFuKuMzcZP95eQleSGmP9cmvcqBP hHWZjuSZC9SqUXZ40INQRw3+9ClO9AUc2acHRxrxkAExKJEHCDisx+tkhXAScQLHfJ5T D4NCiEKRRcoop/OUU8MHXS0Df47j1tK5/o6OgEXSyjGTyPVOuPqYaC9r39XH/4W+5c5q H0kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=b1JYMpL7TO2R6BVJG41yV+OL5PQM9UAMtxfbal+NfyA=; b=qIfvfn7EJ3XaowdEyQ9eBw8bG0HYcBwKso3FRhtsnqdLOUfA5BZfiX4CsMg80YVSHW mp+owksuMTc3OYxcySieD2RtImhsimWky9F+OIYywJ2yVEnggGkN7FdC+zR1XPTxihXB 0KSema5ZfUT1b8kCeh2jsak//yVov8iKmPpfA9a8tkFVh8XNNaMh1PIhWAqbT1JH8OLY 8Tm1jZchrbJYnI/1qm/2diVM6zxxD4SBDkGdpdmnKe+GeXjEI45zr4r6y+zfIXJ/GvpB xGsqcB46TOl+7uzlJT2i5iE7Dxq/pXVO4WWerqC2c611iIDniMqHsSycrbqkGmfh2jvu q7dw== X-Gm-Message-State: AOAM533SF8ophCbLwtqVqy4DqchYqaba0s8Eeuq5hfY6oN96B+1TfalE d10tzMcIK+EEQMjISkKOsncKycmckmc4YA== X-Received: by 2002:a17:902:b10c:b0:154:a3b5:b33a with SMTP id q12-20020a170902b10c00b00154a3b5b33amr7652514plr.3.1650220239650; Sun, 17 Apr 2022 11:30:39 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 22/39] linux-user: Expand log_page_dump inline Date: Sun, 17 Apr 2022 11:30:02 -0700 Message-Id: <20220417183019.755276-23-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102f; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" We have extra stuff to log at the same time. Hoist the qemu_log_lock/unlock to the caller and use fprintf. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/exec/log.h | 15 --------------- linux-user/main.c | 43 +++++++++++++++++++++++++++++-------------- linux-user/mmap.c | 7 ++++++- 3 files changed, 35 insertions(+), 30 deletions(-) diff --git a/include/exec/log.h b/include/exec/log.h index 06ab9841ee..ad0a40cfeb 100644 --- a/include/exec/log.h +++ b/include/exec/log.h @@ -42,19 +42,4 @@ static inline void log_cpu_state_mask(int mask, CPUState *cpu, int flags) } } -#ifdef NEED_CPU_H -#if defined(CONFIG_USER_ONLY) -/* page_dump() output to the log file: */ -static inline void log_page_dump(const char *operation) -{ - FILE *logfile = qemu_log_trylock(); - if (logfile) { - fprintf(logfile, "page layout changed following %s\n", operation); - page_dump(logfile); - } - qemu_log_unlock(logfile); -} -#endif -#endif - #endif diff --git a/linux-user/main.c b/linux-user/main.c index 6aed4929ab..d263b2a669 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -857,21 +857,36 @@ int main(int argc, char **argv, char **envp) g_free(target_environ); if (qemu_loglevel_mask(CPU_LOG_PAGE)) { - qemu_log("guest_base %p\n", (void *)guest_base); - log_page_dump("binary load"); + FILE *f = qemu_log_trylock(); + if (f) { + fprintf(f, "guest_base %p\n", (void *)guest_base); + fprintf(f, "page layout changed following binary load\n"); + page_dump(f); - qemu_log("start_brk 0x" TARGET_ABI_FMT_lx "\n", info->start_brk); - qemu_log("end_code 0x" TARGET_ABI_FMT_lx "\n", info->end_code); - qemu_log("start_code 0x" TARGET_ABI_FMT_lx "\n", info->start_code); - qemu_log("start_data 0x" TARGET_ABI_FMT_lx "\n", info->start_data); - qemu_log("end_data 0x" TARGET_ABI_FMT_lx "\n", info->end_data); - qemu_log("start_stack 0x" TARGET_ABI_FMT_lx "\n", info->start_stack); - qemu_log("brk 0x" TARGET_ABI_FMT_lx "\n", info->brk); - qemu_log("entry 0x" TARGET_ABI_FMT_lx "\n", info->entry); - qemu_log("argv_start 0x" TARGET_ABI_FMT_lx "\n", info->arg_start); - qemu_log("env_start 0x" TARGET_ABI_FMT_lx "\n", - info->arg_end + (abi_ulong)sizeof(abi_ulong)); - qemu_log("auxv_start 0x" TARGET_ABI_FMT_lx "\n", info->saved_auxv); + fprintf(f, "start_brk 0x" TARGET_ABI_FMT_lx "\n", + info->start_brk); + fprintf(f, "end_code 0x" TARGET_ABI_FMT_lx "\n", + info->end_code); + fprintf(f, "start_code 0x" TARGET_ABI_FMT_lx "\n", + info->start_code); + fprintf(f, "start_data 0x" TARGET_ABI_FMT_lx "\n", + info->start_data); + fprintf(f, "end_data 0x" TARGET_ABI_FMT_lx "\n", + info->end_data); + fprintf(f, "start_stack 0x" TARGET_ABI_FMT_lx "\n", + info->start_stack); + fprintf(f, "brk 0x" TARGET_ABI_FMT_lx "\n", + info->brk); + fprintf(f, "entry 0x" TARGET_ABI_FMT_lx "\n", + info->entry); + fprintf(f, "argv_start 0x" TARGET_ABI_FMT_lx "\n", + info->arg_start); + fprintf(f, "env_start 0x" TARGET_ABI_FMT_lx "\n", + info->arg_end + (abi_ulong)sizeof(abi_ulong)); + fprintf(f, "auxv_start 0x" TARGET_ABI_FMT_lx "\n", + info->saved_auxv); + qemu_log_unlock(f); + } } target_set_brk(info->brk); diff --git a/linux-user/mmap.c b/linux-user/mmap.c index c125031b90..bbb2c2e178 100644 --- a/linux-user/mmap.c +++ b/linux-user/mmap.c @@ -630,7 +630,12 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int target_prot, the_end: trace_target_mmap_complete(start); if (qemu_loglevel_mask(CPU_LOG_PAGE)) { - log_page_dump(__func__); + FILE *f = qemu_log_trylock(); + if (f) { + fprintf(f, "page layout changed following mmap\n"); + page_dump(f); + qemu_log_unlock(f); + } } tb_invalidate_phys_range(start, start + len); mmap_unlock(); From patchwork Sun Apr 17 18:30:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562897 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1889204map; Sun, 17 Apr 2022 12:09:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwmWdOIycqS7TM7XlvwwWcJvjeOLAGTS6aUkOe3wqd2Z4XnUADQWgRKfa2kxg6EGi2Egsn6 X-Received: by 2002:a05:622a:124f:b0:2f1:64a2:3054 with SMTP id z15-20020a05622a124f00b002f164a23054mr5225466qtx.10.1650222575298; Sun, 17 Apr 2022 12:09:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222575; cv=none; d=google.com; s=arc-20160816; b=GgLYFuxIma1Lj7CHNof01Uv9P9PRpL5dwRP+exT/ezww42/0H4SFtMMrholyqQQ7Fa d+B2/K/ow7ae04S3J0Phxnn+wy71G10HZ+YvUV2DmLBDCgSGtCne+qX5sFQw9xsRVot3 jdFdl1WA73sHNDRdOylwlv5glr1C1t71zVcRy+V5ML4fdtUQyxOl+Lzo1NQbwuK4eZ3+ poVE4SHL9YGY2bnvzleS7+YtPNfBcHvtyau5YDbfReVhYGkoYUXJ7puFxkEKwFeOM+EG 49WQKiO+E1PYrNGM4jRUbKnb/vSnNrkEC6nnVpkA76pQOxW97IbLma0D/6LuU8BgHcPs FE/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=MFS05VM+1nmIS90ffHb9z5k4YW8IB7HF8idrdJvOqhE=; b=OXpuW0/c3Usm+p/JMfYkNk4zrhQoNVGrXCfGoog7rK4NJZkY0VBNXPi4KIWjzG1WWB 1VCx6peiOnvquW+FPlLruaXbPFxXZM/rvZLitskbOSTgGQy8XNAzb0uoymtus/kh9B/m NCaVHDMHagMjDanAj+hW8Ogd5IzhTLJrhPAd/wabxTkTLRz1SswZL0VVheS/gLy5Imfe F2IukUkRHzLbf2cFF6jFIsg18FNYwTkXB2kUkyNTqkpvMG9cfqVs6Wb34MBUIDSEC9Q7 VyWlTRl7pvApKZ9VnM3PYjfGJ2Yq0Bn8DbdaqzFyi2OXJN4E23gMdqzP0MxAlfgH04Nr kqDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=yJG2L9DL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id bs23-20020ac86f17000000b002e20db39ca2si2595801qtb.39.2022.04.17.12.09.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:09:35 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=yJG2L9DL; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:41970 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAH8-0001zy-T9 for patch@linaro.org; Sun, 17 Apr 2022 15:09:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57384) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fY-0000U4-Sk for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:49 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]:45835) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fW-0001oU-E8 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:44 -0400 Received: by mail-pj1-x102d.google.com with SMTP id n33-20020a17090a5aa400b001d28f5ee3f9so785720pji.4 for ; Sun, 17 Apr 2022 11:30:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MFS05VM+1nmIS90ffHb9z5k4YW8IB7HF8idrdJvOqhE=; b=yJG2L9DL/hSy/pDCG7gUd9iaqRZjHV8pMMOiyIj4y8L9ilHJLGqKCidTFTqbl6YPmx HPYCbcwcuK3UwESKx4SqtSH5LV49+IKF8TFo+boRCl7kMvlP1AJq3L7xi3zSeN2XD4Eo vExwFNFF7RYOq1aVlv780G0yFaitiuyuz6EB9ZmRbnWvS2nd5oSSbzk8kP0dDHKbNqJN Dn68ZU/xNdvnEzl8+mAMCBrS6HjRR3DBzC2OSkrdvMhh+51MvvxPQz9x6LqFetwodq7I +lLyMDyWKMQmHrvcQtEGbhEn1ySLv9fv9+xiEWmBzIbHQsk35chWJc1/WCK6DpIs1XQW tNEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MFS05VM+1nmIS90ffHb9z5k4YW8IB7HF8idrdJvOqhE=; b=NhRYnvpF4BYk1LiYkUFVQEgn1kRnUdYLPVs19b12lnCMgp6sJCYeTw6MPzPNhcu5n5 1H3nd1Gai3ncmovQ/cWZUG6LuIxN2e8wBmmCmK/xyxtKtmFxeaqGXVrKQGJTlWEH7cwb JlX/FF0N1TuOF84jWutDU7bHO2nq3qVZ8SpsUf4MIp37fKGdD6gIDPOS0/ahIth0QqDQ WiwkAXfm3WpUTpDaKlKBELtEdR5uaYjWdsMk7pExEVWUJsLN6qT+UTdNdixd1kSe9cr8 MUEw1H+pS1YsMcn/3lRCjoa4yM2FDdVWiDenF3d2/RLdQbnZZ0lCqCj81nBoJWE0FN27 cdsA== X-Gm-Message-State: AOAM533k82w7A9IE14KlGnglWJ+og4ThQ/G6eNQBRCxz5q9lx8/p/DcM HJY1RoNxUpG6wQKMol2d1ATEH6dKiUvfGQ== X-Received: by 2002:a17:903:2343:b0:158:d9e2:8049 with SMTP id c3-20020a170903234300b00158d9e28049mr7565243plh.3.1650220240365; Sun, 17 Apr 2022 11:30:40 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 23/39] tests/unit: Do not reference QemuLogFile directly Date: Sun, 17 Apr 2022 11:30:03 -0700 Message-Id: <20220417183019.755276-24-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Use qemu_log_lock/unlock instead of the raw rcu_read. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- tests/unit/test-logging.c | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/tests/unit/test-logging.c b/tests/unit/test-logging.c index 54d7e8e33b..dcb8ac70df 100644 --- a/tests/unit/test-logging.c +++ b/tests/unit/test-logging.c @@ -110,12 +110,10 @@ static void test_parse_path(gconstpointer data) static void test_logfile_write(gconstpointer data) { - QemuLogFile *logfile; - QemuLogFile *logfile2; + FILE *logfile0, *logfile1; gchar const *dir = data; - g_autofree gchar *file_path = NULL; + g_autofree gchar *file_path0 = NULL; g_autofree gchar *file_path1 = NULL; - FILE *orig_fd; /* * Before starting test, set log flags, to ensure the file gets @@ -124,29 +122,28 @@ static void test_logfile_write(gconstpointer data) * this is needed. */ qemu_set_log(CPU_LOG_TB_OUT_ASM, &error_abort); - file_path = g_build_filename(dir, "qemu_test_log_write0.log", NULL); + file_path0 = g_build_filename(dir, "qemu_test_log_write0.log", NULL); file_path1 = g_build_filename(dir, "qemu_test_log_write1.log", NULL); /* * Test that even if an open file handle is changed, * our handle remains valid due to RCU. */ - qemu_set_log_filename(file_path, &error_abort); - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - orig_fd = logfile->fd; - g_assert(logfile && logfile->fd); - fprintf(logfile->fd, "%s 1st write to file\n", __func__); - fflush(logfile->fd); + qemu_set_log_filename(file_path0, &error_abort); + logfile0 = qemu_log_trylock(); + g_assert(logfile0); + fprintf(logfile0, "%s 1st write to file\n", __func__); + fflush(logfile0); /* Change the logfile and ensure that the handle is still valid. */ qemu_set_log_filename(file_path1, &error_abort); - logfile2 = qatomic_rcu_read(&qemu_logfile); - g_assert(logfile->fd == orig_fd); - g_assert(logfile2->fd != logfile->fd); - fprintf(logfile->fd, "%s 2nd write to file\n", __func__); - fflush(logfile->fd); - rcu_read_unlock(); + logfile1 = qemu_log_trylock(); + g_assert(logfile1); + g_assert(logfile0 != logfile1); + fprintf(logfile0, "%s 2nd write to file\n", __func__); + fflush(logfile0); + qemu_log_unlock(logfile0); + qemu_log_unlock(logfile1); } static void test_logfile_lock(gconstpointer data) From patchwork Sun Apr 17 18:30:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562893 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1888016map; Sun, 17 Apr 2022 12:07:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/JApB0MAk6AjyLquajjNQ+WTuaqVOWLeDZFQFTvuSTeEHWGJJVn73m/tT6jCZLrSn6/cm X-Received: by 2002:a05:6214:d88:b0:446:6211:5eb3 with SMTP id e8-20020a0562140d8800b0044662115eb3mr418710qve.48.1650222430539; Sun, 17 Apr 2022 12:07:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222430; cv=none; d=google.com; s=arc-20160816; b=vfKxPkB9/cjZDFUAwvgoKnweM+u2BmsyLMqXfy7TFF/uhKe8slaLpmdsltZUB2aLd0 jM3mKuyOlq8We4IxydiKwEu1Xudst7sZUc9hycOSXlH424ZYNMerTq8+yfiRu3FbKjiN M7hVSlFSqTXSStFhHCZ40U+xkXo89b79GQCX5QpsSrFr3FxS5cgTIYLZy/xk+EKyt4mZ 3/tn7Q4u/kQAqnLi/FQRk1HkbK4gWiUKZ5oNadC/VWxZe2iMHsZUYBPFE4xOp1qTeocR KHQ5xUHyA63bVnFeqho+8fuerTAdSVvtvMoJEpxElxciOLf74RYelv/FxL1+dLedFav2 FP+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=8o87i5bNiHOl6x8JfiL+JMb4mpGfXlTZfUHEJQ6T1J8=; b=ZujOgn8fHRKUinld2M4t61/wBfb4OFBJ+u/82kgfGTyPdahrO6JYRDO7afURgG5K/y 7YddvqFG16TASi8PmwMnv9ufiV4LlP/ouy1m4+PMv7LIeb6KPD6GqRfQ5+rNYOigvfIU oHNVkCRmJtAcownVe74TiRrV+nAGnAOPHriiIx1xMrzuvM+MXsXS152LGcHKPNPCgAPC ohRYBGEd0bqPY7uzaz0VBeL3jXnmhMy0oQ1HNiUS3VFlDj5vCyVSegscL/fR3XwrK+i3 2200O/TIqXxwsZw0w5oCzKoUrpclbnUqf3vrNKkQSakHpZmLWVFf5y7bJtZeV71IA3rS MWYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=v2WvRjI6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 17-20020ac85751000000b002f1fe3676c9si374402qtx.720.2022.04.17.12.07.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:07:10 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=v2WvRjI6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:33454 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAEo-0004O3-4S for patch@linaro.org; Sun, 17 Apr 2022 15:07:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57382) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fY-0000U3-RI for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:49 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:34316) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fW-0001om-EL for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:44 -0400 Received: by mail-pl1-x631.google.com with SMTP id n8so10810091plh.1 for ; Sun, 17 Apr 2022 11:30:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8o87i5bNiHOl6x8JfiL+JMb4mpGfXlTZfUHEJQ6T1J8=; b=v2WvRjI6Fqo/TbfXMcM6B/h8exEVsq9t3N28saFL+7eyIRsPEfYi/YfK+eYeWUzLGp WTY7nGJtz1nuKRqoOo0JC2HhWyU/f6bsbXQuvgeFdxQxE05dx7BtmrGfHghdU8HAfLyW SHGyzd6ULLU7AroiXvin9s9fxZzhO4kmh6ny268kA78nA9sNMbtyW/p4qfWdiCZT2al1 imsTrcE0YmhDRgfEkQ978hoNziDI5JGRq9IKSokb6coVvTb6//Du8CpipThT3vV4rXDi GBjXXIorp8qe/IvchgoIyRDFrg5sF+4LYxWSmNm5W2qCGcQ7pU5d6FdYWmYUfaXpSoR3 AJjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8o87i5bNiHOl6x8JfiL+JMb4mpGfXlTZfUHEJQ6T1J8=; b=nCy/OFlwezQIFq8NNokUcp/JBuIvDFaONK60tjFKYUvh5/lhjAA4AWA44v93YO03sl 7lA7i017rw3Wp4mDVrxbLefSkt3jv0MaLLM/pHhU3x+B7Ew4Gac9xGEBEdevmA2GXgl/ UqpmouINZ2QHCW4KA6DsjEwvEWlja6nXLGWpHWAKz1N0pHA8QaTx+VrXI2TOsQP+1uXq CuGVrojrOr2P+idVGfZQZYwFaNSKo53B9NPM/9RejVgkFdRzELXd76fa+9dEML8lq/A8 2s3jV6pQUsSztXhJ5gxM1hzkt7GayeLnVeyFaKlfY7Y9EKz3n1cCT40Q7ZOZlcpF0XjW cx2Q== X-Gm-Message-State: AOAM532Juddr/td5IOvmkKBVJC0g+225Ng3uzbxZ/773jcLIcDHwRrgH kwY1Wq4EB2zuY4+7rl7EBJzm0QAvV2332Q== X-Received: by 2002:a17:902:ecc1:b0:158:6e96:83a7 with SMTP id a1-20020a170902ecc100b001586e9683a7mr7819315plh.79.1650220241060; Sun, 17 Apr 2022 11:30:41 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 24/39] include/exec/log: Do not reference QemuLogFile directly Date: Sun, 17 Apr 2022 11:30:04 -0700 Message-Id: <20220417183019.755276-25-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Use qemu_log_trylock/unlock instead of the raw rcu_read. Signed-off-by: Richard Henderson Reviewed-by: Alex Bennée --- include/exec/log.h | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/include/exec/log.h b/include/exec/log.h index ad0a40cfeb..4a7375a45f 100644 --- a/include/exec/log.h +++ b/include/exec/log.h @@ -15,15 +15,10 @@ */ static inline void log_cpu_state(CPUState *cpu, int flags) { - QemuLogFile *logfile; - - if (qemu_log_enabled()) { - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile) { - cpu_dump_state(cpu, logfile->fd, flags); - } - rcu_read_unlock(); + FILE *f = qemu_log_trylock(); + if (f) { + cpu_dump_state(cpu, f, flags); + qemu_log_unlock(f); } } From patchwork Sun Apr 17 18:30:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562902 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1890264map; Sun, 17 Apr 2022 12:12:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxweR5awaPJsQRISaFFZrj9Wp6xJA0uMXOTf2GF754lQvq56afu8+pov7350AkplNQ1IeU1 X-Received: by 2002:a37:90e:0:b0:69e:a0f0:215c with SMTP id 14-20020a37090e000000b0069ea0f0215cmr638944qkj.139.1650222746497; Sun, 17 Apr 2022 12:12:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222746; cv=none; d=google.com; s=arc-20160816; b=P/71qbWN+MGqbUp4mm2go74OL06ksyVQolC4gvptys+NX4KMEwc+6vHoKeOaUvuyWP gV3nCIs++sVaa/csJcpJKdpZY/LxQzykb4PMD/fsln4tfXEn9OiQMeC6Vtqx5Qu0E3nf IJq+J1Gc94F28wCdu7YunBiDAeqU2+rLutD7vRJ2SF2OpBnMKmsvcBpL2QwpM0P3FN2N WqaUw1emmSsxIRvIUxxyBHIMecqnldgdoblwUgUqHjJz6RUJyfGlpyRoTejsDoAhSWn9 dZwXL8H7WLj3MQU5OhXnEEuCcGXBhHETGRKlxlSxzGdXJA2V5rsrPRMRH2H1LLmlfE6N bTgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=GuwOMriXgAwu84yDvMruRBOLZ7z6LWp1DQPbJdxkC+4=; b=fFiCKJ12uFgZBe+LNNG2B+RC4QEqgXBRB+CbBHvekvKasXUocc+nGI1T7xU9GuOhni Le6/FHz7lFpmH33NdWSEu86Yu4A1FFyUVjL2k2g/U4XkDLgsdH83rFaACFQiXuAUkmd3 J9grucmvWLvVMtJx0RdR9E9TlLA49eM/W4zU9sZgiJaTL9/vayRGRpKia4e1u4huOO1H rgfcl5OHsqEj++5+ewSohX/1ilMlkqPNRGDrFMph3kKHLmC1kkuyKiw/uZOZIoniM9UV Egvy8Qi5zT+WUzpt787fIHRe7MdudFa1yJBf2OzkE6d+wWnkCmjhcQDjDHmK3IFm3oSC 5HRg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sSlbVVIj; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id e4-20020a0562141d0400b004465aced63asi383178qvd.53.2022.04.17.12.12.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:12:26 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sSlbVVIj; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:50908 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAJu-00086a-4J for patch@linaro.org; Sun, 17 Apr 2022 15:12:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57490) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9ff-0000UT-0G for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:52 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]:44594) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fY-0001ox-JX for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:47 -0400 Received: by mail-pl1-x62f.google.com with SMTP id j8so10764923pll.11 for ; Sun, 17 Apr 2022 11:30:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GuwOMriXgAwu84yDvMruRBOLZ7z6LWp1DQPbJdxkC+4=; b=sSlbVVIjTJJ+qatV9FUqY8iZVCS4VoN8OalAf7BhXolANaQZnDJhbb/W3qRU/zZZqC 0frMSowxfQJ0jyykchg6xVBeqjc8j6Zn1J10HnVDfSuhDmM0w1nFg8Kuoi0x8vJUUhQ6 P14g9FtVaM4hCdRaUBs3/DZGcLMCrGhOx9rhQZVy3jDlQMHaft04yHFSP00G9w90avS2 49bLKscEP1CavMCXautOo9rhXzb5LyT3NYjEAPYearoPrvUZDh78TGw65EHtluTKqhLp P8fi11vrAGYAMFCm7UZ7TzIZlsWd6yD9aWgSmcjYt5HeuiwGnHOKRcsNO31hXPox5UYw DAbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GuwOMriXgAwu84yDvMruRBOLZ7z6LWp1DQPbJdxkC+4=; b=T1eSh1aexO4kbAFnjK0a3FKvxkqdIW1ZD7wf2B5ZqLqAEP7GYNuUUKh8Qu//l45Lqy NcXp6sVOXGMIj1FCGziR/ZMjElwaiQo0GYKRhjZtiYzTxIs11/oybjz3FqYGLXnc3CGD iPLx7KiX2uAbArVK5c48X2JAimrMgcv/PydIn/N2vDSgl9IUf3NfCzmABUZ+nXWEqLgl dhG4KYiQHGdXBeSOMm+DhvWRKzOHjAJZT4sG4rIP35ltzLM9RQ22FT8VPrrFQZcl80VS Iyks0K5m6zJuZ/ZCez7x7LsvSZ+6Ktjrtbks5T1BAp5oxy39JugKSWvSin6xJLk66Bhb 1Omg== X-Gm-Message-State: AOAM5312gIzdWUMB03A8iYC79st9UcpxIRb27ycUHbgH9sadG72S4A6s TBYovBpiHZp21VnwymugovlWKItA2V9iFA== X-Received: by 2002:a17:902:ec8e:b0:158:fd5f:2b2a with SMTP id x14-20020a170902ec8e00b00158fd5f2b2amr1678747plg.72.1650220242004; Sun, 17 Apr 2022 11:30:42 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 25/39] include/qemu/log: Move entire implementation out-of-line Date: Sun, 17 Apr 2022 11:30:05 -0700 Message-Id: <20220417183019.755276-26-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Move QemuLogFile, qemu_logfile, and all inline functions into qemu/log.c. No need to expose these implementation details in the api. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/qemu/log.h | 38 ++++---------------------------------- tests/unit/test-logging.c | 1 + util/log.c | 30 +++++++++++++++++++++++++++++- 3 files changed, 34 insertions(+), 35 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index 75973111bb..42d545f77a 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -3,46 +3,16 @@ /* A small part of this API is split into its own header */ #include "qemu/log-for-trace.h" -#include "qemu/rcu.h" - -typedef struct QemuLogFile { - struct rcu_head rcu; - FILE *fd; -} QemuLogFile; - -/* Private global variable, don't use */ -extern QemuLogFile *qemu_logfile; - /* * The new API: - * */ -/* Log settings checking macros: */ +/* Returns true if qemu_log() will really write somewhere. */ +bool qemu_log_enabled(void); -/* Returns true if qemu_log() will really write somewhere - */ -static inline bool qemu_log_enabled(void) -{ - return qemu_logfile != NULL; -} - -/* Returns true if qemu_log() will write somewhere else than stderr - */ -static inline bool qemu_log_separate(void) -{ - QemuLogFile *logfile; - bool res = false; - - rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); - if (logfile && logfile->fd != stderr) { - res = true; - } - rcu_read_unlock(); - return res; -} +/* Returns true if qemu_log() will write somewhere other than stderr. */ +bool qemu_log_separate(void); #define CPU_LOG_TB_OUT_ASM (1 << 0) #define CPU_LOG_TB_IN_ASM (1 << 1) diff --git a/tests/unit/test-logging.c b/tests/unit/test-logging.c index dcb8ac70df..9b87af75af 100644 --- a/tests/unit/test-logging.c +++ b/tests/unit/test-logging.c @@ -30,6 +30,7 @@ #include "qemu-common.h" #include "qapi/error.h" #include "qemu/log.h" +#include "qemu/rcu.h" static void test_parse_range(void) { diff --git a/util/log.c b/util/log.c index caa38e707b..8b8b6a5d83 100644 --- a/util/log.c +++ b/util/log.c @@ -26,14 +26,42 @@ #include "trace/control.h" #include "qemu/thread.h" #include "qemu/lockable.h" +#include "qemu/rcu.h" + + +typedef struct QemuLogFile { + struct rcu_head rcu; + FILE *fd; +} QemuLogFile; static char *logfilename; static QemuMutex qemu_logfile_mutex; -QemuLogFile *qemu_logfile; +static QemuLogFile *qemu_logfile; int qemu_loglevel; static int log_append = 0; static GArray *debug_regions; +/* Returns true if qemu_log() will really write somewhere. */ +bool qemu_log_enabled(void) +{ + return qemu_logfile != NULL; +} + +/* Returns true if qemu_log() will write somewhere other than stderr. */ +bool qemu_log_separate(void) +{ + QemuLogFile *logfile; + bool res = false; + + rcu_read_lock(); + logfile = qatomic_rcu_read(&qemu_logfile); + if (logfile && logfile->fd != stderr) { + res = true; + } + rcu_read_unlock(); + return res; +} + /* Lock/unlock output. */ FILE *qemu_log_trylock(void) From patchwork Sun Apr 17 18:30:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562899 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1889819map; Sun, 17 Apr 2022 12:11:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzUi35fLWJJ39NRimcCDSdoydjkjcZeix5dGIfPJjh+9PoCB5al9VWS69BvBFR9TUNXnkTT X-Received: by 2002:ad4:4911:0:b0:444:3c66:4b5a with SMTP id bh17-20020ad44911000000b004443c664b5amr5818170qvb.77.1650222665512; Sun, 17 Apr 2022 12:11:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222665; cv=none; d=google.com; s=arc-20160816; b=dX8Tj0Dr3XHAR0ICUMNHwhFONrGEB1Ew/QOmbhEhoNy0SUjwhD7+ayv68knYmtbBVF Z1MtK9NpnMzE+1SFgmPPnPLaUuss26eiu4weerOntBVLGybTd8/EMl3wzbK9tcu9Bs3I xz7H8jVIcgPEbW+cST1x53MCwY5IA+mOG89nH+KzipEy6UE+BK87tVThDr6PjEazk9d2 sOYscWw6o3Y3THW8aQllRTnHiMaz2Cjgv/jPEnBWZE8xIBEuNTGsRlEd6adLdEq+glWa n+u37oIsujivWgXPqgsth8GXatO80EqRp/M6wbYC5RTBcw0Vco5IUsD0o5zDA/6rsTE1 x9mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=6Sm3bJ8lkkLDndaTXu2LI7WsKQhrLWIrMlSZhSEKk0s=; b=TuNs05eCPbPM7yYQwyb4pqOHWv2eWMNT1SwFvjcJnZn/pXkQ3clhVEidlBv6gOVdi2 0YKGydfPYaoQQuxAVLMC+ZOtsFAYz6uTp4BbHdc/1xJQR5MXWaZdVGpfsvuR7tEaFTAc 0cvk4GTMBl8um6GXKjfR23fQlI0npTI9gcpB5locL/YhhnrRBFAIXij+Kae+Js2d1RbE wzS2mRygXmdONjEHNgODiKmGZkjbbrcuoX0ROaqdMvbcflnD8TLc+AqrFl8wY5nSQmSe x5QTYzelPnzPb0zoPmRsNib3bCoAzczQB/PHMS6269o6xj73hIG5A+XPErRmlXO/ddpJ PBlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eRHWF7Wh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id w8-20020a05620a444800b0069c79cd5225si2586576qkp.521.2022.04.17.12.11.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:11:05 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eRHWF7Wh; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:46844 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAIb-0005JR-2O for patch@linaro.org; Sun, 17 Apr 2022 15:11:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57454) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fb-0000UG-6q for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:52 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]:40654) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fY-0001pU-JT for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:46 -0400 Received: by mail-pj1-x102d.google.com with SMTP id md20-20020a17090b23d400b001cb70ef790dso15555409pjb.5 for ; Sun, 17 Apr 2022 11:30:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6Sm3bJ8lkkLDndaTXu2LI7WsKQhrLWIrMlSZhSEKk0s=; b=eRHWF7Wh8H7SW5zhV2PWB+0Tcv/jH8IDVbSOvtLvZFcowUiJblDlc6mdhLLHGX1IkU Cxt29do+9KGTVxgeb1swWxD6hHnjglmEjYOxj1vFV7v2XtLha8RCLXJGIxZdPTOTQqYc F7sF+Zx5TWr8/pwFz75yP5QbXtOcmg6RR/a/rldtWVDenRamkSYHMcPLPiE16Yaovg0s O/duVtAsOULBXxUWdOFkECUY38aIMF4cBsDUZxFNQ4nA97TK1hzdVyxBwfaAicL7nXh4 b4nGs/bCTJyXU6SQ3RqeYq+T+Mc4XkhrLH6Ll/EAQn5Q7ACgBDTC2ijEBI+Cn+vUu5HX 0ebQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6Sm3bJ8lkkLDndaTXu2LI7WsKQhrLWIrMlSZhSEKk0s=; b=BJ5u36gJkjFyGZw0/eQNj0jslBE5KgaDKv+Qu+E6PKiTu8cDN0CpKV/16wEJrHcoiU f49a0DdyWOite1sHTPAmlcbB46xgWgO6cnSn0ItSTV9sC5udznI96it7tuDA9CD7+DY8 azlT9VbUcbdyNLevGFTlpMCz27bQHdHxxPABvXOpAKknTILyyeKliDEtJKJLTE4hzuKb GZf0vH2EUts/Spk6C78CuRKouV16jUUuzOjDLfkg0hY4kvUO4fjEPPRw+u+WJZy2YV7p nlwB/EOgqFWjkEeSsSUqkVVg1pLb2oHZN09wFamfoi+5skucyM6ZFfIxcN2Rw7dKwLOz Rs/A== X-Gm-Message-State: AOAM5336YTVEvuY9uq8ZntWNWrDyi4YnNlebjY8AZx5dK297hgPc/B42 W8OCzk7jw3KGtZmVlSNhhtrExj4hov7rQw== X-Received: by 2002:a17:903:1212:b0:156:3ddc:84bd with SMTP id l18-20020a170903121200b001563ddc84bdmr7716980plh.70.1650220242830; Sun, 17 Apr 2022 11:30:42 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 26/39] sysemu/os-win32: Test for and use _lock_file/_unlock_file Date: Sun, 17 Apr 2022 11:30:06 -0700 Message-Id: <20220417183019.755276-27-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The bug referenced in os-win32.h was fixed in mingw-w64 v6. According to repology, version 5 used by ubuntu 18, which is not yet out of support, so provide a meson link test for it. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- meson.build | 12 ++++++++++++ include/sysemu/os-win32.h | 16 +++++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/meson.build b/meson.build index 861de93c4f..1b8b65f171 100644 --- a/meson.build +++ b/meson.build @@ -2054,6 +2054,18 @@ foreach k, v: config_host endif endforeach +# Older versions of MinGW do not import _lock_file and _unlock_file properly. +# This was fixed for v6.0.0 with commit b48e3ac8969d. +if targetos == 'windows' + config_host_data.set('HAVE__LOCK_FILE', cc.links(''' + #include + int main(void) { + _lock_file(NULL); + _unlock_file(NULL); + return 0; + }''', name: '_lock_file and _unlock_file')) +endif + ######################## # Target configuration # ######################## diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h index 770752222a..649f417d39 100644 --- a/include/sysemu/os-win32.h +++ b/include/sysemu/os-win32.h @@ -113,20 +113,22 @@ static inline char *realpath(const char *path, char *resolved_path) return resolved_path; } -/* ??? Mingw appears to export _lock_file and _unlock_file as the functions - * with which to lock a stdio handle. But something is wrong in the markup, - * either in the header or the library, such that we get undefined references - * to "_imp___lock_file" etc when linking. Since we seem to have no other - * alternative, and the usage within the logging functions isn't critical, - * ignore FILE locking. +/* + * Older versions of MinGW do not import _lock_file and _unlock_file properly. + * This was fixed for v6.0.0 with commit b48e3ac8969d. */ - static inline void qemu_flockfile(FILE *f) { +#ifdef HAVE__LOCK_FILE + _lock_file(f); +#endif } static inline void qemu_funlockfile(FILE *f) { +#ifdef HAVE__LOCK_FILE + _unlock_file(f); +#endif } /* We wrap all the sockets functions so that we can From patchwork Sun Apr 17 18:30:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562906 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1891576map; Sun, 17 Apr 2022 12:16:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwKCAng7NA1hN1WBU4Jz0J7a9Hz5pWh7PN3cC46OfwGXPbVLnuKQZtu2Q7gDE2DARV9bVQC X-Received: by 2002:a05:622a:1a9f:b0:2f1:d21f:f7ad with SMTP id s31-20020a05622a1a9f00b002f1d21ff7admr5154787qtc.327.1650222963930; Sun, 17 Apr 2022 12:16:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222963; cv=none; d=google.com; s=arc-20160816; b=a8155duYVHbYlP5iZb8VCqy+3w+q3DvmJGaF9f2ehzQJo8c2lRMvceVOO6WCIHa/ak vAxuoIdDNgFBqxlN0dnPHDjKvUTskKeAb1PU0D2dZpivEGNwJbljuxv4q96o4qw70rKp Voupcf7I+IBOMwwDBdeF/gsuomB2zZKwqmQlwjC9WoKap3wZP66yoFagBCx6cPVaHCeY PH+iH1l7xXcjZInMDoNiAnGkgab8XR6oGwrSjNsmB9dr8vyjCpbGDZtFoyAoiu6PyEZv TYb7YZMnFlA74OiiK/iAEzHAkLZOlfRyjbM2ad3wZ05rqTS22lXRB06F5lVlD9WLs3Q3 L/ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=weAzEbOYWT6pn/rsG4fbAVbqxomesdIK5x2EPw6yBPM=; b=xmudbOKMCHgXuWsG/Xwx2ZxEPH2hfl0K728ubzE4Fo4ppY9r8i99CV00ZNekwvtr+6 KyXSVghtdTPouUYKCiXji6jb5jVsGrJrXLjyIOn2fJYshM6vozMnjc0AyMy9YLQo7pDO AQj00y9+WAqjwgU9EOdwexqUMOeO7ognVPeO6KADf2WUF5kBizHM5AkXafgnARAhXBfT U4u/qE9XHCVKK1OBRURup8OuWiSXBEIPKrF4kZIXzUOiSy37c2o5WCYTpAr8bCKONb42 M2AeU3+8jDByiCF+Pv9YvjSGIyDsQtTPnSsrKwstCX9yRRkY4hNBkprIxnlSNYJJG21J nYvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qlPNum5g; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id s2-20020ac85cc2000000b002e1fbf3bf02si345756qta.243.2022.04.17.12.16.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:16:03 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=qlPNum5g; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:59366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngANP-0005Pk-Dy for patch@linaro.org; Sun, 17 Apr 2022 15:16:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57512) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fg-0000UZ-1j for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:52 -0400 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]:56145) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fa-0001pc-95 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:48 -0400 Received: by mail-pj1-x1034.google.com with SMTP id ll10so11365742pjb.5 for ; Sun, 17 Apr 2022 11:30:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=weAzEbOYWT6pn/rsG4fbAVbqxomesdIK5x2EPw6yBPM=; b=qlPNum5g5fvPmmQS4UBTe2sSmbyDI2u+HjD8mYuf+8gTvm4rrg+lsiNPGwtX18GKU8 fHiOxI4J8a6RD/uixGn5+H6zt9S/MPZKFESa6tacuUX5q0Tbul696YibPRMvcyFyCHZs wozgVpAm01qZeDaPDeLKT3FNk3DTfguctevgAgA0BZDxzQRLr/iKV2SXj5R/UpMfsGBq bie+eSOM5ZyBuyBLgwyHtExCPjTzVbB1R0SmpKSvRLpWp49FhyC8FO02sj5R7ujrtBad ulBjJO7tM8i6vXNGZSiSgb25NBe9vtBlcwG+Z4Srhyzsq492xjGQ8anfclVDfRyrLysk TT4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=weAzEbOYWT6pn/rsG4fbAVbqxomesdIK5x2EPw6yBPM=; b=jePmlk4dVr7+QtzeoI4+KWMbn0fUmFwlpFZbdcqcBLB/Y8zYNaHPcrfmyH7l+dH0// ELByqsM5x2BQV+mWjQuJKwQl9UCxwZiwJ+dqXPC0t2cxT+RbVGwbvTayCa6lp/P19xvu VFXkZGpeITFcxtTyE81pvPIplqpyyp7ihYKRwl6OmFWOkzCw1TfXXsPuCv4BaE8cHcxO jpHyHwA7r++M3xp8sGCOmZsGpAWK+kx97nFrUTpyWPwbbIeELDm3dgoMX1pdK9Fafcoc +Wp/DL08fUQuEJN0DVoN4YrL2Tpvdy9w+JVxbMDoVR4RqkZeQuIVqN/rBEuCuG9+8jgS llJg== X-Gm-Message-State: AOAM53173BGd4est0Fy/k6inMUs5XC20JXbcr0r5hLJiMEedDiceYd2u K50bEAcCjDUSa9ORFvjLJ8WoaYljhOyllw== X-Received: by 2002:a17:902:a5cc:b0:158:9a2b:480e with SMTP id t12-20020a170902a5cc00b001589a2b480emr7856836plq.19.1650220243671; Sun, 17 Apr 2022 11:30:43 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 27/39] util/log: Introduce qemu_set_log_filename_flags Date: Sun, 17 Apr 2022 11:30:07 -0700 Message-Id: <20220417183019.755276-28-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1034; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1034.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Provide a function to set both filename and flags at the same time. This is the common case at startup. Signed-off-by: Richard Henderson --- v2: Return bool, per recommendations in qapi/error.h (phil). --- include/qemu/log.h | 1 + util/log.c | 122 ++++++++++++++++++++++++++++----------------- 2 files changed, 77 insertions(+), 46 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index 42d545f77a..b6c73376b5 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -82,6 +82,7 @@ extern const QEMULogItem qemu_log_items[]; bool qemu_set_log(int log_flags, Error **errp); bool qemu_set_log_filename(const char *filename, Error **errp); +bool qemu_set_log_filename_flags(const char *name, int flags, Error **errp); void qemu_set_dfilter_ranges(const char *ranges, Error **errp); bool qemu_log_in_addr_range(uint64_t addr); int qemu_str_to_log_mask(const char *str); diff --git a/util/log.c b/util/log.c index 8b8b6a5d83..2152d5591e 100644 --- a/util/log.c +++ b/util/log.c @@ -117,15 +117,58 @@ static void qemu_logfile_free(QemuLogFile *logfile) } /* enable or disable low levels log */ -bool qemu_set_log(int log_flags, Error **errp) +static bool qemu_set_log_internal(const char *filename, bool changed_name, + int log_flags, Error **errp) { - bool need_to_open_file = false; + bool need_to_open_file; QemuLogFile *logfile; - qemu_loglevel = log_flags; + QEMU_LOCK_GUARD(&qemu_logfile_mutex); + logfile = qemu_logfile; + + if (changed_name) { + char *newname = NULL; + + /* + * Allow the user to include %d in their logfile which will be + * substituted with the current PID. This is useful for debugging many + * nested linux-user tasks but will result in lots of logs. + * + * filename may be NULL. In that case, log output is sent to stderr + */ + if (filename) { + char *pidstr = strstr(filename, "%"); + + if (pidstr) { + /* We only accept one %d, no other format strings */ + if (pidstr[1] != 'd' || strchr(pidstr + 2, '%')) { + error_setg(errp, "Bad logfile format: %s", filename); + return false; + } + newname = g_strdup_printf(filename, getpid()); + } else { + newname = g_strdup(filename); + } + } + + g_free(logfilename); + logfilename = newname; + filename = newname; + + if (logfile) { + qatomic_rcu_set(&qemu_logfile, NULL); + call_rcu(logfile, qemu_logfile_free, rcu); + logfile = NULL; + } + } else { + filename = logfilename; + } + #ifdef CONFIG_TRACE_LOG - qemu_loglevel |= LOG_TRACE; + log_flags |= LOG_TRACE; #endif + qemu_loglevel = log_flags; + /* * In all cases we only log if qemu_loglevel is set. * Also: @@ -134,71 +177,58 @@ bool qemu_set_log(int log_flags, Error **errp) * If we are daemonized, * we will only log if there is a logfilename. */ - if (qemu_loglevel && (!is_daemonized() || logfilename)) { - need_to_open_file = true; - } - QEMU_LOCK_GUARD(&qemu_logfile_mutex); - if (qemu_logfile && !need_to_open_file) { - logfile = qemu_logfile; + need_to_open_file = log_flags && (!is_daemonized() || filename); + + if (logfile && !need_to_open_file) { qatomic_rcu_set(&qemu_logfile, NULL); call_rcu(logfile, qemu_logfile_free, rcu); - } else if (!qemu_logfile && need_to_open_file) { - logfile = g_new0(QemuLogFile, 1); - if (logfilename) { - logfile->fd = fopen(logfilename, log_append ? "a" : "w"); - if (!logfile->fd) { + return true; + } + if (!logfile && need_to_open_file) { + FILE *fd; + + if (filename) { + fd = fopen(filename, log_append ? "a" : "w"); + if (!fd) { error_setg_errno(errp, errno, "Error opening logfile %s", - logfilename); + filename); return false; } /* In case we are a daemon redirect stderr to logfile */ if (is_daemonized()) { - dup2(fileno(logfile->fd), STDERR_FILENO); - fclose(logfile->fd); + dup2(fileno(fd), STDERR_FILENO); + fclose(fd); /* This will skip closing logfile in qemu_log_close() */ - logfile->fd = stderr; + fd = stderr; } } else { /* Default to stderr if no log file specified */ assert(!is_daemonized()); - logfile->fd = stderr; + fd = stderr; } log_append = 1; + + logfile = g_new0(QemuLogFile, 1); + logfile->fd = fd; qatomic_rcu_set(&qemu_logfile, logfile); } return true; } -/* - * Allow the user to include %d in their logfile which will be - * substituted with the current PID. This is useful for debugging many - * nested linux-user tasks but will result in lots of logs. - * - * filename may be NULL. In that case, log output is sent to stderr - */ +bool qemu_set_log(int log_flags, Error **errp) +{ + return qemu_set_log_internal(NULL, false, log_flags, errp); +} + bool qemu_set_log_filename(const char *filename, Error **errp) { - g_free(logfilename); - logfilename = NULL; + return qemu_set_log_internal(filename, true, qemu_loglevel, errp); +} - if (filename) { - char *pidstr = strstr(filename, "%"); - if (pidstr) { - /* We only accept one %d, no other format strings */ - if (pidstr[1] != 'd' || strchr(pidstr + 2, '%')) { - error_setg(errp, "Bad logfile format: %s", filename); - return false; - } else { - logfilename = g_strdup_printf(filename, getpid()); - } - } else { - logfilename = g_strdup(filename); - } - } - - qemu_log_close(); - return qemu_set_log(qemu_loglevel, errp); +bool qemu_set_log_filename_flags(const char *name, int flags, Error **errp) +{ + return qemu_set_log_internal(name, true, flags, errp); } /* Returns true if addr is in our debug filter or no filter defined From patchwork Sun Apr 17 18:30:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562911 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1893698map; Sun, 17 Apr 2022 12:21:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyNXoYk6tLYRhb/VyDucET6I3+H/TOFoqi3w2cept5Z42uwCfdiXcqtnlIWJIFba/CkEC9n X-Received: by 2002:ad4:5ce2:0:b0:441:651c:4236 with SMTP id iv2-20020ad45ce2000000b00441651c4236mr5720080qvb.101.1650223311385; Sun, 17 Apr 2022 12:21:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223311; cv=none; d=google.com; s=arc-20160816; b=F7C+sIJaC/kjY6H+bkiWf5diprBgtzZwMcroIA5npSuMQDW1q8g1m02aSF/Yx98c5l qS+saLenoTF9j79ZstPeltuayPhqCZh7T+JTXDJ6JuhxRVapAxekjcQ0RuZ6Bkbl2YFz rmL+rFF8l5AW8M3jLcNRBHrpBhnvAeY1qBD29mCPGX94juvcKZEzaGu08aLG2OhhXIe9 L72PqOHyvGABgONlqxEZXUUuKhXhgXeRsMONOIGb594SPNVgQd7srTSvbJv5agY7n4Fy xm53TV9NbTDDP8nT+KFlhnkyBABmNtTbNNOO1qfx54GQHQGLeNiqDuH24sfC5JiH4Q5f W3iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=3gF4qhvQ8l6NXETH9Jek4ATx0dQ6TPfjnPR0XqtXWlI=; b=Fe8YYfgVId2aQEOvre0GxlCUjy6aYGxyKeUVtEKmUwI98Rn7X2+kgCnuU/MrVAr95+ P4KYRzc0vBPbfGv4Kbjje38UqSVvCE2CIav7FP3XU9Wllv/q3AsYZWGWLLvu3cTU51OM 4oiUHJlR+owP9dhMhNEn2IPNFOeMsGE+mrH+bsMuFz2FdtXscAioy34WIDASJhrLzAHT AjpIOx3P8+qzHX/3iivM9el6LSVgmuoqgcK5F7LoApJSg4NaaID/qrYgke5hJs9dE5Dv ClSQf+Bwrj2uj2yr6A3fIDxBDIk2lt3HJfh3td1yBa3Besi0UcJf52Xa9L/iQJ6rp8nQ 2TPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="OaoH8/Fv"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id q5-20020ad45745000000b0044619b5dfd9si2351690qvx.116.2022.04.17.12.21.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:21:51 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="OaoH8/Fv"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:48368 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAT0-00006s-V2 for patch@linaro.org; Sun, 17 Apr 2022 15:21:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57510) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fg-0000UY-0Q for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:52 -0400 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]:35703) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fa-0001pu-FL for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:48 -0400 Received: by mail-pj1-x1029.google.com with SMTP id i24-20020a17090adc1800b001cd5529465aso10876021pjv.0 for ; Sun, 17 Apr 2022 11:30:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3gF4qhvQ8l6NXETH9Jek4ATx0dQ6TPfjnPR0XqtXWlI=; b=OaoH8/FvahyfzZLtvecbvCNXei4VQrCYSxynSkVsh/KU+LVUc1sk/41LhNYur30c3g tW35bGadQPMaJpHn7geVQUNFAi10UMoNnhGBHdkVrlt+2JrcNModzxccx1E8hiSj5xDr Ir1f35zshB0w83bMBJNpoINcxsabUvlJT5o2i0RKmQoOgBD626shaS+p7zZxzxO+Yshf Hk97kPifUBHDaIgAQBZEP9dIvqNzlEabpBvM2hr/ifOtnRFfIruDCI/4fYuISHqEMQLb U7G/25NtxRJllu1dgyOHzpYuJsAzWIULC36BVlJyxMXpiengPK2aUltoDezZO+Rat2Da 4bgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3gF4qhvQ8l6NXETH9Jek4ATx0dQ6TPfjnPR0XqtXWlI=; b=p2knIRwgI1CC3FDRXz4GTq9q2jizP5WErh9g4fu5iq4mZb65M4cyNc7+XfQKWf0OWI OSE+YNzieX25aZ33IoxJY0UWcPyRMIaHJzHpRNW0kf91TzXu39MoPmrDJBnCIIyFzW9w 0ILK9LO47WDAmquMIILmPEXmte6tmx3/WuR3emTI8tRhzbHuUzZD/Qos1ypKyZCz5cwh DU+VCTeTLShf1faIaGp8rglUk2EyS8xE1WGks0RRaRXyp0QZtUXQ0rzeVY45eQNJTOa9 P9JOufZUi1n+6oz23o8Bi6O9ZqXShfQqG8/djfFu85lkvnoY9ALxekCh4Jqix/ed97d9 EciA== X-Gm-Message-State: AOAM5330IzdcSS9BnpSKPaFXEcYKs4wcxA4NMbHupMdvmJpaPdO2yTfN JlSyWOZb++ImEmi0HhP2/zjdK5QN0tYkOA== X-Received: by 2002:a17:90a:4308:b0:1cb:b996:1dc with SMTP id q8-20020a17090a430800b001cbb99601dcmr9227848pjg.224.1650220244481; Sun, 17 Apr 2022 11:30:44 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 28/39] bsd-user: Use qemu_set_log_filename_flags Date: Sun, 17 Apr 2022 11:30:08 -0700 Message-Id: <20220417183019.755276-29-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1029; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1029.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Perform all logfile setup in one step. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- bsd-user/main.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bsd-user/main.c b/bsd-user/main.c index ed26fc5acb..aa13eae7f3 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -405,16 +405,16 @@ int main(int argc, char **argv) } /* init debug */ - qemu_set_log_filename(log_file, &error_fatal); - if (log_mask) { - int mask; - - mask = qemu_str_to_log_mask(log_mask); - if (!mask) { - qemu_print_log_usage(stdout); - exit(1); + { + int mask = 0; + if (log_mask) { + mask = qemu_str_to_log_mask(log_mask); + if (!mask) { + qemu_print_log_usage(stdout); + exit(1); + } } - qemu_set_log(mask, &error_fatal); + qemu_set_log_filename_flags(log_file, mask, &error_fatal); } if (optind >= argc) { From patchwork Sun Apr 17 18:30:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562909 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1892514map; Sun, 17 Apr 2022 12:18:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJylttd6dF14Vj0ZG/w8Poe+gijVP58+B6Fo+tTpCn3C0C1xFVNEHW+hzGCwFf4yn++PJI30 X-Received: by 2002:a37:6902:0:b0:606:853:fe50 with SMTP id e2-20020a376902000000b006060853fe50mr4757486qkc.751.1650223119236; Sun, 17 Apr 2022 12:18:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223119; cv=none; d=google.com; s=arc-20160816; b=bWXowUfOAV2GzlD5MKZP3oJh4g1FAf9vVLItO2dxldvpLJGpMPN5NB1dd6hfOvRZYg E9LiT30knnjfV7WWXOMF+MeqkxsPYtqQHUPxN8mxz2y4qXqNCnGqQPb5mk/MeZK4BqXv SnbvsmEeohXU6EQ3iQuwOTSYw/H9ZZ+NjBNkWiKSLpWE7+KHwA5eDoaPoF5SpaX0wnsj nxaQpYMqBxzkLpCn8BN4ahDLZsDBnuormehUaNuCiG039v3o6Qa1cVaqMwsbzlZBBoD1 EVV+wngGPP4+vKjgaLvfTwYjnHVPsYdqKrw9UP0YyxHxyppE8qd03/+hBzO6rx50GJdw vrmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=KyDX+9kaThDi34z+jXeKQT/xeBan8IqcerJCqXgP+WE=; b=dFvWfGgzpFUQFi9NgxQ2qkTLLpCR3Vw0pwe6HBr4/F5HFpH49lD0SnVILrLZ5fePPZ KjKANghDFMNGw//cMApyP48rwJ4EWxu/quAy2Eh5NdqIf4TNNh8FeknfE0QYztzbhJ+h b2kOEQyY+TuLQMkfbptI3gCbBc5FyeIUmCjnhlW3aizDG2cENBaHEAYFyumcfNmg3oH9 lqjGFSrniSbyjQNO78r8TwkhgUw0wvCt7OZlPVGEuRPrYIXxWG8ApdZvu8XNBpI2IKOd WMu5ZbsbyyYhstSkpJmvTzWwPR2lb2NU+/HQeY4byjPbPd52C9dPZEaHUhwu3MWlcIaN i3Ww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GepKXb4R; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id bl6-20020a05620a1a8600b0067e4be237d3si2677416qkb.24.2022.04.17.12.18.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:18:39 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GepKXb4R; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:39814 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAPu-0002qJ-S1 for patch@linaro.org; Sun, 17 Apr 2022 15:18:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57508) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fg-0000UX-0i for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:52 -0400 Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]:35764) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fa-0001q1-Ul for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:48 -0400 Received: by mail-pg1-x535.google.com with SMTP id k62so9002455pgd.2 for ; Sun, 17 Apr 2022 11:30:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KyDX+9kaThDi34z+jXeKQT/xeBan8IqcerJCqXgP+WE=; b=GepKXb4RP3vf5dXpGCA/YrwXb15I3ERf7eGJGIqb4HXxaBXyu/kLYe35FxHUZ817Jx z4CaJ/deu8gKwnfCPSrqS1KnFkKO9oY8hHI90lLxjqy2SpF6haSq5cwxUH9cbSfoqlIH otf6xkLxU2hLlUjILaLJmf4SCSUAiXISaP0ZwoqfDs16f8rwdwYQLxp07jWfXmm3XjP7 eZ85mGgm08Jm5IwPXG6+6ayw2Td46zJw9s+u4SooXmzqBD40wlYIgGLKRrsE6413cBcl U4ksK1NXe4Fnzr4LXfHmnDlgOrVgbcXJm+kXV24xR/BTn9iNPpMzcJ63iHmAyrMOSVZA t1hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KyDX+9kaThDi34z+jXeKQT/xeBan8IqcerJCqXgP+WE=; b=I26rY5wAWyJhM6VNUubmnZX6B+Sjt5XlPKthqBVu2NwP9JlWRx07H/iTOkNkVQBbcG 0Z+j9gD29cvQJXO0ps7DdD9Ch9DUIFHBaskxM6c7Wa98U5Tb5ypRq80hWwvs4yYpyuwh hv73iBn2ChDvHIhgXb2RF4F9zRtCxoxulNG4Ctcja0EJ/Uf5e4CqD7yhqqYlG+KAaKaa H/uq1NyygojdBq5aoZIaU5FbauHHvjJ7Y6h66BSjkvL0prCM+s4QZSMsKxReRlWax7DU wxrMSgi1yPE/YFnCWS71GrWo+iRYAVxFSwun0RmJpYwsGRWtepIpBdCmSrHQ2cvNSNwB 4TTw== X-Gm-Message-State: AOAM532D3rz1jngTkseKyOW2XNlza++qwrAQeMh7lrM8tuPymY7TM5Z9 Oa+jWZwdCi6JZJrsSeYkEMNiwyqiem4OeA== X-Received: by 2002:a63:6a85:0:b0:398:9e2b:afd6 with SMTP id f127-20020a636a85000000b003989e2bafd6mr7303346pgc.582.1650220245279; Sun, 17 Apr 2022 11:30:45 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 29/39] linux-user: Use qemu_set_log_filename_flags Date: Sun, 17 Apr 2022 11:30:09 -0700 Message-Id: <20220417183019.755276-30-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::535; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x535.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Perform all logfile setup in one step. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- linux-user/main.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/linux-user/main.c b/linux-user/main.c index d263b2a669..0297ae8321 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -85,6 +85,7 @@ static bool enable_strace; * Used to support command line arguments overriding environment variables. */ static int last_log_mask; +static const char *last_log_filename; /* * When running 32-on-64 we should make sure we can fit all of the possible @@ -257,7 +258,7 @@ static void handle_arg_dfilter(const char *arg) static void handle_arg_log_filename(const char *arg) { - qemu_set_log_filename(arg, &error_fatal); + last_log_filename = arg; } static void handle_arg_set_env(const char *arg) @@ -643,7 +644,6 @@ int main(int argc, char **argv, char **envp) int i; int ret; int execfd; - int log_mask; unsigned long max_reserved_va; bool preserve_argv0; @@ -677,10 +677,9 @@ int main(int argc, char **argv, char **envp) optind = parse_args(argc, argv); - log_mask = last_log_mask | (enable_strace ? LOG_STRACE : 0); - if (log_mask) { - qemu_set_log(log_mask, &error_fatal); - } + qemu_set_log_filename_flags(last_log_filename, + last_log_mask | (enable_strace * LOG_STRACE), + &error_fatal); if (!trace_init_backends()) { exit(1); From patchwork Sun Apr 17 18:30:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562903 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1890653map; Sun, 17 Apr 2022 12:13:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmkAbF5LZYvJz2WGSZPt+W6d9MQ5om7xI3EURj5MbFnxaBplv9HjcqQd5CoyTSEKvltNYu X-Received: by 2002:a05:6214:27c9:b0:446:45e2:3426 with SMTP id ge9-20020a05621427c900b0044645e23426mr5349503qvb.0.1650222817439; Sun, 17 Apr 2022 12:13:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222817; cv=none; d=google.com; s=arc-20160816; b=gTaO/4Q4sZlxebAznZ9AfgU1Q/DU9/ICiN3o4+KuvdzfNYtzM8q+k0o54JRtBb8LOC ml9+xEhEkjgloNT5NBznK/x1/EnPwwkpI17NeXxDobgfc0euE/n5zO6BEVZc6cr9bk2k rSsZKXCAhuR2A0/Z01LvumvS/KIc/FTn6/fKP2FKCatoC+FHZ1dmuh8dxE7bhxdoc9Zt KlTqa0mbxr9WLQ/oQp8cEDjkJ6yI6bENog0sHUYl4DbWOjYTGWP6AogVy5gNjqewc6j2 3rM0cda5errQ9XlBlMqvh093ijcu17PAgWcfPhFS01SVKyXIHh9DICNXMoRIuoTyYGMo ocOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=/sC23igQqhCyD6K5YQ5nhgAj3F77O3jvIE8pVCy+RrM=; b=ue5DBokKy7CxKM2LySXhpUKbfej9ybKlMKf+fW2NTppCbnXrN9EXN/CnUI84Tw+72r fIUudH89Zd7tt0D7fpQqFb6ZuWp06r8YgBP46h9npsRmVKfzPfKHPi0/KhoOF8iksZuD H6WuwSgADBKmOrFacaFlVusx2CcipsfG400N5v2/c5c1bld56tFAnlN3rRG5kNyHrDr+ hAFbPfwstbT5/9TeXTJ0Ey3WKG9LOEnx2F13CR1iExLF894O+2UPoEDnvLWiXDxKPnBt YyR6RH7eLJZeVPhZWoHZhKsl3+noDAxVRQ0BGjUda+8rn1vID2yUfCZSQGeJFUR1auDi Ctug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BIPEMdhf; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id fo15-20020ad45f0f000000b0044658611dcbsi465581qvb.93.2022.04.17.12.13.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:13:37 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=BIPEMdhf; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:55288 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAL3-0002ie-1A for patch@linaro.org; Sun, 17 Apr 2022 15:13:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57540) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fl-0000Wm-Gy for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:58 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]:35669) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fd-0001q7-Hv for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:51 -0400 Received: by mail-pl1-x635.google.com with SMTP id b7so1134715plh.2 for ; Sun, 17 Apr 2022 11:30:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/sC23igQqhCyD6K5YQ5nhgAj3F77O3jvIE8pVCy+RrM=; b=BIPEMdhf4V0OFc3TuYoEeMoL+EiL0vZnS2LAmDBDdKLzjOzzfwFfvqpQG25HLakuhM sxZSnNaf1Vhn7RzNJnF//l6wmSf/P7NCLZqDlqTxgt+eKpuTyZzZ/0kLvGRs/IywrbWd XfJseRol8jahQRYJ+BSJiF4Li8nkrJusWPYkzDD7dDVCqAaeqKFhq/Ne/0wDggZeZy6E Vx4a3X9zFUL61MIM9UZm8WfQHfZjahfzCWjVPBEiCGMYiFvLGRYI8WBnA4nUrAnSkfh0 DTi6Dk6WfB82FMP9nLkaR9TuOaogUzqd9qdJBMOXPk6vmxrzcM45pqFYj8gEsMYru2Nr Qhpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/sC23igQqhCyD6K5YQ5nhgAj3F77O3jvIE8pVCy+RrM=; b=ko4RTPvq/e2SdqwgEe2FXVgREYpi7E6Yx0IYAxlDxkoqoImB9gPzPBoe9MeCUKV4NZ 22/rbahymKlnlZTzUHmCPK+qlrH3r0jJG0hxw/2Vg+bJywRp3ycoM2FFTMU7B94WheNu OJez9KJYvekZ0B2A1w3TGDY87NLBaJZ10ifCUrXq20Aj5dtdPLu28YgStJtwDBYX9g44 VP0hVnAEQRlGrRqrRGUgvxWhY2YKjCydj8zfojqbF5OlM5XS4LInmMm8B1Zw8qIEWYdE v4dkDqnTuRw1gPXPuwhc7WkRIc3R0yrl4sY09XScMzbSdmMDH/adYoACw2IafB9+K0et 9K6Q== X-Gm-Message-State: AOAM531Ub6tuhfjS1lmsVs3zUx8pxpl+pFclxAid01Ox7lW9yR2hA6OU SmVTCv2+jKBsYp5Nb0SJ7hs5T1zONkJVZQ== X-Received: by 2002:a17:902:f70c:b0:14e:f1a4:d894 with SMTP id h12-20020a170902f70c00b0014ef1a4d894mr7779260plo.65.1650220245978; Sun, 17 Apr 2022 11:30:45 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 30/39] softmmu: Use qemu_set_log_filename_flags Date: Sun, 17 Apr 2022 11:30:10 -0700 Message-Id: <20220417183019.755276-31-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Perform all logfile setup at startup in one step. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- softmmu/vl.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/softmmu/vl.c b/softmmu/vl.c index a74d0a44a2..65c02963b6 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2559,19 +2559,16 @@ static void qemu_process_early_options(void) #endif /* Open the logfile at this point and set the log mask if necessary. */ - if (log_file) { - qemu_set_log_filename(log_file, &error_fatal); - } - if (log_mask) { - int mask; - mask = qemu_str_to_log_mask(log_mask); - if (!mask) { - qemu_print_log_usage(stdout); - exit(1); + { + int mask = 0; + if (log_mask) { + mask = qemu_str_to_log_mask(log_mask); + if (!mask) { + qemu_print_log_usage(stdout); + exit(1); + } } - qemu_set_log(mask, &error_fatal); - } else { - qemu_set_log(0, &error_fatal); + qemu_set_log_filename_flags(log_file, mask, &error_fatal); } qemu_add_default_firmwarepath(); From patchwork Sun Apr 17 18:30:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562910 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1893346map; Sun, 17 Apr 2022 12:20:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw90bl0+UaSCbEqFF09xBvpM/7NBx3ZE11aWUH6JdR/INtjgGkYYCTtqm9bQKTl9psM8hID X-Received: by 2002:a05:622a:353:b0:2f1:f3a5:7c88 with SMTP id r19-20020a05622a035300b002f1f3a57c88mr4934680qtw.552.1650223255638; Sun, 17 Apr 2022 12:20:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223255; cv=none; d=google.com; s=arc-20160816; b=qqrjVaHuh/Z031wXnH2NOfnMHXgnVycxI3h13vZj1Zdi3mHJ6ZXzALFLKz+GxOIfZG WxGEZ/s90joxhV3EHzZ+bXE1gcWT6PrtvYThGYg4lZzpks9KxTkHe0Zf9hbakCz0cPFw /wzMXHoa5wvm3F/XAdvd8CSkQ8hILLaSehUjjEe1lJTEN8vBbdeCB4vaoJLCG1znyzGN uFP1sGz/ZYLS8ORYQadgeyScrJ6x6RQKkF22Ilz2e29pZi/VC8I7Sebnw/IR34atDiEq zB+8LsPYmodQBxHArB479dgpdZf+TURTRTx6qEPFdgOTnU3CqCl/Wb6e0oFTKPhamCsA DvzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=+agEDs5L9Qv0XifAtbfc6Cvy+HapiVSEHi2btRZrRAM=; b=1LSwNwi0IdzgmHLVCwcUpNBdeVb9srO3QOcWI/dGBMZoLYm+kOEX8+VOoTnelc7bYK OnIX4vzXVnmLaxAuxYbBCuHKG4qq5UVo7PC3abEspP/egiI4cRg3XSZY+SbyZani1AVa XAjSh8XBZv4/deZ6/Q5W8dDop3SlDl5abLw9GA2NsMDIT3sbCKuVW08RH36qesAR9Omy 8YE6NWsY73L9+QKRM0KQsDlHQ7HrZ1+VZbek1g8jJyKHEwf/LZHMUYxMW9ShJmrGEj1E odXtX3FK/yUceju8rgKqn/9yAprjjyjBzaQOknP7ySaUF1ZsEjjCkdr5kz07smndcecE E7qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vOEdaQ0Y; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id m127-20020a375885000000b0069e8964aa1esi803146qkb.629.2022.04.17.12.20.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:20:55 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vOEdaQ0Y; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:45932 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAS7-0006uR-7j for patch@linaro.org; Sun, 17 Apr 2022 15:20:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57596) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fm-0000XI-Oq for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]:46936) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9ff-0001qV-Nu for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:58 -0400 Received: by mail-pg1-x536.google.com with SMTP id q12so15048224pgj.13 for ; Sun, 17 Apr 2022 11:30:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+agEDs5L9Qv0XifAtbfc6Cvy+HapiVSEHi2btRZrRAM=; b=vOEdaQ0YACjwwptEqGawje9aG3URhyeTyLyi8DBgTk3vwnBsu6Ea+gqLBe5/muOYjp zRhHiv0bYufllIc6C5RsekO4r7m5T8U7FnLFDpaFGCZm1dH3ctB5Oh7QuI+br/gEZbHe dI74sALMyU7F/JPxD3d3r/eefp+zkoc6emnBJx34KURHBJAlTrHpmwbJRqJs0uR7TuVg Y43IxvN/FEoAUxheb1gGN++2+MI4sHkGzgiPjfxMyCE8VLGDn31YHQnj63Af9+OfXKL6 6uUCrhReXWGPY9Ii2L0HNzMdKr1QE+I/EVOFddwWM+5b9HYCxbbAX9uKsri9IwxFd1eL ueHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+agEDs5L9Qv0XifAtbfc6Cvy+HapiVSEHi2btRZrRAM=; b=v5/Mwm/toq4eIK9Qt+o7tfqk+oGOcPo3HbLsQAOWZL0KyNEeaCKQyTRSVSTaxOVNnf athOyskI0ZDTDlj2K/B0bMtteFeZkrFK62galE4tANMig/P1wwd9WD2yWzc33Kl4U4vH /U82ywN+SyUtX26D8pNaBDAZfq4sdLh/OpzmlSVxxdQlxRA8mkptZoOElESCs5/L6LBj ciwlo5ESeVaPDcN/+9ENBhgLF9KCtx71lh+PsPR14klVqU0fdLCty/bwwq1iSEdcaTSv whkRihNxBN70pDqU9Xn5c6tZv/wOcLdyp4YiNkZUiKK1ScN4ys1NYYoF4N90P6bNuTSU /Aiw== X-Gm-Message-State: AOAM530vASYmORcj7TaLJVxTpssJPOOK6kmm/hNQ322rDzkihI611K8F ccTUf6ONNEl1pLuhiqRCEh9iT1T38rNQAQ== X-Received: by 2002:a63:5847:0:b0:399:3452:ffe4 with SMTP id i7-20020a635847000000b003993452ffe4mr7205616pgm.406.1650220246738; Sun, 17 Apr 2022 11:30:46 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 31/39] util/log: Remove qemu_log_close Date: Sun, 17 Apr 2022 11:30:11 -0700 Message-Id: <20220417183019.755276-32-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::536; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x536.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The only real use is in cpu_abort, where we have just flushed the file via qemu_log_unlock, and are just about to force-crash the application via abort. We do not really need to close the FILE before the abort. The two uses in test-logging.c can be handled with qemu_set_log_filename_flags. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- include/qemu/log.h | 3 --- cpu.c | 1 - tests/unit/test-logging.c | 4 ++-- util/log.c | 17 +---------------- 4 files changed, 3 insertions(+), 22 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index b6c73376b5..a325bca661 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -92,7 +92,4 @@ int qemu_str_to_log_mask(const char *str); */ void qemu_print_log_usage(FILE *f); -/* Close the log file */ -void qemu_log_close(void); - #endif diff --git a/cpu.c b/cpu.c index bfa4db9cd8..7df12537d5 100644 --- a/cpu.c +++ b/cpu.c @@ -408,7 +408,6 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...) cpu_dump_state(cpu, logfile, CPU_DUMP_FPU | CPU_DUMP_CCOP); qemu_log_unlock(logfile); } - qemu_log_close(); } va_end(ap2); va_end(ap); diff --git a/tests/unit/test-logging.c b/tests/unit/test-logging.c index 9b87af75af..74ec89f1a8 100644 --- a/tests/unit/test-logging.c +++ b/tests/unit/test-logging.c @@ -170,7 +170,7 @@ static void test_logfile_lock(gconstpointer data) * Initiate a close file and make sure our handle remains * valid since we still have the logfile lock. */ - qemu_log_close(); + qemu_set_log_filename_flags(NULL, 0, &error_abort); fprintf(logfile, "%s 2nd write to file\n", __func__); fflush(logfile); qemu_log_unlock(logfile); @@ -208,7 +208,7 @@ int main(int argc, char **argv) tmp_path, test_logfile_lock); rc = g_test_run(); - qemu_log_close(); + qemu_set_log_filename_flags(NULL, 0, &error_abort); drain_call_rcu(); rmdir_full(tmp_path); diff --git a/util/log.c b/util/log.c index 2152d5591e..491a8f97f9 100644 --- a/util/log.c +++ b/util/log.c @@ -198,7 +198,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, if (is_daemonized()) { dup2(fileno(fd), STDERR_FILENO); fclose(fd); - /* This will skip closing logfile in qemu_log_close() */ + /* This will skip closing logfile in qemu_logfile_free. */ fd = stderr; } } else { @@ -322,21 +322,6 @@ out: g_strfreev(ranges); } -/* Close the log file */ -void qemu_log_close(void) -{ - QemuLogFile *logfile; - - qemu_mutex_lock(&qemu_logfile_mutex); - logfile = qemu_logfile; - - if (logfile) { - qatomic_rcu_set(&qemu_logfile, NULL); - call_rcu(logfile, qemu_logfile_free, rcu); - } - qemu_mutex_unlock(&qemu_logfile_mutex); -} - const QEMULogItem qemu_log_items[] = { { CPU_LOG_TB_OUT_ASM, "out_asm", "show generated host assembly code for each compiled TB" }, From patchwork Sun Apr 17 18:30:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562907 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1891881map; Sun, 17 Apr 2022 12:16:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzruxVqQIkhkaIW29ywxqXCoJmxuG7IzWUjVb+tINoxtjoT1ntENvTI1euHKdjosI84s8rm X-Received: by 2002:ad4:5642:0:b0:444:47e1:b244 with SMTP id bl2-20020ad45642000000b0044447e1b244mr5847086qvb.4.1650223017197; Sun, 17 Apr 2022 12:16:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223017; cv=none; d=google.com; s=arc-20160816; b=d/NKl9AtERL1LLvdq4KsAe/2UsVHB0beC7GdrTV/ZUJWb21VUDoGs1RemxdfX8oEZd 8n9PXVjwb13eR6jKnWpspES3dsUZyPET3z2it6CMS18rbA/Q8dYj17BnQNcoKM57pCEB 0AmFPx+Dnb/SXTxq/4L1tCm13SyozlK0efqR500+NkAwIEIIeq+ap6vuNYkYnJjjONnC v4HRFc4+BpjKcXXFtQuefhEL9SpNUqBGPdGBnMXCKJzos+hUwgtOxk7R1OjzCGIKlUUq MhLIbXz9cCfMsmQyv95NOkRFNw1Os9hpf/xJchABDU6RYJyOqTnu0oztVCk5T9yBsaQB XVoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=uX5gBlJVnUc9rUPyZObfmNLI8aRWAhAMQVbBfuukxxU=; b=b0Dp/YUO0rjIX1VsMs5XJ0n5r6qPEXLelLUPtuXzrTXE9CTBFrb3cOINMe/OIlInbN kLCaG08jOtart9tAu9pTNrUQFvGizJX2DZwTGUpNa4uyE3y+w6ITEbJoNDVpPq+d4lA7 uEsEOtYDYT9GMt/pFbE5qH9+E9gqcPmCURRZ221INssSasfgVhKRtT813eomXqXlQtWI vmnpb9NvygE4tAQKyhL6pvPLtnRi7p5bwhBKay+jCya8lm0wnzYhQkb4g7NQ0Sa8nAZI +5XscajgnaouZLtK+UAphT5uD9yWrXurIR1dNGBWM+s/OlnwqcDgkMFrnzs9yHHv1BGF pwjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kjBdjffe; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id n9-20020a05622a040900b002f1f581e749si1303976qtx.757.2022.04.17.12.16.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:16:57 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kjBdjffe; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:35638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAOG-0008S4-Ng for patch@linaro.org; Sun, 17 Apr 2022 15:16:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57574) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fl-0000Wo-Uk for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:58 -0400 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]:45842) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fe-0001qf-Dp for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:53 -0400 Received: by mail-pj1-x1034.google.com with SMTP id n33-20020a17090a5aa400b001d28f5ee3f9so785862pji.4 for ; Sun, 17 Apr 2022 11:30:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uX5gBlJVnUc9rUPyZObfmNLI8aRWAhAMQVbBfuukxxU=; b=kjBdjffehRSDbqZ7Er/6YIOjQ/TS/DpGTELMmGv347wvKJepDjhmtWbU+PQwshtO1U vMgaE3C7GRw7vwUUcjxM9ALEDBELBqE3KLxEDLNoUbw6BC42zh1uutXPbpv4KmE58Wfg 1i0aoWdWyvcLbZhL0DEwYtE0b/cO31X0Z2362VeKC6pILnfU+yFkQofYk4HApq5IbHCx oDJYb0lVPJSQDwvbdTCG2Mlt33aU55mPdpQ9E6XmFMtr3+qBQW+EnSHCMfGkzMHZMCXX aV7FlqqjN233AsziGJt0Dfjl30bjYamwxEC+FRGSrwqo3GOJ7nkofFrQdpaZ5eOOlEmK aGBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uX5gBlJVnUc9rUPyZObfmNLI8aRWAhAMQVbBfuukxxU=; b=WRiFjJNpW9OE3b6lbMzq5wEz3rvNsWSUJEicC3rwA3XGnP99nwZm3dZzzfTbV3AVj8 F5gKk6vahCzp/OM8h4iwTzGZRxSFkz2oUH6yCfLyUKtfUETy1tDZBwhZvbxnKtZe1ZOt X4lZbbo77gmCLQ2zpO2ug0dSz619DK8nJkdUso9fHFLhZWEueDzj7+eGe6nxQoVSd9S/ g4kpn5gzePNHiAfhYE70WeFawMkJZVURBO/3dwq8M0sU2Q8DEknFtR7M/+k/VIBeRHzW SkF9QUq54tRhpBr8LIAYyP0ULVBMrFYBQoXTkWltOcqrFktpl3zkkgmZKJ+pMKT+UJ/y uF7g== X-Gm-Message-State: AOAM530DCOfRofQtk/0aU3i6bEO+tLIy9WqtRPEJ6FXfA3BcCjv0PAFg qFdpp8ldcg0zFOrJlkMGTcRQ5LhRrHeoyQ== X-Received: by 2002:a17:902:9308:b0:158:da34:ab55 with SMTP id bc8-20020a170902930800b00158da34ab55mr7880368plb.84.1650220247395; Sun, 17 Apr 2022 11:30:47 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 32/39] util/log: Rename logfilename to global_filename Date: Sun, 17 Apr 2022 11:30:12 -0700 Message-Id: <20220417183019.755276-33-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1034; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1034.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Rename to emphasize this is the file-scope global variable. Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- util/log.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/util/log.c b/util/log.c index 491a8f97f9..b3f79deb6c 100644 --- a/util/log.c +++ b/util/log.c @@ -34,7 +34,7 @@ typedef struct QemuLogFile { FILE *fd; } QemuLogFile; -static char *logfilename; +static char *global_filename; static QemuMutex qemu_logfile_mutex; static QemuLogFile *qemu_logfile; int qemu_loglevel; @@ -151,8 +151,8 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, } } - g_free(logfilename); - logfilename = newname; + g_free(global_filename); + global_filename = newname; filename = newname; if (logfile) { @@ -161,7 +161,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, logfile = NULL; } } else { - filename = logfilename; + filename = global_filename; } #ifdef CONFIG_TRACE_LOG @@ -173,9 +173,8 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, * In all cases we only log if qemu_loglevel is set. * Also: * If not daemonized we will always log either to stderr - * or to a file (if there is a logfilename). - * If we are daemonized, - * we will only log if there is a logfilename. + * or to a file (if there is a filename). + * If we are daemonized, we will only log if there is a filename. */ need_to_open_file = log_flags && (!is_daemonized() || filename); From patchwork Sun Apr 17 18:30:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562908 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1892187map; Sun, 17 Apr 2022 12:17:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz3Kul3dBWIxDl7gPwjQQD0gIKEMhMyLCqNp13cfzHpqDR0xzGfogznY+TC057As8/76W/6 X-Received: by 2002:ad4:5d49:0:b0:444:4dda:9ac1 with SMTP id jk9-20020ad45d49000000b004444dda9ac1mr5559716qvb.108.1650223064212; Sun, 17 Apr 2022 12:17:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223064; cv=none; d=google.com; s=arc-20160816; b=G+i2jbLwpHP3Zeq1vS06bw87j1jcXwESRRhNwwIq1w6+0gYvOKC0xPo01RUyxmXvnS sJWl0tyfD9T3HcQ9iSTOFOLSDIRcLLmzfhylNG5+aF+ZLoQhgEkWZC1w7lZnyBbrkbSt aCoJ7prJYKN3EaZEuIJGuUq3CiFBecvVFJNVbyzmBB3+VhKBk4FzhKODqsmzdq4bUXil iI5v0E965p7WS1KZzWrHeT8aXfWs7gzGx4CwkDHXgs/Xa4nb/o3ym3wvqzNvWo7lnGa8 IeehP10rFxCnMJ+wKyVAPrSBH0GYgcJPjSLo9pcLHeR/IiLIpnlQaJjEyew4VjGRlbCN vQiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=h+yT2/MjJCx26TDMAi2TGagAsn9gW0LsB4wUZWDRCJ8=; b=AbTyj5hVEdZs2gERWW83Y1kWhDlTcB6j+s6UJkSCekVF0v8lUjzx6M3x35/ReGhHnp bN1dSYBfZ+ipW/nP2C7R8o4aMpKMDVmFEKwOmiqI+K/A709/gP/Z5eAEeLblRkrtGWNK jZdwqdhUyMr1nFb9SA/Ov60fQRGL58an4YO3WDd8EePPoMlKv/urLdpXIQkOmG8AcNp7 RB7bhvvGeWPyZUsk9C2VxfdnI/bvH1Pox3rWQXFH0638jB3rp81PqLj8hz8ldM+GMA+g HFy+kZZ9K4m5qmbGjtL0Z5NsupNRtqYIhAO11zouWZLiLk/HNK55vVs7UmUERI5YY7jK YG6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=wHU1PjLD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id s8-20020a05620a030800b0067e4be23a9fsi2174752qkm.740.2022.04.17.12.17.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:17:44 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=wHU1PjLD; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:37342 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAP1-0001DM-Px for patch@linaro.org; Sun, 17 Apr 2022 15:17:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57648) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fo-0000XN-2w for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:39773) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9ff-0001qn-Nw for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:59 -0400 Received: by mail-pl1-x631.google.com with SMTP id c12so10789470plr.6 for ; Sun, 17 Apr 2022 11:30:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=h+yT2/MjJCx26TDMAi2TGagAsn9gW0LsB4wUZWDRCJ8=; b=wHU1PjLD1DhdFFl69F5s2tyEnphs18Fro4Upu9f1KjGLZZDsEMrruXrin2IcGdC0TS 2erYlrYworgh22O3+F1I+Nv3lQhkDgTrgQCFgVRGfbwlk9eBuDW0ga86hxGrIKLfXKUo PhDInksv4HIWI/596UFuEnNWhqB1KAt9ozrbqcsOQgoTNBvCZWqR5zzs//HAc8OdQ7hC E4t40rIy9Jz071wgWsbK450awj1HBlI+plzbKfiJxg7cb7Eg+llzHttxMShwvz5UQg4a UgtW8U1od7TEho0EFtpKvcfpDaOn/mfxyh4qVH24K1dgfzPvf4QNu1l6WKhTxb9l9BWa vqPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h+yT2/MjJCx26TDMAi2TGagAsn9gW0LsB4wUZWDRCJ8=; b=4tlF+Ntp1Rvy2tJim8Pfb2ntQ0Y/ie7Fr6lIUle+dfh5g3YD+lHIHf5dB6z++j35zn JdHXb9ggpUarC++kytvWt6azQ15ZYzQJ+h/aDuEccxzI/d+tMN+54jVWtB+XDWDm5x4w AESjM8uJSzr0H10SixzaWtLHJmpDWanwvrXNiT/gKA+x+Wj71DUuQa5agTqyqh/eZ8uY KM29xNm78Iujv76ouVI2eXOUqqxlGw4GxdPPC6WTzRiIk9sE3cSGTQ/QRhLLZ2zPmxwR 7ORV/CsvBRKSdrMNGX68p25QdKD/hoK6Liw0KuKJjc2lj2XThOeeLEcZmVU769rWweOQ p3pQ== X-Gm-Message-State: AOAM530a//ZbCZqYZMgDsogNw+0MKUaHg7D7ftXMNyZYg2Mlv5PDxQkn jJO/+oH3tWD7QHjDuqnpRUsid5rghtiSRA== X-Received: by 2002:a17:90b:4f4e:b0:1cd:49fa:911d with SMTP id pj14-20020a17090b4f4e00b001cd49fa911dmr9140774pjb.26.1650220248082; Sun, 17 Apr 2022 11:30:48 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 33/39] util/log: Rename qemu_logfile to global_file Date: Sun, 17 Apr 2022 11:30:13 -0700 Message-Id: <20220417183019.755276-34-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::631; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Rename to emphasize this is the file-scope global variable. Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- util/log.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/util/log.c b/util/log.c index b3f79deb6c..425f0064b0 100644 --- a/util/log.c +++ b/util/log.c @@ -36,7 +36,7 @@ typedef struct QemuLogFile { static char *global_filename; static QemuMutex qemu_logfile_mutex; -static QemuLogFile *qemu_logfile; +static QemuLogFile *global_file; int qemu_loglevel; static int log_append = 0; static GArray *debug_regions; @@ -44,7 +44,7 @@ static GArray *debug_regions; /* Returns true if qemu_log() will really write somewhere. */ bool qemu_log_enabled(void) { - return qemu_logfile != NULL; + return global_file != NULL; } /* Returns true if qemu_log() will write somewhere other than stderr. */ @@ -54,7 +54,7 @@ bool qemu_log_separate(void) bool res = false; rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); + logfile = qatomic_rcu_read(&global_file); if (logfile && logfile->fd != stderr) { res = true; } @@ -69,7 +69,7 @@ FILE *qemu_log_trylock(void) QemuLogFile *logfile; rcu_read_lock(); - logfile = qatomic_rcu_read(&qemu_logfile); + logfile = qatomic_rcu_read(&global_file); if (logfile) { qemu_flockfile(logfile->fd); return logfile->fd; @@ -124,7 +124,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, QemuLogFile *logfile; QEMU_LOCK_GUARD(&qemu_logfile_mutex); - logfile = qemu_logfile; + logfile = global_file; if (changed_name) { char *newname = NULL; @@ -156,7 +156,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, filename = newname; if (logfile) { - qatomic_rcu_set(&qemu_logfile, NULL); + qatomic_rcu_set(&global_file, NULL); call_rcu(logfile, qemu_logfile_free, rcu); logfile = NULL; } @@ -179,7 +179,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, need_to_open_file = log_flags && (!is_daemonized() || filename); if (logfile && !need_to_open_file) { - qatomic_rcu_set(&qemu_logfile, NULL); + qatomic_rcu_set(&global_file, NULL); call_rcu(logfile, qemu_logfile_free, rcu); return true; } @@ -210,7 +210,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, logfile = g_new0(QemuLogFile, 1); logfile->fd = fd; - qatomic_rcu_set(&qemu_logfile, logfile); + qatomic_rcu_set(&global_file, logfile); } return true; } From patchwork Sun Apr 17 18:30:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562905 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1891519map; Sun, 17 Apr 2022 12:15:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwz39vkGsNBVM8PuAgJIyTISdoHTT63QBCu+yhB+dDjdp6rNWH4wkwoYgSvCVVTmY1MJ3WP X-Received: by 2002:a05:6214:5194:b0:446:3814:835f with SMTP id kl20-20020a056214519400b004463814835fmr5765347qvb.6.1650222957328; Sun, 17 Apr 2022 12:15:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222957; cv=none; d=google.com; s=arc-20160816; b=ZEtUPorslpNhV+h2UwSPaGvQmc5t6vV5iz4w4ux1u607GWVkQnJdDXj/JvNLJdRt0u Vc37zlPAcMic2W3+D8qBtRDou5rCaB8RxGvKpXc5NyYp9evRuG6AH++hH8p09ZF394mD oNW4dpqc4gFdsjtBLLTi/YbfaTHjIv6p6lRyQtI9A4/HacqZKmxCeApYvUYXDODY8nuo wcYmtSzF9bUwFzWtBjs7gMe4wrBIerX6O6aX4k0MJTxwvxDO3idHtRbk7fBGu8pGeip/ TIhsaG4N2+4IILFxgDEf75MBAaf1zqDxtnGBXHe7SPZFlGrzblWQvi/Hz1AzSE6j0gz6 f5ZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=8g8xUltHBVQUHV98Q/wu8AvtaiRfGRVKXLPd8aD+jcM=; b=FrdN/olA9TJga2EZqqU67exc910bMccSrMBvRhJBuSSne5XVLRopZvZgT5G8Qyl5+z EgmBOWEU+4UNAHREhReO3HQ9sdz050Qt6x7j/mj19AwIhPgUxXVurTAWPN6yj6DeXJsN qeNjRzu/k79hWL5odJua+LWSs4IL3gDYCZdOBVoXrf4cySti/yeSRm4KJHDGXC6bB4Vi pvGkAnYSyLq9eQu9W5IQDxp0C0gsEiw7BNhTzFs3wnjUYyCghxShZdpzhY35z8tT/gNJ V4TccUnSV3N8SYDx4f+k3G8bF8e/PQ8TW13yds4UXKoGp2WJJADRlkrJaSFLbQUrreit Y1SA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ihyVe4PP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id t1-20020a05621421a100b004444b688d5dsi2392901qvc.173.2022.04.17.12.15.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:15:57 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ihyVe4PP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:58882 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngANI-00055h-T8 for patch@linaro.org; Sun, 17 Apr 2022 15:15:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fo-0000XO-4n for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]:35759) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fl-0001qr-87 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:59 -0400 Received: by mail-pg1-x52f.google.com with SMTP id k62so9002601pgd.2 for ; Sun, 17 Apr 2022 11:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8g8xUltHBVQUHV98Q/wu8AvtaiRfGRVKXLPd8aD+jcM=; b=ihyVe4PP/zrSSRSjQVdvBHE8vf/Jw6bMHL6TgU+Z8aSMaUoO3TCyZkaCWHN9K7ME1P nS6N0eNSFfuZbi8jGv49y20heY3is0oESEv7ujw9Nhr2FIJmVOFV0usWHu4tac2pA5Fz kX7yfzzcT26uDKMYDtXJBWWnIYOhQ8PuKZmRWbeCe7EF1lyu0kqg5TkMgisEUgD/81dC HUTYF62Yk/E4yIut5VZzLUH6NYZoDwHcYc5a+eoN1RvBL1UPGJwm2dzsvW+DmV1wNoB4 Dzfjmdm6h/E55gc02GSCHTxt8GCPmYxYEgCVXg0CwWqFC09ocGu0DmOc2CE/Aj/LCtMl RDSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8g8xUltHBVQUHV98Q/wu8AvtaiRfGRVKXLPd8aD+jcM=; b=E4+JzaPIgiuyk5pUc7IHpxK4wkZuvZczQwsLa6FuiuYF5TUp2IgX9iNnaNZXoMn8Qz Ms+XEnxi8EM5xRUFA4B/t6Hz3ehxB0tfWNxP4x9BzYb/P8Eh4upXyh4igfuXSfwqhJX+ KQElM/khf3djWvVpgEY986KFBWwSEHXoJly7W/HAu8vmtDf71/b7KwtABg0j7tjsB2oB Zaa4DCCDtuiSA4XvAPmYyVC9UJbj3FA2b674kQXfpaOzdJpHk0s0MU09pykkEdEE3rKU +Xv9HBmUGjUTYr0J96cFbD+oiKQi62f5d6gIXKpx7tSV/svBppkxHV3ijVLFYtAUXBPf cK5A== X-Gm-Message-State: AOAM5310DVcWATmxNJVZijrqGiyD7MbyLeOJ6Zs3JjKOcWIyppDPhe2Q Q+5JazuM2kbmP7uPXJpcVy65STUPfOJT9g== X-Received: by 2002:a63:4c52:0:b0:398:db25:d2b8 with SMTP id m18-20020a634c52000000b00398db25d2b8mr7470619pgl.432.1650220248965; Sun, 17 Apr 2022 11:30:48 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:48 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 34/39] util/log: Rename qemu_logfile_mutex to global_mutex Date: Sun, 17 Apr 2022 11:30:14 -0700 Message-Id: <20220417183019.755276-35-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::52f; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Rename to emphasize this covers the file-scope global variables. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- util/log.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/util/log.c b/util/log.c index 425f0064b0..bb201664ac 100644 --- a/util/log.c +++ b/util/log.c @@ -34,9 +34,11 @@ typedef struct QemuLogFile { FILE *fd; } QemuLogFile; +/* Mutex covering the other global_* variables. */ +static QemuMutex global_mutex; static char *global_filename; -static QemuMutex qemu_logfile_mutex; static QemuLogFile *global_file; + int qemu_loglevel; static int log_append = 0; static GArray *debug_regions; @@ -101,9 +103,9 @@ void qemu_log(const char *fmt, ...) } } -static void __attribute__((__constructor__)) qemu_logfile_init(void) +static void __attribute__((__constructor__)) startup(void) { - qemu_mutex_init(&qemu_logfile_mutex); + qemu_mutex_init(&global_mutex); } static void qemu_logfile_free(QemuLogFile *logfile) @@ -123,7 +125,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, bool need_to_open_file; QemuLogFile *logfile; - QEMU_LOCK_GUARD(&qemu_logfile_mutex); + QEMU_LOCK_GUARD(&global_mutex); logfile = global_file; if (changed_name) { From patchwork Sun Apr 17 18:30:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562901 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1890184map; Sun, 17 Apr 2022 12:12:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwG+UZowU4pDOaHcVbOQKrVl3LPp85yybdsUYBvNCbWQxwz5hDl5RPRvp6NW71xFNnBKV/E X-Received: by 2002:a37:9503:0:b0:69c:48e2:537d with SMTP id x3-20020a379503000000b0069c48e2537dmr4816556qkd.746.1650222728001; Sun, 17 Apr 2022 12:12:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650222727; cv=none; d=google.com; s=arc-20160816; b=TYfz10DAXkN5UVAR/IfkWL49MPCHZmKJwu9BgH6MzwveYN7RRcA31EaDOGwqHpvzJu rVQFeoiLm6qG5uIdCBuA+naZLsVFt00QGPZK7Wa1St6gM0dWTSheV1J5LvB3mLST/nZm VvHAFvLAAmyw8HMRHGKS+f3/q4pQJzzlS4TRuLZQnEFD7NBoq5UxOszBGCcbOon2DmWK PnzGYTxo+72ImahvhFvnh0TiJYnmePNeDlJ3RcjYFvTBBsfbe58iWKXxKhiWDVYvLKRU kkf0pLXV20c07b6mBZXMldcakiqZ3cHjMfN+c/Zh/UfcNwFlSUDv3hQNSaS2IBJO58Zn GtFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=K6kWjTcY58iKATI6rD2DZBTFfVyFhkk5JFKA13ecjWE=; b=bNV4i3+j1X0m3hmEQok8MEGZBDaNu8/8NoAs6ASXT17r550BcUDkcG7eyuN/bBCKP1 tTWgErTD/MeQz+qDJCN5DEm4tXCAA+Shf40/znOA3v8uYuZ32QN8ffJeCp35bolSDk0d h0kwwT1M6JjR5J3v3mGLA1hSLdkzOWpyCh2RjBrrxfVmcL9ycYjX/PUIHKnE9rZczj9R jCyDXv4BgGzLVbwGqyJpX+qEQJGnpSQSWBkNSxMRvaPsaPVruZjyPhUzJJiLDHNBdFIR COKuIzwnkH5qnqFHSXeDpuQm9mHm+R+npJjPNn23BtkYWoOgBLm5TByzIMuifowR8jUP kBSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="bQWpD/JS"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ay18-20020a05620a179200b0069c0ed6ad7bsi2398128qkb.153.2022.04.17.12.12.07 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:12:07 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="bQWpD/JS"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:50354 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAJb-0007kB-Kq for patch@linaro.org; Sun, 17 Apr 2022 15:12:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fm-0000XL-Rs for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: from mail-pg1-x531.google.com ([2607:f8b0:4864:20::531]:40615) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9ff-0001r2-OT for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:58 -0400 Received: by mail-pg1-x531.google.com with SMTP id h5so15063595pgc.7 for ; Sun, 17 Apr 2022 11:30:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=K6kWjTcY58iKATI6rD2DZBTFfVyFhkk5JFKA13ecjWE=; b=bQWpD/JSIfvzlU0ahsv+s72X0exoEegNg6srMbKDLbkHxIx7OX5yHysofy3oNuqE3W DiuBorSYyPSPb2DOlzI42aKWmADNhhDIEKpFIlvRxVCvFODQbgDJec9HltFu1gzBmdX7 gS/ndnySRs23cf3VqIZzdyRDRKTTY4sZmV1oHz0A2MGNwG25gswe5omBjBI22eHiBq4Z CodjOp4Qni38GPolAIM5Xue20iJRoZlW8quKLB+J81/uS601ErK2nxl13noucjkyp8F+ ZjOeRqyDPFCvU3xZc+I5biP+Eb9g6XOtMru49TZKMiQG8E+RuzX73+T8xGFwExQ+VYLo ZK0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=K6kWjTcY58iKATI6rD2DZBTFfVyFhkk5JFKA13ecjWE=; b=ylv/Lu048OQWuQQrdtUsWrslpXr6Ja7OjLLJ5nQYHZASKlm9UeZ3YlFJ4ZgiLBpN8V 5rLWpyMBXZRq31rD9RJpwSh+lKgG7uiMwFfWESpXT1YNeF0qYjanLPjMHHjDqkrUR7SP j83froatAzdihyuDwK28mh8BOgV5jTcBW+GecOK9WzmSOnNFrlhW119JMipJmE/h4Y6B 58lWw8gxxbUhhAkQaP5ZIhh4Y+PRo7icQNYp2iDnpgs2y9S33w9bcH6TNHTlQr2gYwKI 2zJ2azEbJtQcxELA4em9WgypGEqJxIS4UTA4l6MKF/GPRbNmaU+xVY1IQn0uCuSaxuUs g5Cw== X-Gm-Message-State: AOAM532jidWnDA2aC0Eks4lqh45HNOGuuAew820WGwlhqeETIbpnYxYN gH0pG30FfciFs4GnWEFNl6NkA+w4YXbNWQ== X-Received: by 2002:a63:f452:0:b0:382:7af1:6ad6 with SMTP id p18-20020a63f452000000b003827af16ad6mr7074010pgk.500.1650220249792; Sun, 17 Apr 2022 11:30:49 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 35/39] util/log: Hoist the eval of is_daemonized in qemu_set_log_internal Date: Sun, 17 Apr 2022 11:30:15 -0700 Message-Id: <20220417183019.755276-36-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::531; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x531.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Only call is_daemonized once. We require the result on all paths after this point. Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- util/log.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/util/log.c b/util/log.c index bb201664ac..631856e231 100644 --- a/util/log.c +++ b/util/log.c @@ -123,6 +123,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, int log_flags, Error **errp) { bool need_to_open_file; + bool daemonized; QemuLogFile *logfile; QEMU_LOCK_GUARD(&global_mutex); @@ -178,7 +179,8 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, * or to a file (if there is a filename). * If we are daemonized, we will only log if there is a filename. */ - need_to_open_file = log_flags && (!is_daemonized() || filename); + daemonized = is_daemonized(); + need_to_open_file = log_flags && (!daemonized || filename); if (logfile && !need_to_open_file) { qatomic_rcu_set(&global_file, NULL); @@ -196,7 +198,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, return false; } /* In case we are a daemon redirect stderr to logfile */ - if (is_daemonized()) { + if (daemonized) { dup2(fileno(fd), STDERR_FILENO); fclose(fd); /* This will skip closing logfile in qemu_logfile_free. */ @@ -204,7 +206,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, } } else { /* Default to stderr if no log file specified */ - assert(!is_daemonized()); + assert(!daemonized); fd = stderr; } From patchwork Sun Apr 17 18:30:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562912 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1894617map; Sun, 17 Apr 2022 12:24:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxB9WXiFUDv5kWNWmWU1uF6AhsATHlu4zGIL4r73cfuFBkqH36bn/I9NxJA8SQ5dMb+a5+C X-Received: by 2002:a05:620a:318c:b0:69e:8ace:af08 with SMTP id bi12-20020a05620a318c00b0069e8aceaf08mr2086402qkb.702.1650223458510; Sun, 17 Apr 2022 12:24:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223458; cv=none; d=google.com; s=arc-20160816; b=pWhsG7KCfy00ViBbngSpunpDJ/Scb2UhQbuvUKe1pHIZzW7LFBWghhJNJZrBFekRQa vmmjAlKp9SjxErPgOTi5VkCicMLYo89pMgQ8hleZ3i6wl0zH0S5uQkr2n8vx2bPq9Bpj a5mj5wp0gCx+ul9aSwVcD2bRBoTaiUa6pJTM0L9n4Pkr59SIg5FODpmNarcCMCO1Lkn8 j571b5pew5QiYJ8uALIyVLDJgFLp57NYMEG896CHRbXNTXYaxKlXrlVBXYGbYScd3rrX 33aqi8ddcCQuYFLULouGyJZHGERvPoU+vuASpVolPyP7fpPNjZwIgZGOmY+XmwwlKRuU ktyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=2csG3iv3TxQYzdj7Y6DVif/Sz3vBEyR+Zq5Uwd63c30=; b=fL5+nlKrfPtM+WVH6Vo5I0BfYyeHOf2jeUJwPZtI2H+rtzBbrDduvavD+NGglLnrZQ IKFDmARg5xHb+tfGAAu1doCb9wiqOux8c3P0hZjN+x62ZdLvQOiMPcIlWRS+wW9ikcuL zjxa/8G4ZQN5saU38BcK+xY4Ax0w+ihhM763hbA9WDG9run/IJniPcQIBmecSttCkctW vKWukwmxFYHv1K1uLy6fyS1/7KqCzkqHYRumXvunIkhZaXHc6zaeFd0iq1suu70uTiL5 7KJ1pPqYXUjQVbtXXJIN7ETx7ceAAzwa43H+9u0OvO2/nEebUrdntxrTX0+MBJMfVNXc QdbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AbtO+WAt; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id u21-20020a05622a011500b002f1f1c04640si2033929qtw.715.2022.04.17.12.24.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:24:18 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AbtO+WAt; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:54482 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAVO-0004Im-1S for patch@linaro.org; Sun, 17 Apr 2022 15:24:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57652) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fo-0000XR-9s for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]:36392) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fl-0001rE-8d for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:30:59 -0400 Received: by mail-pj1-x102c.google.com with SMTP id o5-20020a17090ad20500b001ca8a1dc47aso15590480pju.1 for ; Sun, 17 Apr 2022 11:30:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2csG3iv3TxQYzdj7Y6DVif/Sz3vBEyR+Zq5Uwd63c30=; b=AbtO+WAtorxlRfrpXZNSQkR05yR19iKi/JjzAeMdNujswmATyORAYLAEQrWzcP+ent g7xuxaCZZp7l5VmAggDjPqzimPN4GCCFJteUcP/c+DEoTGC/t5v+Rpp0Z/bzw0reNyPN t756333g0EVhl3nCA+6s7mE24wHJ4h4ibdfuZE/qsGuXVfBtTUsyVah0QQhgTBSjsiF4 bUic5hsYzkjv6pep4aPtljUqF5OrHWvdPrI98nlKF7e+lm9ZXd08pDV8/7sSb2cBzx/o IA+MegiiXqc3chcmC59vAHdLUgYXnmY3IVmFsmyHRdjsLQytYVdB+kKokx7vHLHCIsiG QBiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=2csG3iv3TxQYzdj7Y6DVif/Sz3vBEyR+Zq5Uwd63c30=; b=qM6v8wJ1LymilnOnHePzD4QIJtvq+ax549SdXSyl5RqmGMAnYajQ1kPYcX/d+JQu17 ho9N5syw+C9PHgm9ujtJczJ1axa2k96obkJWmD+o3wD8/3dYEZkkb2zda9PBMdvhuPe1 NfTjo+1yBXeVKQXor2NEftqPb4jRsAn2AyySaijJaEbSPIIVyBNnGKh9mkxCTFHqiFeF mJGoYFQhWGLaGJksnp710qxkRw5Cg5/guVNvaniTPUMauUK4pqTdJ/epo0kDd8mxu/kK UZgw7JbCOzIEMlI+CYonyANoTHMzHHvilWyd9Y79Yp1GdQDnMjYjAi3eyPPC/uXE3NJf /xqg== X-Gm-Message-State: AOAM5303o6rRHJuhrt3uixd2+9uIqHWp2ullME5tyR7AXCdfytSBr0yL EWTOWQRkxKrleuabNApl3VsMY/VSVZkyuA== X-Received: by 2002:a17:90b:4b89:b0:1c8:105a:2262 with SMTP id lr9-20020a17090b4b8900b001c8105a2262mr9158749pjb.225.1650220250642; Sun, 17 Apr 2022 11:30:50 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 36/39] util/log: Combine two logfile closes Date: Sun, 17 Apr 2022 11:30:16 -0700 Message-Id: <20220417183019.755276-37-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102c; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Merge the close from the changed_name block with the close from the !need_to_open_file block. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- util/log.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/util/log.c b/util/log.c index 631856e231..21da961d8d 100644 --- a/util/log.c +++ b/util/log.c @@ -157,12 +157,6 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, g_free(global_filename); global_filename = newname; filename = newname; - - if (logfile) { - qatomic_rcu_set(&global_file, NULL); - call_rcu(logfile, qemu_logfile_free, rcu); - logfile = NULL; - } } else { filename = global_filename; } @@ -182,11 +176,12 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, daemonized = is_daemonized(); need_to_open_file = log_flags && (!daemonized || filename); - if (logfile && !need_to_open_file) { + if (logfile && (!need_to_open_file || changed_name)) { qatomic_rcu_set(&global_file, NULL); call_rcu(logfile, qemu_logfile_free, rcu); - return true; + logfile = NULL; } + if (!logfile && need_to_open_file) { FILE *fd; From patchwork Sun Apr 17 18:30:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562913 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1896023map; Sun, 17 Apr 2022 12:28:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLCQmvM/Mpb50yrw8G+iu3oIU442MkXcMa5Sj7Gs9ib8y7jBA/qos5Jq+pG9u1hWTpWi81 X-Received: by 2002:a05:622a:1052:b0:2f1:f7d4:9bbf with SMTP id f18-20020a05622a105200b002f1f7d49bbfmr3769784qte.332.1650223704665; Sun, 17 Apr 2022 12:28:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223704; cv=none; d=google.com; s=arc-20160816; b=lUBLMm1mfndzh6xRClHc/CRDjj8mAZ4ik12EL91Q8ZpZSRztpAxCyUDUnJOXK2sCAB 7uuNtrfove7MFKXQmA4S6GBHvmuc0evntMYLO9MxKjsSb/c4kaP+ygw4onOCRDtA2Kw4 zUU8KfKWmr8TEEOMrMhsAMM80utPj0BZX7n0V1a9bIvuHDuYTMDmmUoBLLV61+34zJil 3MPue0l1TX8pnv1KqeNedsjps0cW7HURhuEXgckqCCT+lNkgxR8Uxpp3ldaMMLkZSLb2 95qV4h0VgLvjlpPnWEljF+J5BQKGYRKZraVR5ya8FeoilWbrU0U/fgkt/AgGZf4m8caM vcrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=Fn+CbJP06y71kazZpVgJUGNoM8u0gdfQl47vBhG5p2I=; b=AFOUjxvfAf+WVNtprktE1pmp2+pIlClqqUhuUjHCVvx5MLpnmHb0mo2jsxQKw+AqNW CgfJTOHx8NM/UV9IEy0f/FoqKwRxFQdjac1me3qCVLRGL89Z3fK5u8QiaRzR/RNsz2pn d8ESTtdEP5jvQTfovB2YoU98nSL0U4byrjgizDujWmWD5PvyDXQ5JAt/fGtCncgq7Glb iVPpH7NeFwVUpxs+HFVERw5iSD+rbBnknXedU52XmB0J1OcSLCu7ZvbnABEyrfjAxqIi ffh7Y/FLV8vuLTkXLehSvNfFfa4G62pmIDCO6jcuM0kzDqc/qLVUGqKz7sTs5HH37Gr4 laOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AGUI7rN0; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id h20-20020ac87d54000000b002f1f7c5df8asi1175092qtb.444.2022.04.17.12.28.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:28:24 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AGUI7rN0; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:34314 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAZM-0001O3-7K for patch@linaro.org; Sun, 17 Apr 2022 15:28:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57656) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fo-0000Yn-K7 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]:35660) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fl-0001ri-Mk for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: by mail-pl1-x62b.google.com with SMTP id b7so1134851plh.2 for ; Sun, 17 Apr 2022 11:30:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Fn+CbJP06y71kazZpVgJUGNoM8u0gdfQl47vBhG5p2I=; b=AGUI7rN0DEVkKQlb73Cih/fwlNin2ZEIoAIDq8fKMX/PdUbBk+ip7eWnUCpJEqoagf NuFj4Z0Mc5RNVUyLHhOLg93aR/M/JQ1HC9mJ/bZ1fHuUYqHyJM+inPS85h/g41TbZO6M hV7yn1qKHJ917ogBtsang5nusQwGHkjtkGd2X8HaoZQfd+7UWuPaRkh5yFcInRgXnJBm 46FAICzEnUTILhECAkyjBxOAWEC0W8GsRggSLzWOtJy0XFkGBtYugsLdC5q2LXqBH6Tc iy6mxBfw7kCczzPKrsJ2jQYiMj6aBWf6F+hiojtfm7dz73RDYrFiyY7Y9OMUqvRfg9np 4EDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Fn+CbJP06y71kazZpVgJUGNoM8u0gdfQl47vBhG5p2I=; b=TK6P1macM/ydlXVEfrBnt6xNtypOv/n7fJmofa3+Q6SAI//ecwjYhOXQ6Fv45Mkgx2 PTI4qPA3yZB4fEJyU4NngiVIoPIhfbrNpCtnf8ZqMsLSHSw3qYTcXmpk6gf/2//m+dWW 5+fB9kHYdxZWAan8EOGAT77Ep1tR3PS3M4VzXmPOABUnhy1q0mgDGqv7hugh3NnIYleW uMTNFGF1xJzlCxp2t6BDI6yCPsBp9DplQNn6Xc/LJQ1wlo7jA6eHrHb8JGZ7gpWjPEQA 3B0D5FFz0JaCOybJL+A4qP4i9D0HbW5Eae+yTsfkET199FLCfY2AZkoNv/nFAfxbh185 oYkA== X-Gm-Message-State: AOAM531cEfwdfUQb5R/mL2oejd+xsrpzZvb5/PoWKwKXZILnHC4DB11T DjILXk2Do022pXUhKCGzXCvaNQFZsKjrmg== X-Received: by 2002:a17:90a:70cf:b0:1cb:a31e:a2c1 with SMTP id a15-20020a17090a70cf00b001cba31ea2c1mr14774177pjm.94.1650220251657; Sun, 17 Apr 2022 11:30:51 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:51 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 37/39] util/log: Rename QemuLogFile to RCUCloseFILE Date: Sun, 17 Apr 2022 11:30:17 -0700 Message-Id: <20220417183019.755276-38-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" s/QemuLogFile/RCUCloseFILE/ s/qemu_logfile_free/rcu_close_file/ Emphasize that this is only a carrier for passing a pointer to call_rcu for closing, and not the real logfile. Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- util/log.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/util/log.c b/util/log.c index 21da961d8d..eb6e85b2f0 100644 --- a/util/log.c +++ b/util/log.c @@ -29,15 +29,15 @@ #include "qemu/rcu.h" -typedef struct QemuLogFile { +typedef struct RCUCloseFILE { struct rcu_head rcu; FILE *fd; -} QemuLogFile; +} RCUCloseFILE; /* Mutex covering the other global_* variables. */ static QemuMutex global_mutex; static char *global_filename; -static QemuLogFile *global_file; +static RCUCloseFILE *global_file; int qemu_loglevel; static int log_append = 0; @@ -52,7 +52,7 @@ bool qemu_log_enabled(void) /* Returns true if qemu_log() will write somewhere other than stderr. */ bool qemu_log_separate(void) { - QemuLogFile *logfile; + RCUCloseFILE *logfile; bool res = false; rcu_read_lock(); @@ -68,7 +68,7 @@ bool qemu_log_separate(void) FILE *qemu_log_trylock(void) { - QemuLogFile *logfile; + RCUCloseFILE *logfile; rcu_read_lock(); logfile = qatomic_rcu_read(&global_file); @@ -108,14 +108,12 @@ static void __attribute__((__constructor__)) startup(void) qemu_mutex_init(&global_mutex); } -static void qemu_logfile_free(QemuLogFile *logfile) +static void rcu_close_file(RCUCloseFILE *r) { - g_assert(logfile); - - if (logfile->fd != stderr) { - fclose(logfile->fd); + if (r->fd != stderr) { + fclose(r->fd); } - g_free(logfile); + g_free(r); } /* enable or disable low levels log */ @@ -124,7 +122,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, { bool need_to_open_file; bool daemonized; - QemuLogFile *logfile; + RCUCloseFILE *logfile; QEMU_LOCK_GUARD(&global_mutex); logfile = global_file; @@ -178,7 +176,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, if (logfile && (!need_to_open_file || changed_name)) { qatomic_rcu_set(&global_file, NULL); - call_rcu(logfile, qemu_logfile_free, rcu); + call_rcu(logfile, rcu_close_file, rcu); logfile = NULL; } @@ -196,7 +194,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, if (daemonized) { dup2(fileno(fd), STDERR_FILENO); fclose(fd); - /* This will skip closing logfile in qemu_logfile_free. */ + /* This will skip closing logfile in rcu_close_file. */ fd = stderr; } } else { @@ -207,7 +205,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, log_append = 1; - logfile = g_new0(QemuLogFile, 1); + logfile = g_new0(RCUCloseFILE, 1); logfile->fd = fd; qatomic_rcu_set(&global_file, logfile); } From patchwork Sun Apr 17 18:30:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562915 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1898030map; Sun, 17 Apr 2022 12:33:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwlU50MPnZxMYMenLrsMvd5pGvzLsafnMYLivXIx9KQUpUuOgtfQb94GFRQSjt65HzL7jkl X-Received: by 2002:a05:622a:1f94:b0:2ed:73af:109 with SMTP id cb20-20020a05622a1f9400b002ed73af0109mr5165730qtb.473.1650223985084; Sun, 17 Apr 2022 12:33:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223985; cv=none; d=google.com; s=arc-20160816; b=NTKl08UUX9zCkggiSUkZ875vTgunjqmCUP4rHV0XV82ua4eDc5diJ/MeN7FSOT0Q8c x+EQy8VOVBCjc17heMjO9R9iknvmOxu/8E7bWTCYkufVFKybxp1sTqKeXNdSL+4wYO7e QSvK16mgiSAJkyIamfqlFKMGf23VfX+hXdNy8yVRiFl8A4cWkgW49dOELW4vAHFvoDxQ Uoq0INXB5dEG9UVTuIF+XaOe7Xn0S8gEB+WqKOxOxOxqAoF+c3P1QWNzamBMxExI9DAk GN6st/ZCGsmAg1SfGj6UGO1UGS+tv/hbzwfpBxEAuPWYaMe/oG3iNYvZrMT+sqQBEDE1 fTPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=WkPO7O3SH+mqM1LpQF27rJkG3zYmP1ZHzvw0E2vUPQ8=; b=tTTD94ug6YmOQ7NeLlDsyZULv4dVQ3c5axQtUNu6nY5YNS5i6JeXwy04VcwMjdOFQg YLw4e8W0Z9Z6bO9zES6YOIu5VnqKJy2lmnftr0eHwLABjVdAJGam03yaTQxUwTgs+X/z sR3FSr4tGmfnNlWEP9qBM2EudmqAGuhA9MiZfV3fYNoUA6x+dkXQNo0NUp+8fX1MKCJl UIrpoW4JRcTzK9sZUc6Wdm5RgXrPlpFOcFFJlFbwDTxzyYEhpxdfuV5OpXr9h3tb5cPl /qiP9Nuq+PIOlKxzFfmsmZEJANvK1HaZ9ot8Cw0/eIx8TDNOZfGDkSIpcFrcUyNJ4qCA j0ug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hUsJBNRt; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id f15-20020ae9ea0f000000b0069e66f3542esi1740609qkg.642.2022.04.17.12.33.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:33:05 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hUsJBNRt; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:45812 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAds-0000wb-Ma for patch@linaro.org; Sun, 17 Apr 2022 15:33:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57666) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fp-0000ci-Ir for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:01 -0400 Received: from mail-pg1-x529.google.com ([2607:f8b0:4864:20::529]:43661) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fl-0001rq-O8 for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:01 -0400 Received: by mail-pg1-x529.google.com with SMTP id u2so15065244pgq.10 for ; Sun, 17 Apr 2022 11:30:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WkPO7O3SH+mqM1LpQF27rJkG3zYmP1ZHzvw0E2vUPQ8=; b=hUsJBNRtyg50OrA57COr3YWZiOp87mF7emQpbnL595olmO/cGg11++g7xbYeiNNCjo t+hOMqexUTF6bdhFbtYgv0inGhdHAdBo2tEW8pXFLU32OqXCKqWwgN1IG5LJH0HlmJss kLf9s2SBN6fnkQY96vPl1zeVB6NJszwCZ6o2t1M2sWOX4OZvpQNb6v2FxIZSThQu3l7h XIVlc7uCTvc0UwHPsgsoLqDy665miqxvq0Br5qKmbDsGB6LORChVijqjwRJhP1NF8sCo OdrQEMKB2KStZKLFF334U5ibaj999iZ0TEiH5vYJ6chhVMEk7Vcll+bc/pQMSc6YIU4O 30nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WkPO7O3SH+mqM1LpQF27rJkG3zYmP1ZHzvw0E2vUPQ8=; b=QMyQ2XB3huMPnAIvFyguuB/CheAAdhl9iGItZ30Nli43zWh/c6oC7LFqUirh7+vuLa ffQxonHfZbLooNFAGAHWABGhFAwCuxgmOpWyL8xHJXevTRW8HRJLMFpuWuIhM1de2t8B QoDjWiyeITzHM+bDqqkhCbuCf31+1j7jMDyLHFHWDSWLoPhR+tZeCwMYe7lT74H2Wth9 nQ6Fawti/yv6QqYgPizzKPVeox4xYmhF95hK5qud9539IHBlCs4abOVhUwM0Ehs/kLW+ X/E971FF7g1PWGo/uYrR/0AYZ7F6MmctlLQbxRL4xz6kiopo4ydftRcfy8NQGHAeJYXl uW7Q== X-Gm-Message-State: AOAM533U+pnZWQ379xGMfophsrqCCC6VNKMtXSK7r3sMkPziFY585/NS VX1PGojiYUFjEmctlOhBVqLn7LjbFDTe4g== X-Received: by 2002:a65:6956:0:b0:399:1f0e:6172 with SMTP id w22-20020a656956000000b003991f0e6172mr7146074pgq.286.1650220252559; Sun, 17 Apr 2022 11:30:52 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:52 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 38/39] util/log: Limit RCUCloseFILE to file closing Date: Sun, 17 Apr 2022 11:30:18 -0700 Message-Id: <20220417183019.755276-39-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::529; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x529.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Use FILE* for global_file. We can perform an rcu_read on that just as easily as RCUCloseFILE*. This simplifies a couple of places, where previously we required taking the rcu_read_lock simply to avoid racing to dereference RCUCloseFile->fd. Only allocate the RCUCloseFile prior to call_rcu. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- v2: Work around problem with qatomic_rcu_read vs struct _IO_FILE on musl. --- util/log.c | 68 +++++++++++++++++++++++++----------------------------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/util/log.c b/util/log.c index eb6e85b2f0..df0710720f 100644 --- a/util/log.c +++ b/util/log.c @@ -37,7 +37,7 @@ typedef struct RCUCloseFILE { /* Mutex covering the other global_* variables. */ static QemuMutex global_mutex; static char *global_filename; -static RCUCloseFILE *global_file; +static FILE *global_file; int qemu_loglevel; static int log_append = 0; @@ -46,46 +46,44 @@ static GArray *debug_regions; /* Returns true if qemu_log() will really write somewhere. */ bool qemu_log_enabled(void) { - return global_file != NULL; + return qatomic_read(&global_file) != NULL; } /* Returns true if qemu_log() will write somewhere other than stderr. */ bool qemu_log_separate(void) { - RCUCloseFILE *logfile; - bool res = false; - - rcu_read_lock(); - logfile = qatomic_rcu_read(&global_file); - if (logfile && logfile->fd != stderr) { - res = true; - } - rcu_read_unlock(); - return res; + FILE *logfile = qatomic_read(&global_file); + return logfile && logfile != stderr; } /* Lock/unlock output. */ FILE *qemu_log_trylock(void) { - RCUCloseFILE *logfile; + FILE *logfile; rcu_read_lock(); - logfile = qatomic_rcu_read(&global_file); + /* + * FIXME: typeof_strip_qual, as used by qatomic_rcu_read, + * does not work with pointers to undefined structures, + * such as we have with struct _IO_FILE and musl libc. + * Since all we want is a read of a pointer, cast to void**, + * which does work with typeof_strip_qual. + */ + logfile = qatomic_rcu_read((void **)&global_file); if (logfile) { - qemu_flockfile(logfile->fd); - return logfile->fd; + qemu_flockfile(logfile); } else { rcu_read_unlock(); - return NULL; } + return logfile; } -void qemu_log_unlock(FILE *fd) +void qemu_log_unlock(FILE *logfile) { - if (fd) { - fflush(fd); - qemu_funlockfile(fd); + if (logfile) { + fflush(logfile); + qemu_funlockfile(logfile); rcu_read_unlock(); } } @@ -110,9 +108,7 @@ static void __attribute__((__constructor__)) startup(void) static void rcu_close_file(RCUCloseFILE *r) { - if (r->fd != stderr) { - fclose(r->fd); - } + fclose(r->fd); g_free(r); } @@ -122,7 +118,7 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, { bool need_to_open_file; bool daemonized; - RCUCloseFILE *logfile; + FILE *logfile; QEMU_LOCK_GUARD(&global_mutex); logfile = global_file; @@ -176,37 +172,37 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, if (logfile && (!need_to_open_file || changed_name)) { qatomic_rcu_set(&global_file, NULL); - call_rcu(logfile, rcu_close_file, rcu); + if (logfile != stderr) { + RCUCloseFILE *r = g_new0(RCUCloseFILE, 1); + r->fd = logfile; + call_rcu(r, rcu_close_file, rcu); + } logfile = NULL; } if (!logfile && need_to_open_file) { - FILE *fd; - if (filename) { - fd = fopen(filename, log_append ? "a" : "w"); - if (!fd) { + logfile = fopen(filename, log_append ? "a" : "w"); + if (!logfile) { error_setg_errno(errp, errno, "Error opening logfile %s", filename); return false; } /* In case we are a daemon redirect stderr to logfile */ if (daemonized) { - dup2(fileno(fd), STDERR_FILENO); - fclose(fd); + dup2(fileno(logfile), STDERR_FILENO); + fclose(logfile); /* This will skip closing logfile in rcu_close_file. */ - fd = stderr; + logfile = stderr; } } else { /* Default to stderr if no log file specified */ assert(!daemonized); - fd = stderr; + logfile = stderr; } log_append = 1; - logfile = g_new0(RCUCloseFILE, 1); - logfile->fd = fd; qatomic_rcu_set(&global_file, logfile); } return true; From patchwork Sun Apr 17 18:30:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 562914 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp1897008map; Sun, 17 Apr 2022 12:31:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzoPiQ8Ve3rnZQDPzp8Z8kx0XnDBGxtcNCLGUQkXqwtGSvo3/XZoZ9pQXgrPuieS4y7TiIn X-Received: by 2002:a05:6214:c62:b0:444:bfb:799f with SMTP id t2-20020a0562140c6200b004440bfb799fmr5807167qvj.2.1650223864691; Sun, 17 Apr 2022 12:31:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650223864; cv=none; d=google.com; s=arc-20160816; b=Olddtp7+BdXI07C9nEeALIkl+DhTHRVlgzFFePvbWCGfRovq+DjfFxtCTRcGfhokQ5 WzcxUJT6mcZEy3mqLO15gMPAehrb9UgD/mFaiu9otetarhQC07m56BzqW9G4y5y4NOYE gDFC8bOuWMF8bJtyjvK/iIzxpo1SZenewj+QzpKTnhToVuRFSyTedztlkNeA1tgQqo05 NIGOabDubfEyurYrccL6xqq3+twLf1SeswJvcJHi+StkTEbWax1SZPr1ye3+6Ks4yzQK vWaanf7lZlHwEt8oFAhGmqu4q5tCNPKr+EZJpZQQGjKw6jhQufqo3ImPANYqu0I+CpSs FtFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=b3Menp0kqYZFAQFod9OpPtlki+3BWJBWWUmxTLO1mtY=; b=Zr1Smv0NwyI3UUwgfdBYfx+XV7n9gsSvxE6wL89rscKTUFPXiR4AYmIzAxi+1pABDv vr1DrWNfcqx5bvKXRMHOJn8iu97D9qDIc9sHErV8wBWsYOAjVJikamdTSlS3FZHki+fu VxRu4AYquKRlgkqsANveH9GJ64rnO1APxkMmHysH6GdHzYWTD5f8wkUTWoe0bD9L2cUL EdIxzCpTfjv0IFvpFZpkl6ruqzGvnH+0glcXl2/A9V1hV4kfcXspOiZQp3gVoYloM+VT UFNggBk3hUqrn+WeZz3j2wLyykhDNYxFM50f/zuvrkLcqD4oQwbVMRBmQ8m3w7pC5rlz qG1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=QTOYny1c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id jf11-20020a0562142a4b00b0044611657372si2216393qvb.571.2022.04.17.12.31.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 17 Apr 2022 12:31:04 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=QTOYny1c; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:41398 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ngAbw-00069x-8y for patch@linaro.org; Sun, 17 Apr 2022 15:31:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57662) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9fo-0000Zt-Sj for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]:42697) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ng9fl-0001rv-Nf for qemu-devel@nongnu.org; Sun, 17 Apr 2022 14:31:00 -0400 Received: by mail-pl1-x634.google.com with SMTP id p10so10786208plf.9 for ; Sun, 17 Apr 2022 11:30:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=b3Menp0kqYZFAQFod9OpPtlki+3BWJBWWUmxTLO1mtY=; b=QTOYny1cm665eLVaCqCzvUy1jmBvBs6lYcHT70acgWCjFk2wr47pQXqkLo6ovnJQEe B33W1zgXN8UwR1jc2ExiI7VFK33p3crdXnWH4Vceyq6Rku0J8sgT7tK5DiFxArhAafar /xeYOx9ESMpahRl+ADR9ranwjyHh6ALEVKXUQsikL8A0+ExmDsPe4D9N4KlWO2IDg40a QlDSKnoUrSheLpMkBy4lYSEItz2UshlLr1LbAOTSlG7DzMXqRVI/7DQ0/VDqWCqmF21y DElzUhqyh+9iC6UwGSrqbMqSwXFcvLXKs7ogwax0MtfYBCIlu5UcozfYeEbEN3fHMDGL OGdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=b3Menp0kqYZFAQFod9OpPtlki+3BWJBWWUmxTLO1mtY=; b=KdIWCbwe3sjA8X6/FH9HZAVxoVVydUF9F6nOOvSwwaAwqZLYHtxPPbLD9Kv5lQzNj8 NwNxPZb8FSPy3AqGYvFPibgr8wHkgZhIprA8RryiQEVCqaHU2nu3BX4Dgb4+Z3HErsNM 9A7DCyhtEk9XJsv1jMHgh0ew9suC2gAgZXWftt1JK6/fJzVALz1i07TPlooPrVlfB796 qeo/stDfqlkln3g7oQ9F9Pv4594aLDV71Y3vPvDh5ADBensdnF9jQX5Y0VxXwAVhYS3G WF/JjAGIDPCJaNTK6eYVkQorHc2oDQo7F1xmNHsij+U4rE2ngsaQvSqVikHfxC2R1YBR Omkw== X-Gm-Message-State: AOAM533fmhnB0tQR2okKZh0OBzeTQQmw3az/GdTgPjTBYLuRlxckYJY/ squC6D0ST/xb3oSkHP5v9STimCfF0V5rBQ== X-Received: by 2002:a17:902:bf04:b0:149:c5a5:5323 with SMTP id bi4-20020a170902bf0400b00149c5a55323mr7913109plb.97.1650220253296; Sun, 17 Apr 2022 11:30:53 -0700 (PDT) Received: from localhost.localdomain (174-21-142-130.tukw.qwest.net. [174.21.142.130]) by smtp.gmail.com with ESMTPSA id on10-20020a17090b1d0a00b001d08a7d569csm8154011pjb.56.2022.04.17.11.30.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 11:30:52 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v3 39/39] util/log: Support per-thread log files Date: Sun, 17 Apr 2022 11:30:19 -0700 Message-Id: <20220417183019.755276-40-richard.henderson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220417183019.755276-1-richard.henderson@linaro.org> References: <20220417183019.755276-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::634; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x634.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alex.bennee@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Add a new log flag, tid, to turn this feature on. Require the log filename to be set, and to contain %d. Do not allow tid to be turned off once it is on, nor let the filename be change thereafter. This avoids the need for signalling each thread to re-open on a name change. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- v2: Make use of CONFIG_GETTID, and fallback to SYS_gettid. v3: Use enum for valid_filename_template (ajb). --- include/qemu/log.h | 1 + util/log.c | 163 +++++++++++++++++++++++++++++++++++---------- 2 files changed, 128 insertions(+), 36 deletions(-) diff --git a/include/qemu/log.h b/include/qemu/log.h index a325bca661..c5643d8dd5 100644 --- a/include/qemu/log.h +++ b/include/qemu/log.h @@ -34,6 +34,7 @@ bool qemu_log_separate(void); #define CPU_LOG_PLUGIN (1 << 18) /* LOG_STRACE is used for user-mode strace logging. */ #define LOG_STRACE (1 << 19) +#define LOG_PER_THREAD (1 << 20) /* Lock/unlock output. */ diff --git a/util/log.c b/util/log.c index df0710720f..d6eb0378c3 100644 --- a/util/log.c +++ b/util/log.c @@ -27,6 +27,9 @@ #include "qemu/thread.h" #include "qemu/lockable.h" #include "qemu/rcu.h" +#ifdef CONFIG_LINUX +#include +#endif typedef struct RCUCloseFILE { @@ -38,22 +41,40 @@ typedef struct RCUCloseFILE { static QemuMutex global_mutex; static char *global_filename; static FILE *global_file; +static __thread FILE *thread_file; int qemu_loglevel; -static int log_append = 0; +static bool log_append; +static bool log_per_thread; static GArray *debug_regions; /* Returns true if qemu_log() will really write somewhere. */ bool qemu_log_enabled(void) { - return qatomic_read(&global_file) != NULL; + return log_per_thread || qatomic_read(&global_file) != NULL; } /* Returns true if qemu_log() will write somewhere other than stderr. */ bool qemu_log_separate(void) { - FILE *logfile = qatomic_read(&global_file); - return logfile && logfile != stderr; + if (log_per_thread) { + return true; + } else { + FILE *logfile = qatomic_read(&global_file); + return logfile && logfile != stderr; + } +} + +static int log_thread_id(void) +{ +#ifdef CONFIG_GETTID + return gettid(); +#elif defined(SYS_gettid) + return syscall(SYS_gettid); +#else + static int counter; + return qatomic_fetch_inc(&counter); +#endif } /* Lock/unlock output. */ @@ -62,20 +83,34 @@ FILE *qemu_log_trylock(void) { FILE *logfile; - rcu_read_lock(); - /* - * FIXME: typeof_strip_qual, as used by qatomic_rcu_read, - * does not work with pointers to undefined structures, - * such as we have with struct _IO_FILE and musl libc. - * Since all we want is a read of a pointer, cast to void**, - * which does work with typeof_strip_qual. - */ - logfile = qatomic_rcu_read((void **)&global_file); - if (logfile) { - qemu_flockfile(logfile); - } else { - rcu_read_unlock(); + logfile = thread_file; + if (!logfile) { + if (log_per_thread) { + g_autofree char *filename + = g_strdup_printf(global_filename, log_thread_id()); + logfile = fopen(filename, "w"); + if (!logfile) { + return NULL; + } + thread_file = logfile; + } else { + rcu_read_lock(); + /* + * FIXME: typeof_strip_qual, as used by qatomic_rcu_read, + * does not work with pointers to undefined structures, + * such as we have with struct _IO_FILE and musl libc. + * Since all we want is a read of a pointer, cast to void**, + * which does work with typeof_strip_qual. + */ + logfile = qatomic_rcu_read((void **)&global_file); + if (!logfile) { + rcu_read_unlock(); + return NULL; + } + } } + + qemu_flockfile(logfile); return logfile; } @@ -84,7 +119,9 @@ void qemu_log_unlock(FILE *logfile) if (logfile) { fflush(logfile); qemu_funlockfile(logfile); - rcu_read_unlock(); + if (!log_per_thread) { + rcu_read_unlock(); + } } } @@ -112,40 +149,81 @@ static void rcu_close_file(RCUCloseFILE *r) g_free(r); } +/** + * valid_filename_template: + * + * Validate the filename template. Require %d if per_thread, allow it + * otherwise; require no other % within the template. + */ + +typedef enum { + vft_error, + vft_stderr, + vft_strdup, + vft_pid_printf, +} ValidFilenameTemplateResult; + +static ValidFilenameTemplateResult +valid_filename_template(const char *filename, bool per_thread, Error **errp) +{ + if (filename) { + char *pidstr = strstr(filename, "%"); + + if (pidstr) { + /* We only accept one %d, no other format strings */ + if (pidstr[1] != 'd' || strchr(pidstr + 2, '%')) { + error_setg(errp, "Bad logfile template: %s", filename); + return 0; + } + return per_thread ? vft_strdup : vft_pid_printf; + } + } + if (per_thread) { + error_setg(errp, "Filename template with '%%d' required for 'tid'"); + return vft_error; + } + return filename ? vft_strdup : vft_stderr; +} + /* enable or disable low levels log */ static bool qemu_set_log_internal(const char *filename, bool changed_name, int log_flags, Error **errp) { bool need_to_open_file; bool daemonized; + bool per_thread; FILE *logfile; QEMU_LOCK_GUARD(&global_mutex); logfile = global_file; + per_thread = log_flags & LOG_PER_THREAD; + if (changed_name) { char *newname = NULL; /* - * Allow the user to include %d in their logfile which will be - * substituted with the current PID. This is useful for debugging many - * nested linux-user tasks but will result in lots of logs. - * - * filename may be NULL. In that case, log output is sent to stderr + * Once threads start opening their own log files, we have no + * easy mechanism to tell them all to close and re-open. + * There seems little cause to do so either -- this option + * will most often be used at user-only startup. */ - if (filename) { - char *pidstr = strstr(filename, "%"); + if (log_per_thread) { + error_setg(errp, "Cannot change log filename after setting 'tid'"); + return false; + } - if (pidstr) { - /* We only accept one %d, no other format strings */ - if (pidstr[1] != 'd' || strchr(pidstr + 2, '%')) { - error_setg(errp, "Bad logfile format: %s", filename); - return false; - } - newname = g_strdup_printf(filename, getpid()); - } else { - newname = g_strdup(filename); - } + switch (valid_filename_template(filename, per_thread, errp)) { + case vft_error: + return false; + case vft_stderr: + break; + case vft_strdup: + newname = g_strdup(filename); + break; + case vft_pid_printf: + newname = g_strdup_printf(filename, getpid()); + break; } g_free(global_filename); @@ -153,8 +231,18 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, filename = newname; } else { filename = global_filename; + if (per_thread && + valid_filename_template(filename, true, errp) == vft_error) { + return false; + } } + /* Once the per-thread flag is set, it cannot be unset. */ + if (per_thread) { + log_per_thread = true; + } + /* The flag itself is not relevant for need_to_open_file. */ + log_flags &= ~LOG_PER_THREAD; #ifdef CONFIG_TRACE_LOG log_flags |= LOG_TRACE; #endif @@ -163,12 +251,13 @@ static bool qemu_set_log_internal(const char *filename, bool changed_name, /* * In all cases we only log if qemu_loglevel is set. * Also: + * If per-thread, open the file for each thread in qemu_log_lock. * If not daemonized we will always log either to stderr * or to a file (if there is a filename). * If we are daemonized, we will only log if there is a filename. */ daemonized = is_daemonized(); - need_to_open_file = log_flags && (!daemonized || filename); + need_to_open_file = log_flags && !per_thread && (!daemonized || filename); if (logfile && (!need_to_open_file || changed_name)) { qatomic_rcu_set(&global_file, NULL); @@ -354,6 +443,8 @@ const QEMULogItem qemu_log_items[] = { #endif { LOG_STRACE, "strace", "log every user-mode syscall, its input, and its result" }, + { LOG_PER_THREAD, "tid", + "open a separate log file per thread; filename must contain '%d'" }, { 0, NULL, NULL }, };