From patchwork Fri May 5 15:53:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679304 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp437597wrs; Fri, 5 May 2023 08:53:56 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6SOXujkgf65CZeiJ4VmNwhypWspKWgAqwtXJ0U/xwUxt4MDDvcVMnxcrj1VjseA7VjiAXK X-Received: by 2002:ac8:5d94:0:b0:3e9:aa91:3627 with SMTP id d20-20020ac85d94000000b003e9aa913627mr3282963qtx.65.1683302036072; Fri, 05 May 2023 08:53:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302036; cv=none; d=google.com; s=arc-20160816; b=wrG2tV/0mI1gnzZVVQfjtp4Dv4RFeZhiUHIWY/HE1NxVIKoJ5plJ92v+evAvEldVhE 6Xn8FfFJh8x0+/kSdwHyicarQVKmgHlh6u9sUe9m0/Doe77G/x0Yj57zVZH4tx+mCh9n Oq1LweRpcDXZkXHFYQzQT+Tx4p6KN1GXo8MwLYJ1iUG6YXl3oNRJpn/79742xuen25hI 5Zsu7FwTTs6zestNdygEEf2tz24Zj1GuiSGqlcdNf0f5EDG1nvFiFT4oUcvfQlSx5Rlg MPlCwAcWS3p2XXUUjltVqBJYf5Snr057mP3iA6i0lDeN0D1l1w6zMRzJF2ikXl1e8BJa bpxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=PwmylO98fPza1KeBnyuNGb07zbktOjohayPxUd8NRjw=; b=i8aiDVMHukG6vBZxZKk/oT9j1p1uzNvWB8s0BTeoWl3sTs75lHbyd/ozraXqWKW+H9 +xmBJY5UStHY5eptr8E3UiGlNKl0Jh0CWDfkS2mHmGcF6VT9WL0pl/Kfn+hkJAxDxR6W XBw+I1sGqT5HlYXZ9OmBO/clSwJvrZ66wuNM79lO+2QxrQnNwzkeECScMm7Gz7j+QQFg Bl6nIZIx+XRZiwvc5xbJUBqLP9X7Y31sH8UWyis4e3f9mUIyqHS/gx6+ncVfMOHzhswX K56ykxvOfhoIvX8tAfZ9qYLGggyMHIWVeigVYfw+QKDkNR4S/WOlf6tzp4+25o5h+D0j esPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kMqBJ3aS; 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 i9-20020a05620a150900b0074e23c44ad8si768687qkk.520.2023.05.05.08.53.55 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:53:56 -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=kMqBJ3aS; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxkd-0003Kh-QN; Fri, 05 May 2023 11:53:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxkc-0003Ip-Pn for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:42 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxka-0008D0-Cg for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:41 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-2fc3f1d6f8cso1328984f8f.3 for ; Fri, 05 May 2023 08:53:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302018; x=1685894018; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PwmylO98fPza1KeBnyuNGb07zbktOjohayPxUd8NRjw=; b=kMqBJ3aSoK2JxBpKeOyv8zl5TZ/s89D8yIWkyV/7Gj8Joy8/7udTywJ/6BuoOtplBE fBh6sFwLEHIASImZpRW/WGILjtDdAJIsN4+Htv8UMDAcubxZavlDAQ4EK9gOr9mbUu4+ OsihSwDk1TiOaTEJhK6uy9yH5nGqmTGPlC7i+ugvDSCJ5ePhZQ3HtupqsAph2/CB2Fsg bx4XakNzfv3I8kt7lXWPHNctkW6IR5kaFnc+FLmjxJyKvHzF6W0tMT8IJdCGIYWtPtEz +sXmV2fAoDpMZI52lA8KEHSlTR7mqIkytAgEJ73NEBosuZyF99mNfpF+HqvYn+KTBDKo Jb/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302018; x=1685894018; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PwmylO98fPza1KeBnyuNGb07zbktOjohayPxUd8NRjw=; b=RkpTY7Rs7oT8iDsxX+Si/6eZJ7+4emM06QXyZoAPNxLrMrX5Bv47IXGNeiJZfzwZBd xj7RAy2+jKh2RnDlZY4kt/LBP1CiBOsnOTNoTHg5NZrdvlHBceaoLydubABe1SXxbVA4 9kx04NuxZ27X9n9t5FV2KEeBxqi1wvaO04AJ+zeVfvjfuMAr7zlzSJ0WzFRbu7RgyjKX sXnMgd7nS+DI6faOY0iYpeD/k19C+3O0WoIUYdJESUaYujC9dy6K2ovR+eGIbcNXbSl5 IzLmrYW4dswHtzsWUWEPHK/GN33kOViZHuPAasqhVCuxdeoe3MUkEpttGLNtDRgX2vVC p5Fg== X-Gm-Message-State: AC+VfDz9Cfkdz5WkG5k5w0Kj15d1vOjCf+dQzicx6CIFTZgbD/TAw7Ki VGd3Ujv9a26WwsAhgrDXbLg+Eg== X-Received: by 2002:adf:df0c:0:b0:307:5912:789 with SMTP id y12-20020adfdf0c000000b0030759120789mr1662967wrl.66.1683302018030; Fri, 05 May 2023 08:53:38 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id x7-20020adfffc7000000b002c7066a6f77sm2785851wrs.31.2023.05.05.08.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id A5A211FFBC; Fri, 5 May 2023 16:53:36 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 01/10] *-user: remove the guest_user_syscall tracepoints Date: Fri, 5 May 2023 16:53:27 +0100 Message-Id: <20230505155336.137393-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x431.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org This is pure duplication now. Both bsd-user and linux-user have builtin strace support and we can also track syscalls via the plugins system. Message-Id: <20230420150009.1675181-2-alex.bennee@linaro.org> Reviewed-by: Warner Losh Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-2-alex.bennee@linaro.org> --- include/user/syscall-trace.h | 4 ---- bsd-user/freebsd/os-syscall.c | 2 -- trace-events | 19 ------------------- 3 files changed, 25 deletions(-) diff --git a/include/user/syscall-trace.h b/include/user/syscall-trace.h index 90bda7631c..557f881a79 100644 --- a/include/user/syscall-trace.h +++ b/include/user/syscall-trace.h @@ -26,9 +26,6 @@ static inline void record_syscall_start(void *cpu, int num, abi_long arg5, abi_long arg6, abi_long arg7, abi_long arg8) { - trace_guest_user_syscall(cpu, num, - arg1, arg2, arg3, arg4, - arg5, arg6, arg7, arg8); qemu_plugin_vcpu_syscall(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); @@ -36,7 +33,6 @@ static inline void record_syscall_start(void *cpu, int num, static inline void record_syscall_return(void *cpu, int num, abi_long ret) { - trace_guest_user_syscall_ret(cpu, num, ret); qemu_plugin_vcpu_syscall_ret(cpu, num, ret); } diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c index c8f998ecec..b0ae43766f 100644 --- a/bsd-user/freebsd/os-syscall.c +++ b/bsd-user/freebsd/os-syscall.c @@ -531,7 +531,6 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1, CPUState *cpu = env_cpu(cpu_env); abi_long ret; - trace_guest_user_syscall(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); if (do_strace) { print_freebsd_syscall(num, arg1, arg2, arg3, arg4, arg5, arg6); } @@ -541,7 +540,6 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1, if (do_strace) { print_freebsd_syscall_ret(num, ret); } - trace_guest_user_syscall_ret(cpu, num, ret); return ret; } diff --git a/trace-events b/trace-events index b6b84b175e..691c3533e4 100644 --- a/trace-events +++ b/trace-events @@ -85,22 +85,3 @@ vcpu guest_cpu_exit(void) # Targets: all vcpu guest_cpu_reset(void) -# include/user/syscall-trace.h - -# @num: System call number. -# @arg*: System call argument value. -# -# Start executing a guest system call in syscall emulation mode. -# -# Mode: user -# Targets: TCG(all) -vcpu guest_user_syscall(uint64_t num, uint64_t arg1, uint64_t arg2, uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6, uint64_t arg7, uint64_t arg8) "num=0x%016"PRIx64" arg1=0x%016"PRIx64" arg2=0x%016"PRIx64" arg3=0x%016"PRIx64" arg4=0x%016"PRIx64" arg5=0x%016"PRIx64" arg6=0x%016"PRIx64" arg7=0x%016"PRIx64" arg8=0x%016"PRIx64 - -# @num: System call number. -# @ret: System call result value. -# -# Finish executing a guest system call in syscall emulation mode. -# -# Mode: user -# Targets: TCG(all) -vcpu guest_user_syscall_ret(uint64_t num, uint64_t ret) "num=0x%016"PRIx64" ret=0x%016"PRIx64 From patchwork Fri May 5 15:53:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679310 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp438062wrs; Fri, 5 May 2023 08:55:00 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4ml3dPYzlvEp+Bs+C5ET8ujneeQ1B+yj9rbRNiAKiRWYLsIT/i81WpgWx0cXGamgJkGFmK X-Received: by 2002:a05:622a:148d:b0:3f0:daab:f24f with SMTP id t13-20020a05622a148d00b003f0daabf24fmr3020523qtx.68.1683302100692; Fri, 05 May 2023 08:55:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302100; cv=none; d=google.com; s=arc-20160816; b=bPmL3f54/oQwKc3wJtgn/0Xg/vCo4KROakEZS9xW0WThsKhPEK052U7LvsV4ZViRen o3KDw9OydLG8XYIHIrwYwbyeK/uMx9Yr+zfFffwYggJsgD5CWeBZzUUyoplqEqX7L4eK exvxc5HIOmYOdVtumcMm3c46Zpu/Rk5UW8dx9Bdhgp/2aohbWi5+G8f7ExrWOtgfpqtJ JFnC+f3UKv0vzH16GY7ksgGDpXVlnwby2SQRbRKFih3ktl98s6VgJdUKPmcqCwO7z91q lL3RW9/stgh/pfY/egh1q/1t0di30uQtoRDdbFahdLy0hYSGy6c/jgeVIYNLxNOBJNpm FGHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=fP88xWRTq0YOoukl2eZvLZM8OkmfjfHbQrJlI+FEzEo=; b=LZmlSPJHdyCVWbRddh8u+QxR6KF1hJNSsf6q/Dvb9D/FBqjIHCPJuJ2xatyogFBC4F IjY8BuU7PWnXsHSh3p30iuojH+TkWiiBBjSsdcjXJne8cyDjQrTJ2xr6Hi9uA/A2cOZN x5iGO1YkFBTInjdhvTSvK13/Bx5F/yudi3d6srt1gOVgSgcXnOzoV9P+HOJi5iuHPAnb Xgwo4dup+pmhZuuhRRz1J3PSbe2N6qGvtxRKoNQNpsz+SoS+4n3pl9bXUKeUJQyFuY4l v5D2sM5Uq9la3S2Th+YqVmgLZEJ6nOA+AbFYWZoasU6ItsAp+/mlV3VugHHhRp2R3FB6 QOCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UwtBDGfT; 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 j15-20020a05622a038f00b003e8846087b6si683978qtx.367.2023.05.05.08.55.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:55: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=UwtBDGfT; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxkg-0003Mj-Or; Fri, 05 May 2023 11:53:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxkc-0003Iq-PP for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:42 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxka-0008D1-Cb for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:41 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-3f315712406so104946965e9.0 for ; Fri, 05 May 2023 08:53:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302018; x=1685894018; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fP88xWRTq0YOoukl2eZvLZM8OkmfjfHbQrJlI+FEzEo=; b=UwtBDGfT0wbs+Trr1+c1inCCOobVWyJzt1y02qHV6NALVzEY05Co3EOEDcq8NizorT ACZwJRuW3O4KBb7wcrBc5oxOwJdYEggQaSRdTrJ/NSL7V64XY9RHi/6CSh8JLhWW1x9I aWpCkiavVxTlic4xJuP3h6t51yRgzQVXKlSHfLLiSjD4pkIb/ojmqYLhiyapxXMKYQw9 LUtIc0XcR8xsIUfkEv3cyfHeFK6T2foljdtizEjBLYF4VSTex9U6gj0tXLppYpvQnGQ1 A5aPf8Zx/G/MFqKK4YAd3Y11gonRbzi4wCQSpJF0B9gjXzqwN5Bk0eT0grnjR+Kud8eH /A+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302018; x=1685894018; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fP88xWRTq0YOoukl2eZvLZM8OkmfjfHbQrJlI+FEzEo=; b=SSlvPXAYCfvVofc7NRVW+aBqlBo/Vwemho5JAQTaaMFXwjiruAtq7BA57jTvbxt0HQ nnBbBWkXESiLiiiU/3rg+9McH0xlijWUXVmVrGsWIryxVBpi2xHtvP+fy+jFLzC48IpQ K7JD8oWJK1IqcTYrnqr2rgnkvSfE7LNFYR2W75cdFIFxZjETm9b8IuhZg79STrK6aR2/ qUK1BUm60JKPENKYFKUvSArQjAJX4GlVOI8QkQFXltEQRhdf169I/t+rDNr9sFg8G0IG 8ZyXpQA/+MaSEc1YkmiCCVChqM/9SseceXJJZzi/183MzuB1ylU0THuVCSd0AqWBgdaB 8/tQ== X-Gm-Message-State: AC+VfDwdJm4R1SO92pH23JOM07Wo7J+2MmESnFcG9BpwrDDBgVzarWpk GVvJgS0+tvESi8ucJK6bYCtQSQ== X-Received: by 2002:a7b:c398:0:b0:3f2:5be3:cd6b with SMTP id s24-20020a7bc398000000b003f25be3cd6bmr1696914wmj.3.1683302018198; Fri, 05 May 2023 08:53:38 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id k12-20020a7bc40c000000b003f175b360e5sm8386081wmi.0.2023.05.05.08.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id C85461FFBD; Fri, 5 May 2023 16:53:36 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 02/10] trace-events: remove the remaining vcpu trace events Date: Fri, 5 May 2023 16:53:28 +0100 Message-Id: <20230505155336.137393-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x330.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org While these are all in helper functions being designated vcpu events complicates the removal of the dynamic vcpu state code. TCG plugins allow you to instrument vcpu_[init|exit|idle]. We rename cpu_reset and make it a normal trace point. Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-3-alex.bennee@linaro.org> --- v3 - s/watch/trace/ in commit msg --- hw/core/cpu-common.c | 4 ++-- trace/control-target.c | 1 - trace/control.c | 2 -- hw/core/trace-events | 3 +++ trace-events | 31 ------------------------------- 5 files changed, 5 insertions(+), 36 deletions(-) diff --git a/hw/core/cpu-common.c b/hw/core/cpu-common.c index 5ccc3837b6..951477a7fd 100644 --- a/hw/core/cpu-common.c +++ b/hw/core/cpu-common.c @@ -32,7 +32,7 @@ #include "sysemu/tcg.h" #include "hw/boards.h" #include "hw/qdev-properties.h" -#include "trace/trace-root.h" +#include "trace.h" #include "qemu/plugin.h" CPUState *cpu_by_arch_id(int64_t id) @@ -113,7 +113,7 @@ void cpu_reset(CPUState *cpu) { device_cold_reset(DEVICE(cpu)); - trace_guest_cpu_reset(cpu); + trace_cpu_reset(cpu->cpu_index); } static void cpu_common_reset_hold(Object *obj) diff --git a/trace/control-target.c b/trace/control-target.c index 232c97a4a1..c6132f243f 100644 --- a/trace/control-target.c +++ b/trace/control-target.c @@ -145,5 +145,4 @@ void trace_init_vcpu(CPUState *vcpu) } } } - trace_guest_cpu_enter(vcpu); } diff --git a/trace/control.c b/trace/control.c index 6c77cc6318..d24af91004 100644 --- a/trace/control.c +++ b/trace/control.c @@ -277,8 +277,6 @@ void trace_fini_vcpu(CPUState *vcpu) TraceEventIter iter; TraceEvent *ev; - trace_guest_cpu_exit(vcpu); - trace_event_iter_init_all(&iter); while ((ev = trace_event_iter_next(&iter)) != NULL) { if (trace_event_is_vcpu(ev) && diff --git a/hw/core/trace-events b/hw/core/trace-events index 56da55bd71..2cf085ac66 100644 --- a/hw/core/trace-events +++ b/hw/core/trace-events @@ -29,3 +29,6 @@ clock_set(const char *clk, uint64_t old, uint64_t new) "'%s', %"PRIu64"Hz->%"PRI clock_propagate(const char *clk) "'%s'" clock_update(const char *clk, const char *src, uint64_t hz, int cb) "'%s', src='%s', val=%"PRIu64"Hz cb=%d" clock_set_mul_div(const char *clk, uint32_t oldmul, uint32_t mul, uint32_t olddiv, uint32_t div) "'%s', mul: %u -> %u, div: %u -> %u" + +# cpu-common.c +cpu_reset(int cpu_index) "%d" diff --git a/trace-events b/trace-events index 691c3533e4..dd318ed1af 100644 --- a/trace-events +++ b/trace-events @@ -54,34 +54,3 @@ qmp_job_resume(void *job) "job %p" qmp_job_complete(void *job) "job %p" qmp_job_finalize(void *job) "job %p" qmp_job_dismiss(void *job) "job %p" - - -### Guest events, keep at bottom - - -## vCPU - -# trace/control-target.c - -# Hot-plug a new virtual (guest) CPU -# -# Mode: user, softmmu -# Targets: all -vcpu guest_cpu_enter(void) - -# trace/control.c - -# Hot-unplug a virtual (guest) CPU -# -# Mode: user, softmmu -# Targets: all -vcpu guest_cpu_exit(void) - -# hw/core/cpu.c - -# Reset the state of a virtual (guest) CPU -# -# Mode: user, softmmu -# Targets: all -vcpu guest_cpu_reset(void) - From patchwork Fri May 5 15:53:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679309 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp437966wrs; Fri, 5 May 2023 08:54:45 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6oCxvwNxa7n+z+WEA6BA2HLO6toVHqp1PYUhlxo67kCEN3uPQ7sl4jFsEWRb+4uh6LE59v X-Received: by 2002:a05:6214:2623:b0:618:5828:a97f with SMTP id gv3-20020a056214262300b006185828a97fmr3131971qvb.22.1683302085080; Fri, 05 May 2023 08:54:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302085; cv=none; d=google.com; s=arc-20160816; b=xmuGQ/PIYo8muqDJdcg4unqgX+N1A5wOQwqU6tWxTX3LBGZhdxqRJQeyBkDXVMbPnW 0s/FqeHuWuqjq3fBBDlNOSisXg3zHJxEMUFP86vdM4EAXJnARu9pkE53Pu4v8BIWi+vH /uZ1NsGVXr+bzNwgBbRD9HXAzMVv9M53jBacsonJa5xolbK4/CgEmtvdjU0ln0+qb687 Mi1G5PVP2biHHfOubZMML3H0sNszazklIGoLtaMRCeoiKt2qkIFRszctV+e6uJTz1yWn H2vCfcDARFOxDQoZmiTdYhQCu+Tua/LStJlvF9XoSc1Yhk7IFxO0trVdbgfD83W7Yuhn 2AhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=qAFQ031yGy5vt+cv99TuLZYWxa/7CHKpt1ksqvu+PW8=; b=AOcjiKS2p+OraAEI5jF6b6eSjOI066bjLRmzUWfogOlJUevhDblXwibDC1ei1OZEd1 PyuU5nF+/rGUNQSePgErnZ0xLut6feJWeQxlp2gRsM/KHlcxYvxzYjPtURgcnUblY1Qk LOY9YMmLwPQg0qMIkYffyEcXZ+2MRypYaZzzeIRjeHOhrufwj+LItLYrY9OCgHF4hmCm d8qe8laFAv/a4ZS1VzPB/o32ELj+uwbMrOD2GIkVF+NoKnHt5FWzzaojui3ffKGqpWq5 yW0U6oevH4g7OuVFe4XJQfBpq2hSK++X4ni/s/iUROedaEy4ZMi8eIPHXObdw3Kouo+8 YvZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CYgX7BTA; 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 a6-20020a0562140c2600b005f2e72039b2si722809qvd.565.2023.05.05.08.54.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:54:45 -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=CYgX7BTA; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxkk-0003Ow-1w; Fri, 05 May 2023 11:53:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxke-0003L5-Gi for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:44 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxkb-0008DC-Ko for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:44 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-3f1e2555b5aso14088265e9.0 for ; Fri, 05 May 2023 08:53:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302019; x=1685894019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qAFQ031yGy5vt+cv99TuLZYWxa/7CHKpt1ksqvu+PW8=; b=CYgX7BTAhfKfZdpt9UR9Z9dDXlCwcarlJocXGc66T1oDZEOPWKG+geAZdaulnk3A8x nHklGgRmk2c8RzB2QsgPJKcAGgqZJcoN5jfgspzsqR2G+q2GsZQWwhHp+lpdh8FcG3wf XbBm217N9AV3yqe4+6JJDqIP6HkIzq+uG1ekUmdbi2MnS673A+MHhCTsh9CSY7vpGZmN rq+D0V40HogmOfY7HTfbxr9MIcUSaTkwSxDR1rx4/893omsT9weOuNTIGBMQUIVyNFLQ tLt4OotagF99tH2V0yEi7cWJuEtDWrFhkJtdxu2oBqjonW1eUFLnUv5hzFYa1FljToXq YAIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302019; x=1685894019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qAFQ031yGy5vt+cv99TuLZYWxa/7CHKpt1ksqvu+PW8=; b=UO5ufPSRwEeUBc9178442XmvH9bZ3ezQKGtpdD/v9+ImntmiD2g0muPtyGVxRUVMSF IqtIpxW8x/rV/hvfxjE59rbracBlJIYiFJVjNSjEmvipKF0JYzLmaV7CZk8Mesy5rLLv 30WR9GJ62nVL6K91UZbjo+GMEedAYMPP71/iY/b4B5G36N5OOHOzmp2G0IzHQZ542747 s9fZ9RD5CRQDS/7uZqIWuobIo9bS7mQ4dcL3E7pHYvJJAI4LeLqogLpvHeoX7mB2Odlt QsRZxnK19wg8F7fp7AZrk7s9/jgbz2IogFN+AQkL60IO33EAyYVoJXsJi7x3ZpXhNVF6 CNJA== X-Gm-Message-State: AC+VfDyuFUC4rJypjYYz898iqqXNlj3vhsE6u7XOwT7PQu7CmlfXYkYt LQSP71Oomt19U41/WQEh6faRQw== X-Received: by 2002:a7b:c84b:0:b0:3f3:fe82:ee89 with SMTP id c11-20020a7bc84b000000b003f3fe82ee89mr1318469wml.8.1683302019060; Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id 16-20020a05600c021000b003f198dfbbfcsm8388866wmi.19.2023.05.05.08.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id E7B0B1FFBE; Fri, 5 May 2023 16:53:36 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 03/10] trace: remove vcpu_id from the TraceEvent structure Date: Fri, 5 May 2023 16:53:29 +0100 Message-Id: <20230505155336.137393-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org This does involve temporarily stubbing out some helper functions before we excise the rest of the code. Message-Id: <20230420150009.1675181-4-alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-4-alex.bennee@linaro.org> --- trace/control-internal.h | 4 ++-- trace/event-internal.h | 2 -- trace/control.c | 10 ---------- scripts/tracetool/format/c.py | 6 ------ scripts/tracetool/format/h.py | 11 +---------- 5 files changed, 3 insertions(+), 30 deletions(-) diff --git a/trace/control-internal.h b/trace/control-internal.h index 8b2b50a7cf..0178121720 100644 --- a/trace/control-internal.h +++ b/trace/control-internal.h @@ -27,12 +27,12 @@ static inline uint32_t trace_event_get_id(TraceEvent *ev) static inline uint32_t trace_event_get_vcpu_id(TraceEvent *ev) { - return ev->vcpu_id; + return 0; } static inline bool trace_event_is_vcpu(TraceEvent *ev) { - return ev->vcpu_id != TRACE_VCPU_EVENT_NONE; + return false; } static inline const char * trace_event_get_name(TraceEvent *ev) diff --git a/trace/event-internal.h b/trace/event-internal.h index f63500b37e..0c24e01b52 100644 --- a/trace/event-internal.h +++ b/trace/event-internal.h @@ -19,7 +19,6 @@ /** * TraceEvent: * @id: Unique event identifier. - * @vcpu_id: Unique per-vCPU event identifier. * @name: Event name. * @sstate: Static tracing state. * @dstate: Dynamic tracing state @@ -33,7 +32,6 @@ */ typedef struct TraceEvent { uint32_t id; - uint32_t vcpu_id; const char * name; const bool sstate; uint16_t *dstate; diff --git a/trace/control.c b/trace/control.c index d24af91004..5dfb609954 100644 --- a/trace/control.c +++ b/trace/control.c @@ -68,16 +68,6 @@ void trace_event_register_group(TraceEvent **events) size_t i; for (i = 0; events[i] != NULL; i++) { events[i]->id = next_id++; - if (events[i]->vcpu_id == TRACE_VCPU_EVENT_NONE) { - continue; - } - - if (likely(next_vcpu_id < CPU_TRACE_DSTATE_MAX_EVENTS)) { - events[i]->vcpu_id = next_vcpu_id++; - } else { - warn_report("too many vcpu trace events; dropping '%s'", - events[i]->name); - } } event_groups = g_renew(TraceEventGroup, event_groups, nevent_groups + 1); event_groups[nevent_groups].events = events; diff --git a/scripts/tracetool/format/c.py b/scripts/tracetool/format/c.py index c390c1844a..69edf0d588 100644 --- a/scripts/tracetool/format/c.py +++ b/scripts/tracetool/format/c.py @@ -32,19 +32,13 @@ def generate(events, backend, group): out('uint16_t %s;' % e.api(e.QEMU_DSTATE)) for e in events: - if "vcpu" in e.properties: - vcpu_id = 0 - else: - vcpu_id = "TRACE_VCPU_EVENT_NONE" out('TraceEvent %(event)s = {', ' .id = 0,', - ' .vcpu_id = %(vcpu_id)s,', ' .name = \"%(name)s\",', ' .sstate = %(sstate)s,', ' .dstate = &%(dstate)s ', '};', event = e.api(e.QEMU_EVENT), - vcpu_id = vcpu_id, name = e.name, sstate = "TRACE_%s_ENABLED" % e.name.upper(), dstate = e.api(e.QEMU_DSTATE)) diff --git a/scripts/tracetool/format/h.py b/scripts/tracetool/format/h.py index e94f0be7da..285d7b03a9 100644 --- a/scripts/tracetool/format/h.py +++ b/scripts/tracetool/format/h.py @@ -74,16 +74,7 @@ def generate(events, backend, group): out('}') - # tracer wrapper with checks (per-vCPU tracing) - if "vcpu" in e.properties: - trace_cpu = next(iter(e.args))[1] - cond = "trace_event_get_vcpu_state(%(cpu)s,"\ - " TRACE_%(id)s)"\ - % dict( - cpu=trace_cpu, - id=e.name.upper()) - else: - cond = "true" + cond = "true" out('', 'static inline void %(api)s(%(args)s)', From patchwork Fri May 5 15:53:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679314 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp438341wrs; Fri, 5 May 2023 08:55:36 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7YGvCC6u699fvWtVKLL5/dHJ8EDatOXWcwxI3L7Oi1gbtWjwllahEx3/w9X+m4yCL+MxHk X-Received: by 2002:a05:622a:1828:b0:3ef:4efa:7042 with SMTP id t40-20020a05622a182800b003ef4efa7042mr3284004qtc.62.1683302136071; Fri, 05 May 2023 08:55:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302136; cv=none; d=google.com; s=arc-20160816; b=XtzsU3945BqrTM2GTvbQAzVygkEqJ6CicU906odR9A1MOkqMtAGlH07KfpQ7I8nJkI pJC7KGW4nSQv9LUEi5m5WiiRZpRVeD/ZJEEAK9LX8bKia9SaFnmQ5HO34MS+pCD+O8A+ 33djW1k9nwJ3bTigfEzTYHzgMxRt7eUxDT/Mx0O8PvuMf8yvWGg6W1y9R0MQmLO7Nl5E U5J4lIVdf1Y55mZDKQ9fYJvM9DPk//k20Do04T+Ys1UAqK4Cy4ddiP3EwCKuadTOHUXR JU4ud7j+tdXSGClrUeNMxrrJHVip4HUQxasRK2Y5zBaPMIDu0fdYLGvPWT1cE+Ea6sHw cQIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=Uhx8xf/tUsvgHorzJjHLi5H+bMJr8MaQ/Qyfkil5mMk=; b=cd88j9VtD+ivn3Cwr77bEjTOy0pBO6bQOzamornFB9Z4WcGg9yEQRRkkwlcN2Ons7Z rBCyHdzVMY69azrCFCz5SYKT8KGVIAEvC1a9DKXzeklO2n+5AkGjcx6W4t6CnIYLIkJr gvo+wxbCI56T0Yc4gH6MrcoHZoPS8O8OMC5wueSG7e8EPRkZ552NieIPnOflStDmhCb2 PtJSe66Z6DKqSFsXdZJWMNKJDHdzCn39iu9rwIbcwsN5PEm5bSxaYtR7W3bdXQ0LLfxn osSd4QMjD3ZROvWhct1ShYNNw2/hxRP9PBwfuKwrR2FpJi3JACi7K5wYuRfsARcfTPDW sg5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jxQT7RAn; 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 m17-20020a05622a055100b003f209a855dbsi697786qtx.42.2023.05.05.08.55.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:55:36 -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=jxQT7RAn; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxke-0003LS-NC; Fri, 05 May 2023 11:53:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxkd-0003Jg-8k for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:43 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxka-0008DD-Dw for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:42 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-30771c68a9eso1477720f8f.2 for ; Fri, 05 May 2023 08:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302019; x=1685894019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Uhx8xf/tUsvgHorzJjHLi5H+bMJr8MaQ/Qyfkil5mMk=; b=jxQT7RAnRiG+4jZWepXpJwwqyv1KyR0mYc+xl8K2zGZmMTT2NN1ZlH8jHLiSgONI0c Ouqxu2+vgaAg41DJy+2/lrstpWTiZlgXgDxAJmN27nt4iJydj7zD3DNq7SZlbZXE7Raa PM3Sm8ScRO541hN/9vIlwjSQDG4iyqwN4N/aMYMnFEb4Zxt/8CEUhSkmlg/tKHodPauB 2xkFoXG5NLicCJL4/Nk/hUjF5zlC4EHfWV2NNTOkU+Kwhl098hm5rfDUWoYMtKhm/XvS AZElG/dQzuvIUqv87OI4u/kIh46Rx8m2Poe2wbMebQcACMg7loYxH7yOLY8vKylh2d0Y 5CYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302019; x=1685894019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Uhx8xf/tUsvgHorzJjHLi5H+bMJr8MaQ/Qyfkil5mMk=; b=PGPn/aEdoaKbDsAGY0Ur+PMDQAaJhlncI6p9t2Urb6VmjK2Nt02iCFB0yAzs0Ax4He BHlW0rdWqpxODo06OMz1L16mIzwcZx5nUF1m/LP0cZAAWxt3IdHCh7XxM3SLfTytYSBe WfkfrifmRjAk+8h+dWyvRTqYJRJEUuh1NOIy7d26Ui7dTWKsDOVLQ5n3y1uUE2nkHZEh xYI5azvS6WPq/1jW+XVknZvxtrudsKGdQrYLv3+s5O6rv7cc0iqlG+rnR3kLNIouZY6U EGuSjd/NAKlP9tFzj4VHgcOuxLj/stVImDsJZXpEKNkCPWOQUy5XSMnPaA01GVZH4wjC r+oA== X-Gm-Message-State: AC+VfDwpmhCTnRIgTY2vF1BiLlJNpMv0KG2W99KiHWAn/wcnRzLgG5KP 8bAw2KQMQ/P5xcuarbteS2DZVQ== X-Received: by 2002:a5d:4309:0:b0:306:492c:cdd8 with SMTP id h9-20020a5d4309000000b00306492ccdd8mr1596190wrq.15.1683302019226; Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id v1-20020adff681000000b003047297a5e8sm2756925wrp.54.2023.05.05.08.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 0B3851FFBF; Fri, 5 May 2023 16:53:37 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 04/10] scripts/qapi: document the tool that generated the file Date: Fri, 5 May 2023 16:53:30 +0100 Message-Id: <20230505155336.137393-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42a.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org This makes it a little easier for developers to find where things where being generated. Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-5-alex.bennee@linaro.org> --- scripts/qapi/gen.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/qapi/gen.py b/scripts/qapi/gen.py index 8f8f784f4a..e724507e1a 100644 --- a/scripts/qapi/gen.py +++ b/scripts/qapi/gen.py @@ -162,7 +162,7 @@ def __init__(self, fname: str, blurb: str, pydoc: str): def _top(self) -> str: return mcgen(''' -/* AUTOMATICALLY GENERATED, DO NOT MODIFY */ +/* AUTOMATICALLY GENERATED by QAPIGenC, DO NOT MODIFY */ /* %(blurb)s @@ -195,7 +195,7 @@ def _bottom(self) -> str: class QAPIGenTrace(QAPIGen): def _top(self) -> str: - return super()._top() + '# AUTOMATICALLY GENERATED, DO NOT MODIFY\n\n' + return super()._top() + '# AUTOMATICALLY GENERATED by QAPIGenTrace, DO NOT MODIFY\n\n' @contextmanager From patchwork Fri May 5 15:53:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679305 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp437651wrs; Fri, 5 May 2023 08:54:01 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ66fjPoGvRx/z7ixdQb5WGuA/q9wYlKk7ruEJcwaH8YI5nltg4ZASjkgk1MWN8QTBAzyz8W X-Received: by 2002:ad4:5e88:0:b0:61b:6e28:5c3a with SMTP id jl8-20020ad45e88000000b0061b6e285c3amr3288862qvb.27.1683302041545; Fri, 05 May 2023 08:54:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302041; cv=none; d=google.com; s=arc-20160816; b=JN6ogZILcvgsTy01xs/uwZLZnhKa9xMCD62x2Y8jODCr6JOVJ+acCRr54YOvgRYSwx rTlEN16Q+eRjDjCeyhUgWO7WUH3yssDiFV8g0FBVHVymwmdONja/t65XPHtzj4aRAdgK 8QdTlwJ1EdM54gQI4SiVNULwBYOhaSiIjVfU+3yCSHrJVTbW3powjywWSlfyHP346CV9 7kK1FzS2Tlej2fwKJ1sLqklxxj88sCKYvPCEkalbJRqQKGMLKL/hzXDDXbfezY7YNTh9 TbYtWD4yKaRP0BXRHW0pUg+3Cn24D+IcHl9svNBnL0GQqAWp3ME1BLddsBtugK+qUXvi yISA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=v20eKJJJVW047Oo0oTM1wQXqOht2ZgPK9mBl9bJ8pSc=; b=ZYH6f+KymvJG/wN/ODBEjyufs6i2k1CC+DLzMBlmKUuQcPs+S6+NAcXLfdtSSvFc+I gbQN8BKtgMN2NeaaTlVs8dB1c8ArxG1DhbyS311hPHmAd3aZHSjwUtYVs2cHQKvNNOTf CEZDqFqZRL4Mic+wHegYENgtd6OAV+MSIl6iUjGKA2a6i7c6cNvmwfIGQjOJuf/Mmg8p Vstl8oSYfKwnk4nGa3LqxWNNNXDkaAfkbcjigU/HkP4XZnMYfAZWK9KHysOXW3ByBgLC N0+f+WwAflrUu4WWtNUqFEEetBP9B3Ty0sXit5sNUImtj44SGhYRHmkU3j3rOkKESHNB k68Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=VLlTXE2z; 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 u5-20020ad45aa5000000b005f0e336102esi712417qvg.316.2023.05.05.08.54.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:54: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=VLlTXE2z; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxkk-0003PO-LZ; Fri, 05 May 2023 11:53:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxke-0003LR-LT for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:44 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxkc-0008DF-Cm for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:44 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-2f95231618aso1335725f8f.1 for ; Fri, 05 May 2023 08:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302019; x=1685894019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v20eKJJJVW047Oo0oTM1wQXqOht2ZgPK9mBl9bJ8pSc=; b=VLlTXE2z8p9t2Sm42UpKGi9VxkBaSZTpMnPl9EnsCEgNHMWALAr1NYn9gVwyac3Wn8 JfydF7+E5vl2ncV3KOjfuHwmH2IZ9dPSTP2RGWK9Y9ZGCP8grvUyy5kwU9ehWM8nRT5Z hv7WjhmQXwzTXBSmgoKTCrBP3wINIVLBni1ywcC1iWh4mk4xrjW0eNl782EJTCPJz2kP 7/lYwbLqrk8v+B8/zX6M25yvXJDVzbziaRyvUjvM8R8wgwmtEdESuBddIG5yfLtS3btu brvtgLXlphhgTZ9xCd929602JuDqeV/CnJ7PqbXHakNb0IznPYuSZNUBrCGaOvVHNiIG B5nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302019; x=1685894019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v20eKJJJVW047Oo0oTM1wQXqOht2ZgPK9mBl9bJ8pSc=; b=kSkEOUNRDVOU+pspVoPk7HB7u53MuqC7RYfBgQV6gbJJoUT21mL+wfJkNIsMdYpZ6m wPZ3gq+fGXBm6rYUS/fdXzE+qu/aJCuvic1L2+k+RI2qbds1E2fhu4omZE2HNYWKIiZu bE7Rk6IxMy5f5R/am14HHS8vH5HGMbE41SRDrsauOZB1vWIdXOY1aKwoeZWlHIWl0HnP XV42zdMkfC56wvwmrRaO9Qgob/R6zkWd4OrRL21c4dOugRFWEaHcsAOeOb2jhUDI8zJA FUlCRLWkmLv02d3ckwqtbVOQzlRCqHzi5fBWkLFChLiCqbCWe4P1vc3NPu42e/ItZqQU Lckw== X-Gm-Message-State: AC+VfDw8IZlAW1ZJVQCFzg6U+jNrQzdMTgYFaaFAql+quyt9hco6bDOl d0fiK4tm1cAWGQCdsuK5WtAMYw== X-Received: by 2002:a5d:6711:0:b0:306:39f5:e1a8 with SMTP id o17-20020a5d6711000000b0030639f5e1a8mr1687533wru.14.1683302019526; Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id n2-20020a05600c294200b003f17eded97bsm8391476wmd.19.2023.05.05.08.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 236B31FFC0; Fri, 5 May 2023 16:53:37 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 05/10] qapi: make the vcpu parameters deprecated for 8.1 Date: Fri, 5 May 2023 16:53:31 +0100 Message-Id: <20230505155336.137393-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42c.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org I don't think I can remove the parameters directly but certainly mark them as deprecated. Message-Id: <20230420150009.1675181-6-alex.bennee@linaro.org> Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-6-alex.bennee@linaro.org> --- qapi/trace.json | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/qapi/trace.json b/qapi/trace.json index f425d10764..de6b1681aa 100644 --- a/qapi/trace.json +++ b/qapi/trace.json @@ -33,9 +33,9 @@ # # @name: Event name. # @state: Tracing state. -# @vcpu: Whether this is a per-vCPU event (since 2.7). +# @vcpu: Whether this is a per-vCPU event (deprecated since 8.1). # -# An event is per-vCPU if it has the "vcpu" property in the "trace-events" +# There are no longer any events with the "vcpu" property in the "trace-events" # files. # # Since: 2.2 @@ -49,19 +49,15 @@ # Query the state of events. # # @name: Event name pattern (case-sensitive glob). -# @vcpu: The vCPU to query (any by default; since 2.7). +# @vcpu: The vCPU to query (deprecated since 8.1). # # Returns: a list of @TraceEventInfo for the matching events # # An event is returned if: # # - its name matches the @name pattern, and -# - if @vcpu is given, the event has the "vcpu" property. # -# Therefore, if @vcpu is given, the operation will only match per-vCPU events, -# returning their state on the specified vCPU. Special case: if @name is an -# exact match, @vcpu is given and the event does not have the "vcpu" property, -# an error is returned. +# There are no longer any per-vCPU events # # Since: 2.2 # @@ -84,17 +80,13 @@ # @name: Event name pattern (case-sensitive glob). # @enable: Whether to enable tracing. # @ignore-unavailable: Do not match unavailable events with @name. -# @vcpu: The vCPU to act upon (all by default; since 2.7). +# @vcpu: The vCPU to act upon (deprecated since 8.1). # # An event's state is modified if: # -# - its name matches the @name pattern, and -# - if @vcpu is given, the event has the "vcpu" property. +# - its name matches the @name pattern # -# Therefore, if @vcpu is given, the operation will only match per-vCPU events, -# setting their state on the specified vCPU. Special case: if @name is an exact -# match, @vcpu is given and the event does not have the "vcpu" property, an -# error is returned. +# There are no longer and per-vCPU events so specifying it will never match. # # Since: 2.2 # From patchwork Fri May 5 15:53:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679307 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp437821wrs; Fri, 5 May 2023 08:54:24 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4JHAy1w36u0OLfq6Z+k549oimiJwBhiMxMW49IqkfI664HgjcH8Cg1q0qq1Lo5OrUlM7Et X-Received: by 2002:ac8:7dd1:0:b0:3ea:65d2:2fd1 with SMTP id c17-20020ac87dd1000000b003ea65d22fd1mr3465461qte.3.1683302064450; Fri, 05 May 2023 08:54:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302064; cv=none; d=google.com; s=arc-20160816; b=EbLMAIlyp7aHMcRmjoUjRS4DDqEZ9kWpcFsbUI9qi7MGzsqaem1xVAnV+Aum99PgJb mbcvrWODbXjSVAAZ/IAYuHwPjoSg7L8fDrxxP0aR5ItEOs2LQ1zts2Y9+os19pBnC/5r ET/i2Bzjffk92tCvyB2OydhM4npcaBlgYIfEUVvOERNI5xkVLEWKycZg3SiJ+XQNAT05 Wb8p6SSlEWKOSItmu8a+PwH5dUtbnIg5oBAyCVciY6KHt8Bj75NNpcjb21w68w7Z3z4s 4IUQRZbWrEUsjSoQCQ8RD2yVLFSKJeZgEMP7QES950LqLQfiJPKqCifRg0M6q6eoBebw tl9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=vwm6ODnzL49DruhubxW/tH362era7sBWDRPYlZnVub8=; b=CYQAv7E2LcyKgmw1oHT5GIvXwRs7uTLk+//2zhjqN+rUCoTtlZI3/uNLPvXkdINfWm DwFm4/sz9Johp6Hjq3hkKWQksKnlne83zY6sCDxD208wVQLJrZiJwFGN+lgY3WSQfdAB AitlrLI5eeEA2AHgKQTFtckDYlNWw5NpN+qv1Cqsog0pHUYk1/+R6Ro1zxh2IQUduGKt dV3yKQQK7a4GZpisWA6dkiMObjb6ttQoA9rkHr5qT6RzYygxncNrlykmItaOleqfbjLb AgFyS/gR4Ylm4TY5SYW5SCalfBRlaUBtYsUBedEPd9zdM+XeGc8PpMujHTODBBKEbyjv 4hAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IIE18W69; 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 j26-20020a05620a001a00b0074e06b1d50esi750888qki.253.2023.05.05.08.54.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:54: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=IIE18W69; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxkl-0003Pm-8e; Fri, 05 May 2023 11:53:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxkg-0003Ly-EM for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:46 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxkc-0008DN-Aw for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:45 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-306dbad5182so1334866f8f.1 for ; Fri, 05 May 2023 08:53:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302020; x=1685894020; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vwm6ODnzL49DruhubxW/tH362era7sBWDRPYlZnVub8=; b=IIE18W69bfYDJRBYSEH0eT4nQ9mcHyuLnV5PK97KgAYrFMkykTKkCJNGzhDfvX33cg 1BskWAQInGzI+YxN6eBzFaJJGuapjdgCUJiDbm9U6OdoODrkCsggvh0k6j+A05I5BMNH UDvDmiwVQKuJ81aGiZug9sO1yoNZge6dXd3Jezhjl7Sr3cyaOsaiaxE4zCYWJ9oNHuHR xzpjMSNAO1jkkVtwZG8C6hMFbs2rBCyNPJ8bwLnvdFiGDWWB90b3m16HLu1QRBuP3pPd u76gC5z7o4FsX9p7XSpzPlDH79ktWgntOFfTlvs6IuOSyDASV/CVMK7bepf3E27fsYRV uLmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302020; x=1685894020; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vwm6ODnzL49DruhubxW/tH362era7sBWDRPYlZnVub8=; b=BR/2zqd8MnkZskd2xuKY9W/jxyTtZJMxMLMBrJZlhN0mhb7J9Tetmmzm3XzZySiZJL irGGGAy5aW7/MhQ0omnURHjEVMInuGPF0PO2IlVrcap9UHRbDcW4rJG7yMZu4h5Oxl/+ mqDL1QIaQQBGs7qPScDWEhTD44c/TgTew/nS36CDI07C6GMAeoTa97hoU4gwKI4e0NRu vzWYIPXoDsBkCIxCEPP5GkOl5rF3pjfCam0uDaXviRI3loCHn9YoqxRyu93sXj22itOr bPbCMvCrKol5LNJ8A+hlZgprGh25I9kMH+tom+M41NnYgKIgGrbAhD3KB3TmqoAysuBg eSXA== X-Gm-Message-State: AC+VfDyqwgt5fO7SPB4xkhHTToILpmCCKbwgITszXUtNxprEQSlUGHb7 4hpWnaQqijSBIYQIFRhpZDPEXQ== X-Received: by 2002:adf:f0c2:0:b0:2f9:c2ab:e1de with SMTP id x2-20020adff0c2000000b002f9c2abe1demr1638142wro.14.1683302020623; Fri, 05 May 2023 08:53:40 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id t14-20020a5d460e000000b003047ae72b14sm2778183wrq.82.2023.05.05.08.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 50F9C1FFC1; Fri, 5 May 2023 16:53:37 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 06/10] trace: remove code that depends on setting vcpu Date: Fri, 5 May 2023 16:53:32 +0100 Message-Id: <20230505155336.137393-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x431.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Now we no longer have any events that are for vcpus we can start excising the code from the trace control. As the vcpu parameter is encoded as part of QMP we just stub out the has_vcpu/vcpu parameters rather than alter the API. Message-Id: <20230420150009.1675181-7-alex.bennee@linaro.org> Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-7-alex.bennee@linaro.org> --- trace/control-internal.h | 10 ---- trace/control-vcpu.h | 16 ------ trace/control.h | 48 ----------------- hw/core/cpu-common.c | 2 - stubs/trace-control.c | 13 ----- trace/control-target.c | 110 ++++----------------------------------- trace/control.c | 16 ------ trace/qmp.c | 74 +++----------------------- trace/trace-hmp-cmds.c | 17 +----- 9 files changed, 19 insertions(+), 287 deletions(-) diff --git a/trace/control-internal.h b/trace/control-internal.h index 0178121720..8d818d359b 100644 --- a/trace/control-internal.h +++ b/trace/control-internal.h @@ -25,16 +25,6 @@ static inline uint32_t trace_event_get_id(TraceEvent *ev) return ev->id; } -static inline uint32_t trace_event_get_vcpu_id(TraceEvent *ev) -{ - return 0; -} - -static inline bool trace_event_is_vcpu(TraceEvent *ev) -{ - return false; -} - static inline const char * trace_event_get_name(TraceEvent *ev) { assert(ev != NULL); diff --git a/trace/control-vcpu.h b/trace/control-vcpu.h index 0f98ebe7b5..800fc5a219 100644 --- a/trace/control-vcpu.h +++ b/trace/control-vcpu.h @@ -30,13 +30,6 @@ trace_event_get_vcpu_state_dynamic_by_vcpu_id( \ vcpu, _ ## id ## _EVENT.vcpu_id)) -/** - * trace_event_get_vcpu_state_dynamic: - * - * Get the dynamic tracing state of an event for the given vCPU. - */ -static bool trace_event_get_vcpu_state_dynamic(CPUState *vcpu, TraceEvent *ev); - #include "control-internal.h" static inline bool @@ -51,13 +44,4 @@ trace_event_get_vcpu_state_dynamic_by_vcpu_id(CPUState *vcpu, } } -static inline bool trace_event_get_vcpu_state_dynamic(CPUState *vcpu, - TraceEvent *ev) -{ - uint32_t vcpu_id; - assert(trace_event_is_vcpu(ev)); - vcpu_id = trace_event_get_vcpu_id(ev); - return trace_event_get_vcpu_state_dynamic_by_vcpu_id(vcpu, vcpu_id); -} - #endif diff --git a/trace/control.h b/trace/control.h index 23b8393b29..dfd209edd8 100644 --- a/trace/control.h +++ b/trace/control.h @@ -89,23 +89,6 @@ static bool trace_event_is_pattern(const char *str); */ static uint32_t trace_event_get_id(TraceEvent *ev); -/** - * trace_event_get_vcpu_id: - * - * Get the per-vCPU identifier of an event. - * - * Special value #TRACE_VCPU_EVENT_NONE means the event is not vCPU-specific - * (does not have the "vcpu" property). - */ -static uint32_t trace_event_get_vcpu_id(TraceEvent *ev); - -/** - * trace_event_is_vcpu: - * - * Whether this is a per-vCPU event. - */ -static bool trace_event_is_vcpu(TraceEvent *ev); - /** * trace_event_get_name: * @@ -172,21 +155,6 @@ static bool trace_event_get_state_dynamic(TraceEvent *ev); */ void trace_event_set_state_dynamic(TraceEvent *ev, bool state); -/** - * trace_event_set_vcpu_state_dynamic: - * - * Set the dynamic tracing state of an event for the given vCPU. - * - * Pre-condition: trace_event_get_vcpu_state_static(ev) == true - * - * Note: Changes for execution-time events with the 'tcg' property will not be - * propagated until the next TB is executed (iff executing in TCG mode). - */ -void trace_event_set_vcpu_state_dynamic(CPUState *vcpu, - TraceEvent *ev, bool state); - - - /** * trace_init_backends: * @@ -205,22 +173,6 @@ bool trace_init_backends(void); */ void trace_init_file(void); -/** - * trace_init_vcpu: - * @vcpu: Added vCPU. - * - * Set initial dynamic event state for a hot-plugged vCPU. - */ -void trace_init_vcpu(CPUState *vcpu); - -/** - * trace_fini_vcpu: - * @vcpu: Removed vCPU. - * - * Disable dynamic event state for a hot-unplugged vCPU. - */ -void trace_fini_vcpu(CPUState *vcpu); - /** * trace_list_events: * @f: Where to send output. diff --git a/hw/core/cpu-common.c b/hw/core/cpu-common.c index 951477a7fd..f4e51c8a1b 100644 --- a/hw/core/cpu-common.c +++ b/hw/core/cpu-common.c @@ -211,7 +211,6 @@ static void cpu_common_realizefn(DeviceState *dev, Error **errp) } /* NOTE: latest generic point where the cpu is fully realized */ - trace_init_vcpu(cpu); } static void cpu_common_unrealizefn(DeviceState *dev) @@ -219,7 +218,6 @@ static void cpu_common_unrealizefn(DeviceState *dev) CPUState *cpu = CPU(dev); /* NOTE: latest generic point before the cpu is fully unrealized */ - trace_fini_vcpu(cpu); cpu_exec_unrealizefn(cpu); } diff --git a/stubs/trace-control.c b/stubs/trace-control.c index 7f856e5c24..b428f34c87 100644 --- a/stubs/trace-control.c +++ b/stubs/trace-control.c @@ -36,16 +36,3 @@ void trace_event_set_state_dynamic(TraceEvent *ev, bool state) } } } - -void trace_event_set_vcpu_state_dynamic(CPUState *vcpu, - TraceEvent *ev, bool state) -{ - /* should never be called on non-target binaries */ - abort(); -} - -void trace_init_vcpu(CPUState *vcpu) -{ - /* should never be called on non-target binaries */ - abort(); -} diff --git a/trace/control-target.c b/trace/control-target.c index c6132f243f..1ae582af17 100644 --- a/trace/control-target.c +++ b/trace/control-target.c @@ -35,114 +35,22 @@ void trace_event_set_state_dynamic_init(TraceEvent *ev, bool state) void trace_event_set_state_dynamic(TraceEvent *ev, bool state) { - CPUState *vcpu; assert(trace_event_get_state_static(ev)); - if (trace_event_is_vcpu(ev) && likely(first_cpu != NULL)) { - CPU_FOREACH(vcpu) { - trace_event_set_vcpu_state_dynamic(vcpu, ev, state); - } - } else { - /* - * Without the "vcpu" property, dstate can only be 1 or 0. With it, we - * haven't instantiated any vCPU yet, so we will set a global state - * instead, and trace_init_vcpu will reconcile it afterwards. - */ - bool state_pre = *ev->dstate; - if (state_pre != state) { - if (state) { - trace_events_enabled_count++; - *ev->dstate = 1; - } else { - trace_events_enabled_count--; - *ev->dstate = 0; - } - } - } -} -static void trace_event_synchronize_vcpu_state_dynamic( - CPUState *vcpu, run_on_cpu_data ignored) -{ - bitmap_copy(vcpu->trace_dstate, vcpu->trace_dstate_delayed, - CPU_TRACE_DSTATE_MAX_EVENTS); - tcg_flush_jmp_cache(vcpu); -} - -void trace_event_set_vcpu_state_dynamic(CPUState *vcpu, - TraceEvent *ev, bool state) -{ - uint32_t vcpu_id; - bool state_pre; - assert(trace_event_get_state_static(ev)); - assert(trace_event_is_vcpu(ev)); - vcpu_id = trace_event_get_vcpu_id(ev); - state_pre = test_bit(vcpu_id, vcpu->trace_dstate); + /* + * There is no longer a "vcpu" property, dstate can only be 1 or + * 0. With it, we haven't instantiated any vCPU yet, so we will + * set a global state instead, and trace_init_vcpu will reconcile + * it afterwards. + */ + bool state_pre = *ev->dstate; if (state_pre != state) { if (state) { trace_events_enabled_count++; - set_bit(vcpu_id, vcpu->trace_dstate_delayed); - (*ev->dstate)++; + *ev->dstate = 1; } else { trace_events_enabled_count--; - clear_bit(vcpu_id, vcpu->trace_dstate_delayed); - (*ev->dstate)--; - } - if (vcpu->created) { - /* - * Delay changes until next TB; we want all TBs to be built from a - * single set of dstate values to ensure consistency of generated - * tracing code. - */ - async_run_on_cpu(vcpu, trace_event_synchronize_vcpu_state_dynamic, - RUN_ON_CPU_NULL); - } else { - trace_event_synchronize_vcpu_state_dynamic(vcpu, RUN_ON_CPU_NULL); - } - } -} - -static bool adding_first_cpu1(void) -{ - CPUState *cpu; - size_t count = 0; - CPU_FOREACH(cpu) { - count++; - if (count > 1) { - return false; - } - } - return true; -} - -static bool adding_first_cpu(void) -{ - bool res; - cpu_list_lock(); - res = adding_first_cpu1(); - cpu_list_unlock(); - return res; -} - -void trace_init_vcpu(CPUState *vcpu) -{ - TraceEventIter iter; - TraceEvent *ev; - trace_event_iter_init_all(&iter); - while ((ev = trace_event_iter_next(&iter)) != NULL) { - if (trace_event_is_vcpu(ev) && - trace_event_get_state_static(ev) && - trace_event_get_state_dynamic(ev)) { - if (adding_first_cpu()) { - /* check preconditions */ - assert(*ev->dstate == 1); - /* disable early-init state ... */ - *ev->dstate = 0; - trace_events_enabled_count--; - /* ... and properly re-enable */ - trace_event_set_vcpu_state_dynamic(vcpu, ev, true); - } else { - trace_event_set_vcpu_state_dynamic(vcpu, ev, true); - } + *ev->dstate = 0; } } } diff --git a/trace/control.c b/trace/control.c index 5dfb609954..1a48a7e266 100644 --- a/trace/control.c +++ b/trace/control.c @@ -262,22 +262,6 @@ void trace_init_file(void) #endif } -void trace_fini_vcpu(CPUState *vcpu) -{ - TraceEventIter iter; - TraceEvent *ev; - - trace_event_iter_init_all(&iter); - while ((ev = trace_event_iter_next(&iter)) != NULL) { - if (trace_event_is_vcpu(ev) && - trace_event_get_state_static(ev) && - trace_event_get_vcpu_state_dynamic(vcpu, ev)) { - /* must disable to affect the global counter */ - trace_event_set_vcpu_state_dynamic(vcpu, ev, false); - } - } -} - bool trace_init_backends(void) { #ifdef CONFIG_TRACE_SIMPLE diff --git a/trace/qmp.c b/trace/qmp.c index 3b4f4702b4..aa760f1fc4 100644 --- a/trace/qmp.c +++ b/trace/qmp.c @@ -13,20 +13,7 @@ #include "control-vcpu.h" -static CPUState *get_cpu(bool has_vcpu, int vcpu, Error **errp) -{ - if (has_vcpu) { - CPUState *cpu = qemu_get_cpu(vcpu); - if (cpu == NULL) { - error_setg(errp, "invalid vCPU index %u", vcpu); - } - return cpu; - } else { - return NULL; - } -} - -static bool check_events(bool has_vcpu, bool ignore_unavailable, bool is_pattern, +static bool check_events(bool ignore_unavailable, bool is_pattern, const char *name, Error **errp) { if (!is_pattern) { @@ -38,12 +25,6 @@ static bool check_events(bool has_vcpu, bool ignore_unavailable, bool is_pattern return false; } - /* error for non-vcpu event */ - if (has_vcpu && !trace_event_is_vcpu(ev)) { - error_setg(errp, "event \"%s\" is not vCPU-specific", name); - return false; - } - /* error for unavailable event */ if (!ignore_unavailable && !trace_event_get_state_static(ev)) { error_setg(errp, "event \"%s\" is disabled", name); @@ -70,22 +51,13 @@ TraceEventInfoList *qmp_trace_event_get_state(const char *name, bool has_vcpu, int64_t vcpu, Error **errp) { - Error *err = NULL; TraceEventInfoList *events = NULL; TraceEventIter iter; TraceEvent *ev; bool is_pattern = trace_event_is_pattern(name); - CPUState *cpu; - - /* Check provided vcpu */ - cpu = get_cpu(has_vcpu, vcpu, &err); - if (err) { - error_propagate(errp, err); - return NULL; - } /* Check events */ - if (!check_events(has_vcpu, true, is_pattern, name, errp)) { + if (!check_events(true, is_pattern, name, errp)) { return NULL; } @@ -93,33 +65,17 @@ TraceEventInfoList *qmp_trace_event_get_state(const char *name, trace_event_iter_init_pattern(&iter, name); while ((ev = trace_event_iter_next(&iter)) != NULL) { TraceEventInfo *value; - bool is_vcpu = trace_event_is_vcpu(ev); - if (has_vcpu && !is_vcpu) { - continue; - } value = g_new(TraceEventInfo, 1); - value->vcpu = is_vcpu; value->name = g_strdup(trace_event_get_name(ev)); if (!trace_event_get_state_static(ev)) { value->state = TRACE_EVENT_STATE_UNAVAILABLE; } else { - if (has_vcpu) { - if (is_vcpu) { - if (trace_event_get_vcpu_state_dynamic(cpu, ev)) { - value->state = TRACE_EVENT_STATE_ENABLED; - } else { - value->state = TRACE_EVENT_STATE_DISABLED; - } - } - /* else: already skipped above */ + if (trace_event_get_state_dynamic(ev)) { + value->state = TRACE_EVENT_STATE_ENABLED; } else { - if (trace_event_get_state_dynamic(ev)) { - value->state = TRACE_EVENT_STATE_ENABLED; - } else { - value->state = TRACE_EVENT_STATE_DISABLED; - } + value->state = TRACE_EVENT_STATE_DISABLED; } } QAPI_LIST_PREPEND(events, value); @@ -133,21 +89,12 @@ void qmp_trace_event_set_state(const char *name, bool enable, bool has_vcpu, int64_t vcpu, Error **errp) { - Error *err = NULL; TraceEventIter iter; TraceEvent *ev; bool is_pattern = trace_event_is_pattern(name); - CPUState *cpu; - - /* Check provided vcpu */ - cpu = get_cpu(has_vcpu, vcpu, &err); - if (err) { - error_propagate(errp, err); - return; - } /* Check events */ - if (!check_events(has_vcpu, has_ignore_unavailable && ignore_unavailable, + if (!check_events(has_ignore_unavailable && ignore_unavailable, is_pattern, name, errp)) { return; } @@ -155,14 +102,9 @@ void qmp_trace_event_set_state(const char *name, bool enable, /* Apply changes (all errors checked above) */ trace_event_iter_init_pattern(&iter, name); while ((ev = trace_event_iter_next(&iter)) != NULL) { - if (!trace_event_get_state_static(ev) || - (has_vcpu && !trace_event_is_vcpu(ev))) { + if (!trace_event_get_state_static(ev)) { continue; } - if (has_vcpu) { - trace_event_set_vcpu_state_dynamic(cpu, ev, enable); - } else { - trace_event_set_state_dynamic(ev, enable); - } + trace_event_set_state_dynamic(ev, enable); } } diff --git a/trace/trace-hmp-cmds.c b/trace/trace-hmp-cmds.c index 792876c34a..1d07672cb2 100644 --- a/trace/trace-hmp-cmds.c +++ b/trace/trace-hmp-cmds.c @@ -37,16 +37,9 @@ void hmp_trace_event(Monitor *mon, const QDict *qdict) { const char *tp_name = qdict_get_str(qdict, "name"); bool new_state = qdict_get_bool(qdict, "option"); - bool has_vcpu = qdict_haskey(qdict, "vcpu"); - int vcpu = qdict_get_try_int(qdict, "vcpu", 0); Error *local_err = NULL; - if (vcpu < 0) { - monitor_printf(mon, "argument vcpu must be positive"); - return; - } - - qmp_trace_event_set_state(tp_name, new_state, true, true, has_vcpu, vcpu, &local_err); + qmp_trace_event_set_state(tp_name, new_state, true, true, false, 0, &local_err); if (local_err) { error_report_err(local_err); } @@ -80,8 +73,6 @@ void hmp_trace_file(Monitor *mon, const QDict *qdict) void hmp_info_trace_events(Monitor *mon, const QDict *qdict) { const char *name = qdict_get_try_str(qdict, "name"); - bool has_vcpu = qdict_haskey(qdict, "vcpu"); - int vcpu = qdict_get_try_int(qdict, "vcpu", 0); TraceEventInfoList *events; TraceEventInfoList *elem; Error *local_err = NULL; @@ -89,12 +80,8 @@ void hmp_info_trace_events(Monitor *mon, const QDict *qdict) if (name == NULL) { name = "*"; } - if (vcpu < 0) { - monitor_printf(mon, "argument vcpu must be positive"); - return; - } - events = qmp_trace_event_get_state(name, has_vcpu, vcpu, &local_err); + events = qmp_trace_event_get_state(name, false, 0, &local_err); if (local_err) { error_report_err(local_err); return; From patchwork Fri May 5 15:53:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679312 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp438180wrs; Fri, 5 May 2023 08:55:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5nNXQ3ZmtKZxPuJSlC3jZYFpiYZYEC6yvC7+a/E/eEMQuJe8qU7GRR7NjprE9GYZ2mVlRf X-Received: by 2002:a05:622a:194:b0:3ef:231c:cee7 with SMTP id s20-20020a05622a019400b003ef231ccee7mr3725726qtw.7.1683302114966; Fri, 05 May 2023 08:55:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302114; cv=none; d=google.com; s=arc-20160816; b=qrRu2DXBSFXnUDyeDCmdjSbI5wi5hT1zUY2fpnKCPo+e8mrcYs+oqb5quM4rZCraWY OcygVbQsc6FKUKDWOXQ51T0tICTyrfkum8Dj5iVVE2NxuPpSpHhgfRx4vEqqLXoFyT9Q L7YMftOKizvx6sAEugHz5dmDwoeHXom80jESzsHC0y69TDQVMd9rwLvWpz1jNJCL4iKn uKt6Y3hBw4406IH3EgL5oScvPfaT1od1O5Aei+7qbi6G6o6erc7uBKE8Fi03qCk7mVhz DZzW/B3gUz7VXrSl/+AQiukphDT324kmtVcu1LYX4DXiZM+zk1i9iy9zz8CbZRDzM+Ls pkpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=/1RBvNRxHMYjEfv4JVTGObYYyuKugl6KdBGJDsp6ges=; b=uPHo/KsC35kA9TnFGs03nxrn+LVJSRsI8FmVYZgBQE1ziS4ATlH6htkY4P5v0J/KtA tzrk9NvYlBQOr6darirB41CmLKqYOX61N5CL2oyasr/5Uf0qlPkRIGEPLgN9oQvVklDS tr6fGaoP7J1NAu6KMKWHLHJdUIZEMfYZyjA8w5qdx964ai2GaH9QfiKVH2nyO4/34Hmh C3CGA3vz3RIOfAgybasBprIWfrvA8sOQh9bwke74Vbe6i/rkZdlLu9N5nRB8X/Df78Cb EwESVHcDjGdhQ6pvHlJOGpuZBpk8kFdTOyDcoMNR1J1Yw6VfZhKJHZq3xPuAaeTNFken DL6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=oiBMe+8W; 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 t2-20020ac85882000000b003e9fcfdb68esi667426qta.483.2023.05.05.08.55.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:55: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=oiBMe+8W; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxki-0003Ni-Pt; Fri, 05 May 2023 11:53:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxkg-0003Lx-EI for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:46 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxkc-0008DM-TJ for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:45 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-2f58125b957so1830044f8f.3 for ; Fri, 05 May 2023 08:53:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302020; x=1685894020; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/1RBvNRxHMYjEfv4JVTGObYYyuKugl6KdBGJDsp6ges=; b=oiBMe+8We6L9xfrUCZ7fmzVcMqfeRwcfRJg3gYxiAwT9srzPx7jbPPCfUs8+cuwM09 M1JDXPIVWxZR8K9jdQEiZoSNlzI3zSCezOKP/dUtHNrKCdyMLzBL8qFNVYTAhghaC8MD SvpeU0Swn3SJ/j9Sp5drNVhaNiezE98z906r9Wh5tCj9Ef86N5eYbwfIfbncciUg2Qct y/sD+37qa829yu0R2263PhnWAXgn5b/Bb1og8ESWEAd6f/mdAtp0kzqBLYyiw7Y5C77K TlI4mjVXEnWAbn+SvVj+b4ymgJ2WD0jLWcdrsOPDS78oQ5rxnNK6sYE85mlA3El7d5GI tyhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302020; x=1685894020; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/1RBvNRxHMYjEfv4JVTGObYYyuKugl6KdBGJDsp6ges=; b=QXVs1ocgSno3JEnSJ1ezH+02TGIn4qSXwyAEIXYupUY8q1rNapktddmrKrOrPptP/R jSS4efgJakvEWRAlMyagqthadMfMVaVsj5P5+sDcajsQ1z8QWsS+ZS2BnX3PXnEmnCt2 l1vp5y84ySaX7WER9ywAodzC1MekDq+fMiJ7VYwpM/uO4+ILGnYPEI8QoUBK6hX7WNCq Zw4QryZ9SOXnQ5Fc0JttzkFPfuM8BVNCWw0lb1WyE6PSjXNJ0q+JZPaZiFCoRpbePKNQ 5SleHxjPupGL5+JniiT+YW97Zdxt/D5mSjzcGOkFRb9hXPD7XBtrnt3JtmUKKi8yBwr1 VaYA== X-Gm-Message-State: AC+VfDypXq0hny3ESJTSgsiq/Go8ouD2vqlIGJi6yaZRMrxqlQPdNq7G kmOxvntT7pFPQRYACwQZTKg5VQ== X-Received: by 2002:a5d:510a:0:b0:304:79c1:725d with SMTP id s10-20020a5d510a000000b0030479c1725dmr1761366wrt.45.1683302020521; Fri, 05 May 2023 08:53:40 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id e7-20020adfe387000000b003064088a94fsm2763988wrm.16.2023.05.05.08.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 6C3261FFC2; Fri, 5 May 2023 16:53:37 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 07/10] trace: remove control-vcpu.h Date: Fri, 5 May 2023 16:53:33 +0100 Message-Id: <20230505155336.137393-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42f.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Now we no longer have vcpu controlled trace events we can excise the code that allows us to query its status. Message-Id: <20230420150009.1675181-8-alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-8-alex.bennee@linaro.org> --- trace/control-vcpu.h | 47 ----------------------------------- trace/qmp.c | 2 +- scripts/tracetool/format/h.py | 5 +--- 3 files changed, 2 insertions(+), 52 deletions(-) delete mode 100644 trace/control-vcpu.h diff --git a/trace/control-vcpu.h b/trace/control-vcpu.h deleted file mode 100644 index 800fc5a219..0000000000 --- a/trace/control-vcpu.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Interface for configuring and controlling the state of tracing events. - * - * Copyright (C) 2011-2016 Lluís Vilanova - * - * This work is licensed under the terms of the GNU GPL, version 2 or later. - * See the COPYING file in the top-level directory. - */ - -#ifndef TRACE__CONTROL_VCPU_H -#define TRACE__CONTROL_VCPU_H - -#include "control.h" -#include "event-internal.h" -#include "hw/core/cpu.h" - -/** - * trace_event_get_vcpu_state: - * @vcpu: Target vCPU. - * @id: Event identifier name. - * - * Get the tracing state of an event (both static and dynamic) for the given - * vCPU. - * - * If the event has the disabled property, the check will have no performance - * impact. - */ -#define trace_event_get_vcpu_state(vcpu, id) \ - ((id ##_ENABLED) && \ - trace_event_get_vcpu_state_dynamic_by_vcpu_id( \ - vcpu, _ ## id ## _EVENT.vcpu_id)) - -#include "control-internal.h" - -static inline bool -trace_event_get_vcpu_state_dynamic_by_vcpu_id(CPUState *vcpu, - uint32_t vcpu_id) -{ - /* it's on fast path, avoid consistency checks (asserts) */ - if (unlikely(trace_events_enabled_count)) { - return test_bit(vcpu_id, vcpu->trace_dstate); - } else { - return false; - } -} - -#endif diff --git a/trace/qmp.c b/trace/qmp.c index aa760f1fc4..3e3971c6a8 100644 --- a/trace/qmp.c +++ b/trace/qmp.c @@ -10,7 +10,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "qapi/qapi-commands-trace.h" -#include "control-vcpu.h" +#include "control.h" static bool check_events(bool ignore_unavailable, bool is_pattern, diff --git a/scripts/tracetool/format/h.py b/scripts/tracetool/format/h.py index 285d7b03a9..ea126b07ea 100644 --- a/scripts/tracetool/format/h.py +++ b/scripts/tracetool/format/h.py @@ -16,10 +16,7 @@ def generate(events, backend, group): - if group == "root": - header = "trace/control-vcpu.h" - else: - header = "trace/control.h" + header = "trace/control.h" out('/* This file is autogenerated by tracetool, do not edit. */', '', From patchwork Fri May 5 15:53:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679306 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp437734wrs; Fri, 5 May 2023 08:54:14 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ42ggk6kXftfRCYnbNmJ414cV6sNtB7ifyUEbANPNk0Gsb/+F0Lw33DxGXhpJSl25WeeHE2 X-Received: by 2002:a05:622a:1ba2:b0:3ef:7d5d:9c41 with SMTP id bp34-20020a05622a1ba200b003ef7d5d9c41mr2559966qtb.59.1683302054513; Fri, 05 May 2023 08:54:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302054; cv=none; d=google.com; s=arc-20160816; b=Yl1hfkEQXM0UQtWDpVNVOlLwBheUJWW5WIOocVqyct37FHKiUA1RnlzKF3y/eR4EzC kx2sli733RE+cruUboA6W1KHHPUPetq63VlFzsAwEBajwueXI+5B1xZVAudfgsk6qYoQ MXSfCIE1CXn1+W5KZtWjNqEtwlVn6nbw91JZWsqoo2TxihtM4oYybcPKxTMx5Q5ItCZs 5T2J8nZH+a4q3gPokQKBYFTWbWRUw+HtILK6uVx7kKzzHz/1KUNo7wBg/sZvyW8OZFVy FMGN6GfYJJ1dVwZvT105owGZfq5dg2A6KjaWJIqgyGD5Q4yjcEfwSXIoRe6Itlv+ybk1 cj4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=zoEEH2SuG2Jc65Yq/EaqjlTvHP7WVTKMHEseOjxo3JE=; b=M6EmXDeQ+Y4wrAyviJ9KPrDQBFGu+6OQGMiSXenWcYeZ1nMjOYGfI5sYMSA6p3MYPc IymSYvw+hZWww8xlKCbWpwsaMswqXGeUVe6jsaK0lDZzRSUbxcDmNyqMgMV97BqFvbnn ihqJeuwcdg5lgK7JDaKRRs3Bbypv/DbgHPTfMkza4+I8L76yKo4dYbEleA5zDi8qNbU7 24Q+YkkXwZqwsf8R9hsPheM1mCKwecp61A+wxhUhHbtfF4itguesKqEBQMD+J1MGyVBy Iy1V09i/DijzoBLeflGs/WLJvyfpeNtBfg/OeaHmYW9bJL+0Zvm7KlOOL9DW3Vr3I77j 4QQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Vq1pgt3c; 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 d14-20020a05620a136e00b0074e19a5793asi759643qkl.382.2023.05.05.08.54.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:54: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=Vq1pgt3c; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxkh-0003Nk-Sk; Fri, 05 May 2023 11:53:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxkg-0003M5-Ev for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:46 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxkd-0008Dv-B6 for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:46 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-3f315712406so104948825e9.0 for ; Fri, 05 May 2023 08:53:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302022; x=1685894022; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zoEEH2SuG2Jc65Yq/EaqjlTvHP7WVTKMHEseOjxo3JE=; b=Vq1pgt3cgbVS4TIbhrWIQe1uP9QRp6/PFRLzOumcKivyP7q1hUZtP6CYC05/JOsdzN Hf+CgKDXb1Tc5dR/V1JF6CxtCd0tAQ5e5rbhn1IlOzyxVWapFRoMBRHF9P9lgInc1pp7 j72xtSnC/ovUTf17Yeny2spbi51Wf4O/o9hYSMW8lrJRDozSlc7GUwwhPZh+/uABAbFp VXFCxN52l9CAwJWZ64G+Yk+GtNgWqCed0MzGr569FcPFIVUEbUrLjicpnVJ06GhypYhb 7vmf6414vOe+9V0eBGCVElvLSErHJqyln40G41V3n7QzLOCYPkkYu6lfVy5h2jO4H+HK naRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302022; x=1685894022; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zoEEH2SuG2Jc65Yq/EaqjlTvHP7WVTKMHEseOjxo3JE=; b=D0he69xubj6nevu+bGcdr3QrLLn0aNXmQZ4bLi+V1HQ3bBiNtmrUDfvVkBdjzAgwHT OJaGvb+HgEN9TEA2Hwa2WYS41Qpb1e1F4wB/8M16GS7xq2Le6v6IliX1ih/57Ll0GpQ4 3TOzmAO6BPA/fGqP/mrcMdZ8O2JYNrMlPHAu/N9IhMTbZJ6G7HKl6zH/eMaIB8xjBAJj Hiq+VVVQWaqbpyRgZVWUAY0F3+/GJrv7j5zLNRcyeo0no0lAeR8pa635iIr4yfWyjoaC 3GWzfzT1ROUHjotc1u5gM9MCDcCS5YKKPFavIeQIDdV2UarNUZNEm89/D5+avlxDPF9C oHRQ== X-Gm-Message-State: AC+VfDwJ/B0Bu64mGdA0do6DV6hPM4PhgSJYDk4t5+8s8/iSsTyE/E5u mof0HeNRZylyx1yDiBRf+tmQkg== X-Received: by 2002:a5d:5233:0:b0:2f8:1305:dce1 with SMTP id i19-20020a5d5233000000b002f81305dce1mr1796857wra.19.1683302021798; Fri, 05 May 2023 08:53:41 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id k11-20020adff5cb000000b0030649242b72sm2751012wrp.113.2023.05.05.08.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 8EDB81FFC3; Fri, 5 May 2023 16:53:37 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 08/10] tcg: remove the final vestiges of dstate Date: Fri, 5 May 2023 16:53:34 +0100 Message-Id: <20230505155336.137393-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Now we no longer have dynamic state affecting things we can remove the additional fields in cpu.h and simplify the TB hash calculation. For the benchmark: hyperfine -w 2 -m 20 \ "./arm-softmmu/qemu-system-arm -cpu cortex-a15 \ -machine type=virt,highmem=off \ -display none -m 2048 \ -serial mon:stdio \ -netdev user,id=unet,hostfwd=tcp::2222-:22 \ -device virtio-net-pci,netdev=unet \ -device virtio-scsi-pci \ -blockdev driver=raw,node-name=hd,discard=unmap,file.driver=host_device,file.filename=/dev/zen-disk/debian-bullseye-armhf \ -device scsi-hd,drive=hd -smp 4 \ -kernel /home/alex/lsrc/linux.git/builds/arm/arch/arm/boot/zImage \ -append 'console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark.service' \ -snapshot" It has a marginal effect on runtime, before: Time (mean ± σ): 26.279 s ± 2.438 s [User: 41.113 s, System: 1.843 s] Range (min … max): 24.420 s … 32.565 s 20 runs after: Time (mean ± σ): 24.440 s ± 2.885 s [User: 34.474 s, System: 2.028 s] Range (min … max): 21.663 s … 29.937 s 20 runs Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1358 Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-9-alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé --- accel/tcg/tb-hash.h | 6 +++--- include/exec/exec-all.h | 3 --- include/hw/core/cpu.h | 5 ----- accel/tcg/cpu-exec.c | 7 +------ accel/tcg/tb-maint.c | 5 ++--- accel/tcg/translate-all.c | 6 ------ 6 files changed, 6 insertions(+), 26 deletions(-) diff --git a/accel/tcg/tb-hash.h b/accel/tcg/tb-hash.h index 83dc610e4c..1d19c69caa 100644 --- a/accel/tcg/tb-hash.h +++ b/accel/tcg/tb-hash.h @@ -61,10 +61,10 @@ static inline unsigned int tb_jmp_cache_hash_func(target_ulong pc) #endif /* CONFIG_SOFTMMU */ static inline -uint32_t tb_hash_func(tb_page_addr_t phys_pc, target_ulong pc, uint32_t flags, - uint32_t cf_mask, uint32_t trace_vcpu_dstate) +uint32_t tb_hash_func(tb_page_addr_t phys_pc, target_ulong pc, + uint32_t flags, uint32_t cf_mask) { - return qemu_xxhash7(phys_pc, pc, flags, cf_mask, trace_vcpu_dstate); + return qemu_xxhash6(phys_pc, pc, flags, cf_mask); } #endif diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index ecded1f112..3ee76af28b 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -548,9 +548,6 @@ struct TranslationBlock { #define CF_CLUSTER_MASK 0xff000000 /* Top 8 bits are cluster ID */ #define CF_CLUSTER_SHIFT 24 - /* Per-vCPU dynamic tracing state used to generate this TB */ - uint32_t trace_vcpu_dstate; - /* * Above fields used for comparing */ diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 397fd3ac68..4b399643d0 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -262,7 +262,6 @@ typedef void (*run_on_cpu_func)(CPUState *cpu, run_on_cpu_data data); struct qemu_work_item; #define CPU_UNSET_NUMA_NODE_ID -1 -#define CPU_TRACE_DSTATE_MAX_EVENTS 32 /** * CPUState: @@ -403,10 +402,6 @@ struct CPUState { /* Use by accel-block: CPU is executing an ioctl() */ QemuLockCnt in_ioctl_lock; - /* Used for events with 'vcpu' and *without* the 'disabled' properties */ - DECLARE_BITMAP(trace_dstate_delayed, CPU_TRACE_DSTATE_MAX_EVENTS); - DECLARE_BITMAP(trace_dstate, CPU_TRACE_DSTATE_MAX_EVENTS); - DECLARE_BITMAP(plugin_mask, QEMU_PLUGIN_EV_MAX); #ifdef CONFIG_PLUGIN diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index bc0e1c3299..973da2a434 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -175,7 +175,6 @@ struct tb_desc { tb_page_addr_t page_addr0; uint32_t flags; uint32_t cflags; - uint32_t trace_vcpu_dstate; }; static bool tb_lookup_cmp(const void *p, const void *d) @@ -187,7 +186,6 @@ static bool tb_lookup_cmp(const void *p, const void *d) tb_page_addr0(tb) == desc->page_addr0 && tb->cs_base == desc->cs_base && tb->flags == desc->flags && - tb->trace_vcpu_dstate == desc->trace_vcpu_dstate && tb_cflags(tb) == desc->cflags) { /* check next page if needed */ tb_page_addr_t tb_phys_page1 = tb_page_addr1(tb); @@ -228,7 +226,6 @@ static TranslationBlock *tb_htable_lookup(CPUState *cpu, target_ulong pc, desc.cs_base = cs_base; desc.flags = flags; desc.cflags = cflags; - desc.trace_vcpu_dstate = *cpu->trace_dstate; desc.pc = pc; phys_pc = get_page_addr_code(desc.env, pc); if (phys_pc == -1) { @@ -236,7 +233,7 @@ static TranslationBlock *tb_htable_lookup(CPUState *cpu, target_ulong pc, } desc.page_addr0 = phys_pc; h = tb_hash_func(phys_pc, (cflags & CF_PCREL ? 0 : pc), - flags, cflags, *cpu->trace_dstate); + flags, cflags); return qht_lookup_custom(&tb_ctx.htable, &desc, h, tb_lookup_cmp); } @@ -263,7 +260,6 @@ static inline TranslationBlock *tb_lookup(CPUState *cpu, target_ulong pc, jc->array[hash].pc == pc && tb->cs_base == cs_base && tb->flags == flags && - tb->trace_vcpu_dstate == *cpu->trace_dstate && tb_cflags(tb) == cflags)) { return tb; } @@ -282,7 +278,6 @@ static inline TranslationBlock *tb_lookup(CPUState *cpu, target_ulong pc, tb->pc == pc && tb->cs_base == cs_base && tb->flags == flags && - tb->trace_vcpu_dstate == *cpu->trace_dstate && tb_cflags(tb) == cflags)) { return tb; } diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c index cb1f806f00..432a0cffdb 100644 --- a/accel/tcg/tb-maint.c +++ b/accel/tcg/tb-maint.c @@ -50,7 +50,6 @@ static bool tb_cmp(const void *ap, const void *bp) a->cs_base == b->cs_base && a->flags == b->flags && (tb_cflags(a) & ~CF_INVALID) == (tb_cflags(b) & ~CF_INVALID) && - a->trace_vcpu_dstate == b->trace_vcpu_dstate && tb_page_addr0(a) == tb_page_addr0(b) && tb_page_addr1(a) == tb_page_addr1(b)); } @@ -888,7 +887,7 @@ static void do_tb_phys_invalidate(TranslationBlock *tb, bool rm_from_page_list) /* remove the TB from the hash list */ phys_pc = tb_page_addr0(tb); h = tb_hash_func(phys_pc, (orig_cflags & CF_PCREL ? 0 : tb->pc), - tb->flags, orig_cflags, tb->trace_vcpu_dstate); + tb->flags, orig_cflags); if (!qht_remove(&tb_ctx.htable, tb, h)) { return; } @@ -969,7 +968,7 @@ TranslationBlock *tb_link_page(TranslationBlock *tb, tb_page_addr_t phys_pc, /* add in the hash table */ h = tb_hash_func(phys_pc, (tb->cflags & CF_PCREL ? 0 : tb->pc), - tb->flags, tb->cflags, tb->trace_vcpu_dstate); + tb->flags, tb->cflags); qht_insert(&tb_ctx.htable, tb, h, &existing_tb); /* remove TB from the page(s) if we couldn't insert it */ diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 5b13281119..2ea42970e1 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -65,11 +65,6 @@ #include "internal.h" #include "perf.h" -/* Make sure all possible CPU event bits fit in tb->trace_vcpu_dstate */ -QEMU_BUILD_BUG_ON(CPU_TRACE_DSTATE_MAX_EVENTS > - sizeof_field(TranslationBlock, trace_vcpu_dstate) - * BITS_PER_BYTE); - TBContext tb_ctx; /* Encode VAL as a signed leb128 sequence at P. @@ -348,7 +343,6 @@ TranslationBlock *tb_gen_code(CPUState *cpu, tb->cs_base = cs_base; tb->flags = flags; tb->cflags = cflags; - tb->trace_vcpu_dstate = *cpu->trace_dstate; tb_set_page_addr0(tb, phys_pc); tb_set_page_addr1(tb, -1); tcg_ctx->gen_tb = tb; From patchwork Fri May 5 15:53:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679308 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp437946wrs; Fri, 5 May 2023 08:54:41 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4NFu+7P5C/woyltSMOf3BkSnNnfAH/YNeaWXRLrgs5vXyGukAH+a/40DD/jQfzg578am5t X-Received: by 2002:ac8:5708:0:b0:3ef:58ac:82f4 with SMTP id 8-20020ac85708000000b003ef58ac82f4mr2820735qtw.38.1683302080937; Fri, 05 May 2023 08:54:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302080; cv=none; d=google.com; s=arc-20160816; b=tYUB0WMW4AzA82tQTmE+7yiKuUXr/TDlK1J9uyfcpBMkylkFVHZzoTO8g7xqNiEOzb +l6R8e34o4NdKgBZG/cmecdlvkUFoXU6YxiX8qy1ea3YvPuO7f2CEEFC/8/g4fxw4/3L SitPGXAwC+/MD/irL3O/zGdW1//++iqbnMbzEyXK7WAuFL38wZacPPDuqMn5/qUdUEs7 yScn/id4+VkZOg36CMa6xBZnzOEKbVzopNfB9IvURZaY4LFw1hJuHUPgd24AaCVqTy/y W8k70xHWR7jeYSDuRqetiWIMSDaDc1glDszQhueCpsCKWQn2L7KrdsmdsthcKFPqRQv9 cSdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=YSUPI0kqOU4QQe2wmlnWCjPR8JbP43bVwIlQhLoBovg=; b=lxjc/wsfoks7VMeJCehTgnZc3RKgL9RHJWWaVazXCGMkiP+gI3iuu81eIau9NsEGye +gBh2zr37lAtPuPqGJpugkxpvBw7uiVH2xLAPHYYgyVNUNxdhSTLG2TH1uFBG7kA6Eyc brSfmFv7Bq5cqwRXNGsWkMDP8lCW0Ezadro4TY5aHC/7gmDych8JkwXLeTNFGsEx0uMs HwFmMKKPUoJll8z3fRZBCetYNOclcozcotPWyhvyfyu2JlXp7yq9pUHOgl9+PLAA4sLs WdzsRs/+MC6PpM3dlIJ+D6vq2RByNX7r+cJogvkJUxqOoxq+pf+aTHe/6MdmhJAi6XrQ vlpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=p+uuu3Od; 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 b13-20020ac85bcd000000b003e64495e392si692689qtb.248.2023.05.05.08.54.40 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:54: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=p+uuu3Od; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxkj-0003OK-Je; Fri, 05 May 2023 11:53:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxkg-0003Lz-Eq for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:46 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxkd-0008Dn-4M for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:45 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-2f58125b957so1830062f8f.3 for ; Fri, 05 May 2023 08:53:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302021; x=1685894021; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YSUPI0kqOU4QQe2wmlnWCjPR8JbP43bVwIlQhLoBovg=; b=p+uuu3OdeqKErZ7XJLjeIihTSXE/arxZM29ZZYqimh2KpeO7I8/isig7BR3IRHXfwW nd8PhBkKfjauFwE2ME4um7FpKd9cubO8kYlly1ht40tiPBWn5J9+abLORCBu9/ko+HYP CZjRbBe8jF69plo0ZST+se36gUE/Sgd9VKO5GoWI45ik3pWlFnY0+abqje1gxe4C4w/w ZszX+VVWkJ9yL1W0akhys2Aduu6rMIn9Z1A59/FmuiPkI+OP1aUsvUFMWspz1deRCsfN kyv5UGMkXmtr2JgYeBqroKhrIw04i/VJdUxOns7j/gekaTSZPQcSA1XEUCRAWDPM8hmm nJTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302021; x=1685894021; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YSUPI0kqOU4QQe2wmlnWCjPR8JbP43bVwIlQhLoBovg=; b=Ogy0IyjZYfO22fdTw/xQVkGSW31P3ECqoF8NcPTdZdV8psrAHyLh1XrGrfy3W+pdya Ld/2D8UGCZxCKgNOTIPSVRF45XDHPsh8Oe4E1jL0fei1qWuCrS/0y/MH/vef5FutagwL UqtAZBVZwDG4bddWOQZltChmzymBd+ZsE7mNWwyVks7ds5vnXsRZIPhSZyTX5Jn8roEv 6mMAFXxkKXI2bTJzca7M/mGpyh7Qe+OwCbBMW7LRT1h1ITop5TrRrcnwLKn7nPfhtv04 Mt8nFolsoneFx0MbCZ8e5pF3WjMV8NNayD9VN/sojX18SD0WdZL7RoUffkJYEjaxWFws yX0g== X-Gm-Message-State: AC+VfDzjkrW1enF2RlgU6H+JIazZrhlN8ezLe6HGSNLI0J9LlqLcrjXc 6tAcP1BDARuKsWmBBUghnu3INg== X-Received: by 2002:a05:6000:1088:b0:306:3ec8:289d with SMTP id y8-20020a056000108800b003063ec8289dmr1846940wrw.46.1683302021596; Fri, 05 May 2023 08:53:41 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id q14-20020a7bce8e000000b003f182a10106sm8404594wmj.8.2023.05.05.08.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id A703F1FFC4; Fri, 5 May 2023 16:53:37 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 09/10] hw/9pfs: use qemu_xxhash4 Date: Fri, 5 May 2023 16:53:35 +0100 Message-Id: <20230505155336.137393-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x432.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org No need to pass zeros as we have helpers that do that for us. Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Christian Schoenebeck Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20230503091756.1453057-10-alex.bennee@linaro.org> --- v3 - remove stale comment --- hw/9pfs/9p.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c index 9621ec1341..991645adca 100644 --- a/hw/9pfs/9p.c +++ b/hw/9pfs/9p.c @@ -738,15 +738,14 @@ static VariLenAffix affixForIndex(uint64_t index) return invertAffix(&prefix); /* convert prefix to suffix */ } -/* creative abuse of tb_hash_func7, which is based on xxhash */ static uint32_t qpp_hash(QppEntry e) { - return qemu_xxhash7(e.ino_prefix, e.dev, 0, 0, 0); + return qemu_xxhash4(e.ino_prefix, e.dev); } static uint32_t qpf_hash(QpfEntry e) { - return qemu_xxhash7(e.ino, e.dev, 0, 0, 0); + return qemu_xxhash4(e.ino, e.dev); } static bool qpd_cmp_func(const void *obj, const void *userp) From patchwork Fri May 5 15:53:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 679311 Delivered-To: patch@linaro.org Received: by 2002:a5d:4a41:0:0:0:0:0 with SMTP id v1csp438156wrs; Fri, 5 May 2023 08:55:11 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ76YB4n1GsKe4qK92iF113YrQNITbFKHRZjYQVdkmB95oUQwqEzPY3PbhjLlMo414BktPaY X-Received: by 2002:a05:622a:190c:b0:3ef:3824:b8b0 with SMTP id w12-20020a05622a190c00b003ef3824b8b0mr10956041qtc.5.1683302111239; Fri, 05 May 2023 08:55:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683302111; cv=none; d=google.com; s=arc-20160816; b=H1SmFn7gEKyN6qyOPBISFylkcqejqqEjmUxnsMRWTIiIcYMx9so6sIO1SusmR0mZDi oemPHprng/CgtQq+snWHhNCxEqz5fEirY3XrmrV6jlSehoou82r/vNibF/48Oi7W/OGh IGZQ2LofynuLeLg+VKpC8p5Q+PR3Qmgo4uM/T6v8AVAwvEn39Arm8G0QgH2utdu0q+A6 r8L7gNroEu2R/KeMaHQk0RRX4Xmanu8wJ94715mhj1k2LD6OnwiD5M2TY9C+wkF56Rl2 Oe7Mr97pDDasSm9MOMhMP02Nerd+XwMemCsgTGCZxMehM0xS+D7z1itkbbpB6jJDeCqW rW/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to: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:cc:to :from:dkim-signature; bh=5v8fvq4VC0aPq5wotViTt43FBb9CbIW+fQM89RxcOGc=; b=XFZ0/q2YUg0K/DMCbFIcJDzCSnbEWwLueFNATrek3l6Z8tSdfkPt6G8SZIePPST/JZ EXSiJ8JTCrEzIkOQOArw/GbLMqXNXdb5xUwFIe3nHwVi14iPoUwW5n9obitJiiQoPkN4 f8RgsZudlTrELQ+VsKiz/0D46je4QzKJ0E+cSWNE75tFEFGd7xS0L1bJ/4v6VL6351zw eV3eyfzq7SzwnQFNxyqqHVLPLMoLQtL/8baU1ijYNlzRjy40EuPmal+omoARFPtiRP0S pvqtI01Hc2vVdEaCdKIECmIXD8tdqR7kJjaJ0NJHDx+g7iBUTZIsuc1wzHK0oFUE/vzG 5o9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GGxOjGa6; 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 s4-20020a05620a16a400b0075137bfbeacsi768750qkj.219.2023.05.05.08.55.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 05 May 2023 08:55:11 -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=GGxOjGa6; 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] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxkj-0003O7-E6; Fri, 05 May 2023 11:53:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxke-0003Ky-93 for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:44 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxkb-0008DJ-Ko for qemu-devel@nongnu.org; Fri, 05 May 2023 11:53:43 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-3f1e2555b5aso14088455e9.0 for ; Fri, 05 May 2023 08:53:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683302020; x=1685894020; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5v8fvq4VC0aPq5wotViTt43FBb9CbIW+fQM89RxcOGc=; b=GGxOjGa6F4eAynplYybIhj5pDH0sJRzFcZoqX+dXOGuOmZLYd2l9w0WJq3nG4Haug/ fSWl7cpSKal4D35Fc7ACKxQzbaSqNf1g00+4kC4ZScGzw0FPTRGBkJ8oP7bqJ28u4Py6 lEvP0UF/3OA2JBz7H8D07NUfaZxuBSSkjZTaFqm+tISYw/cFB91RoLufWDx+xzCys1ub NB/Sr8x/SWx/VmVstWWhdWau4xWgf7PDo3i0ajRz2HMOZHShuzYOWwH3yKgX3veHjOTZ pyi7EFlsMX7vpa7/MlKX8mQQxoH9tcLsQxXSSoAImOrVW7o1+7yKDeCCudQ1u08Or5B1 ilCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683302020; x=1685894020; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5v8fvq4VC0aPq5wotViTt43FBb9CbIW+fQM89RxcOGc=; b=ZHX+TZLX7AZIc1MWONPrvPJvBqeEgJPhpKSSBrT8/+rLQZbP27m1yRlmDPvvs5J3mQ fyqt+mjcFLB+kJly/39UAGa3i3rr4nIZ5R/Hotkr5VfkKN/KaDkv0rxTDefPMTuI+sA9 4zmfUapdHaSrAbdgOlQhP8Wvym1Krm4TkT4xODYFfSXJO5/B4zawfMJ0o9+aLSBeyfN1 R30U2vZS/Ims3WKC7eKsKLrSpLGEIHvIjlvKR+0dFTxhucuQWgJ7IiZPs1lGeAY9g1bd jsMKlWgom6PDZUHGR6PzbMG/G/1woRg9SkNy/hiOYQWAipuK7IVNaC5FQMPVR4yZmEcy uw5Q== X-Gm-Message-State: AC+VfDwdX6BjkskQQG5fDZRpoVzdPHDi8jvWY199DnvfE5BSaSfhZ4ad ZICZRBlI1FG+GRMVwU413kufWA== X-Received: by 2002:a05:600c:21d0:b0:3f1:8aaa:c20c with SMTP id x16-20020a05600c21d000b003f18aaac20cmr1549221wmj.7.1683302020267; Fri, 05 May 2023 08:53:40 -0700 (PDT) Received: from zen.linaroharston ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id n3-20020a5d4843000000b003047d5b8817sm2771261wrs.80.2023.05.05.08.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 May 2023 08:53:39 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id C6E5E1FFC5; Fri, 5 May 2023 16:53:37 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: Stefan Hajnoczi , qemu-devel@nongnu.org Cc: Marcel Apfelbaum , Christian Schoenebeck , Michael Roth , Eric Blake , Paolo Bonzini , Greg Kurz , Eduardo Habkost , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Kyle Evans , Warner Losh , Richard Henderson , Markus Armbruster , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= Subject: [PATCH v3 10/10] accel/tcg: include cs_base in our hash calculations Date: Fri, 5 May 2023 16:53:36 +0100 Message-Id: <20230505155336.137393-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230505155336.137393-1-alex.bennee@linaro.org> References: <20230505155336.137393-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org We weren't using cs_base in the hash calculations before. Since the arm front end moved a chunk of flags in a378206a20 (target/arm: Move mode specific TB flags to tb->cs_base) they comprise of an important part of the execution state. Widen the tb_hash_func to include cs_base and expand to qemu_xxhash8() to accommodate it. My initial benchmark run on armhf shows very little difference in the runtime. Before: Time (mean ± σ): 24.440 s ± 2.885 s [User: 34.474 s, System: 2.028 s] Range (min … max): 21.663 s … 29.937 s 20 runs After: Time (mean ± σ): 24.348 s ± 2.717 s [User: 34.668 s, System: 1.859 s] Range (min … max): 21.830 s … 30.093 s 20 runs Signed-off-by: Alex Bennée --- accel/tcg/tb-hash.h | 5 +++-- include/qemu/xxhash.h | 21 +++++++++++++++------ accel/tcg/cpu-exec.c | 2 +- accel/tcg/tb-maint.c | 4 ++-- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/accel/tcg/tb-hash.h b/accel/tcg/tb-hash.h index 1d19c69caa..8cbafb5494 100644 --- a/accel/tcg/tb-hash.h +++ b/accel/tcg/tb-hash.h @@ -62,9 +62,10 @@ static inline unsigned int tb_jmp_cache_hash_func(target_ulong pc) static inline uint32_t tb_hash_func(tb_page_addr_t phys_pc, target_ulong pc, - uint32_t flags, uint32_t cf_mask) + uint32_t flags, uint64_t flags2, uint32_t cf_mask) { - return qemu_xxhash6(phys_pc, pc, flags, cf_mask); + return qemu_xxhash8(phys_pc, pc, flags, + flags2 & 0xffff, flags2 >> 32, cf_mask); } #endif diff --git a/include/qemu/xxhash.h b/include/qemu/xxhash.h index c2dcccadbf..cd7054f07e 100644 --- a/include/qemu/xxhash.h +++ b/include/qemu/xxhash.h @@ -48,8 +48,8 @@ * xxhash32, customized for input variables that are not guaranteed to be * contiguous in memory. */ -static inline uint32_t -qemu_xxhash7(uint64_t ab, uint64_t cd, uint32_t e, uint32_t f, uint32_t g) +static inline uint32_t qemu_xxhash8(uint64_t ab, uint64_t cd, uint32_t e, + uint32_t f, uint32_t g, uint32_t h) { uint32_t v1 = QEMU_XXHASH_SEED + PRIME32_1 + PRIME32_2; uint32_t v2 = QEMU_XXHASH_SEED + PRIME32_2; @@ -89,6 +89,9 @@ qemu_xxhash7(uint64_t ab, uint64_t cd, uint32_t e, uint32_t f, uint32_t g) h32 += g * PRIME32_3; h32 = rol32(h32, 17) * PRIME32_4; + h32 += h * PRIME32_3; + h32 = rol32(h32, 17) * PRIME32_4; + h32 ^= h32 >> 15; h32 *= PRIME32_2; h32 ^= h32 >> 13; @@ -100,23 +103,29 @@ qemu_xxhash7(uint64_t ab, uint64_t cd, uint32_t e, uint32_t f, uint32_t g) static inline uint32_t qemu_xxhash2(uint64_t ab) { - return qemu_xxhash7(ab, 0, 0, 0, 0); + return qemu_xxhash8(ab, 0, 0, 0, 0, 0); } static inline uint32_t qemu_xxhash4(uint64_t ab, uint64_t cd) { - return qemu_xxhash7(ab, cd, 0, 0, 0); + return qemu_xxhash8(ab, cd, 0, 0, 0, 0); } static inline uint32_t qemu_xxhash5(uint64_t ab, uint64_t cd, uint32_t e) { - return qemu_xxhash7(ab, cd, e, 0, 0); + return qemu_xxhash8(ab, cd, e, 0, 0, 0); } static inline uint32_t qemu_xxhash6(uint64_t ab, uint64_t cd, uint32_t e, uint32_t f) { - return qemu_xxhash7(ab, cd, e, f, 0); + return qemu_xxhash8(ab, cd, e, f, 0, 0); +} + +static inline uint32_t qemu_xxhash7(uint64_t ab, uint64_t cd, uint32_t e, + uint32_t f, uint32_t g) +{ + return qemu_xxhash8(ab, cd, e, f, g, 0); } /* diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index 973da2a434..8d67198e56 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -233,7 +233,7 @@ static TranslationBlock *tb_htable_lookup(CPUState *cpu, target_ulong pc, } desc.page_addr0 = phys_pc; h = tb_hash_func(phys_pc, (cflags & CF_PCREL ? 0 : pc), - flags, cflags); + flags, cs_base, cflags); return qht_lookup_custom(&tb_ctx.htable, &desc, h, tb_lookup_cmp); } diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c index 432a0cffdb..52d17815e4 100644 --- a/accel/tcg/tb-maint.c +++ b/accel/tcg/tb-maint.c @@ -887,7 +887,7 @@ static void do_tb_phys_invalidate(TranslationBlock *tb, bool rm_from_page_list) /* remove the TB from the hash list */ phys_pc = tb_page_addr0(tb); h = tb_hash_func(phys_pc, (orig_cflags & CF_PCREL ? 0 : tb->pc), - tb->flags, orig_cflags); + tb->flags, tb->cs_base, orig_cflags); if (!qht_remove(&tb_ctx.htable, tb, h)) { return; } @@ -968,7 +968,7 @@ TranslationBlock *tb_link_page(TranslationBlock *tb, tb_page_addr_t phys_pc, /* add in the hash table */ h = tb_hash_func(phys_pc, (tb->cflags & CF_PCREL ? 0 : tb->pc), - tb->flags, tb->cflags); + tb->flags, tb->cs_base, tb->cflags); qht_insert(&tb_ctx.htable, tb, h, &existing_tb); /* remove TB from the page(s) if we couldn't insert it */