From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 210B7C6379F for ; Tue, 17 Jan 2023 16:19:32 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pHogL-0006MP-2o; Tue, 17 Jan 2023 11:19:29 -0500 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 1pHogC-0006HL-Fe for qemu-devel@nongnu.org; Tue, 17 Jan 2023 11:19:21 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHogA-0004gt-RA for qemu-devel@nongnu.org; Tue, 17 Jan 2023 11:19:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1673972350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JtItVWKzild6jH493vlo4opTZuI50sw68RPYlf6mPL4=; b=bdhsXgRm/rycBWQLnih9ol0mmRaPyfzwoa9wEwFlw7P3VNwyyOvwaE6+8PywesHyp8MyQC sgvf/poA1QVvNMEH2lN3nIa0CajRbHMWna/b8SQJHyhbWQtxghMurmKxlLDF7AlXdPOmvi VSzdu4w1Ne5eirLz4mHt8J81pWnAWBQ= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-617-kiMQ25CdPsy0V3FG50JIaw-1; Tue, 17 Jan 2023 11:08:16 -0500 X-MC-Unique: kiMQ25CdPsy0V3FG50JIaw-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AFC993C11C63; Tue, 17 Jan 2023 15:59:51 +0000 (UTC) Received: from redhat.com (unknown [10.39.194.190]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3FF39C15BA0; Tue, 17 Jan 2023 15:59:49 +0000 (UTC) Date: Tue, 17 Jan 2023 16:59:47 +0100 From: Kevin Wolf To: Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= Cc: Emanuele Giuseppe Esposito , qemu-devel@nongnu.org, Warner Losh , Kyle Evans , Stefan Hajnoczi , Paolo Bonzini , Alex =?iso-8859-1?Q?Benn=E9e?= , Thomas Huth , Richard Henderson Subject: Re: [PATCH 3/3] configure: Enable -Wthread-safety if present Message-ID: References: <20230117135203.3049709-1-eesposit@redhat.com> <20230117135203.3049709-4-eesposit@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 Received-SPF: pass client-ip=170.10.129.124; envelope-from=kwolf@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Am 17.01.2023 um 16:01 hat Daniel P. Berrang=E9 geschrieben: > On Tue, Jan 17, 2023 at 03:41:29PM +0100, Emanuele Giuseppe Esposito wrot= e: > >=20 > >=20 > > Am 17/01/2023 um 15:02 schrieb Daniel P. Berrang=E9: > > > On Tue, Jan 17, 2023 at 08:52:03AM -0500, Emanuele Giuseppe Esposito = wrote: > > >> From: Kevin Wolf > > >> > > >> This enables clang's thread safety analysis (TSA), which we'll use to > > >> statically check the block graph locking. > > >> > > >> Signed-off-by: Kevin Wolf > > >> Message-Id: <20221207131838.239125-9-kwolf@redhat.com> > > >> Reviewed-by: Emanuele Giuseppe Esposito > > >> Signed-off-by: Kevin Wolf > > >> --- > > >> configure | 1 + > > >> 1 file changed, 1 insertion(+) > > >> > > >> diff --git a/configure b/configure > > >> index 2281892657..14668e6269 100755 > > >> --- a/configure > > >> +++ b/configure > > >> @@ -1183,6 +1183,7 @@ add_to warn_flags -Wnested-externs > > >> add_to warn_flags -Wendif-labels > > >> add_to warn_flags -Wexpansion-to-defined > > >> add_to warn_flags -Wimplicit-fallthrough=3D2 > > >> +add_to warn_flags -Wthread-safety > > >=20 > > > Does this thread safety analysis have any kind of measurable > > > impact on compilation speed ? > > >=20 > > > Our CI jobs are quite sensitive to any increase in build > > > time. > >=20 > > From a quick run in my machine (Dell PowerEdge R440 with Intel(R) > > Xeon(R) Gold 5120 CPU @ 2.20GHz, 28 cpus): > >=20 > > without clang: > > real 2m46.729s=0F > > =03user 19m24.122s=0F > > =03sys 2m58.643s=0F > >=20 > > with clang: > > real 2m45.204s > > user 19m52.096s > > sys 2m9.036s > >=20 > > So there should be no significative impact. > >=20 > > I also forgot to mention that this serie fixes the CI failure seen in: > >=20 > > https://gitlab.com/qemu-project/qemu/-/jobs/3479763741 > > https://gitlab.com/qemu-project/qemu/-/jobs/3479763746 >=20 > Odd, that job already has -Wthread-safety included in CFLAGS, which > would seem to make this patch redundant, but I don't see where > -Wthread-safety came from in that pipeline=20 This patch is what was already in the branch in which the above CI tests ran. I dropped it from the pull request because of these build failures on FreeBSD. (Their libc includes TSA annotations, which means that QEMU functions have to be annotated as well when they call pthread locking functions, before we can enable -Wthread-safety.) So patches 1 and 2 fix the failure that you would otherwise see with this patch. Kevin