Received: by 10.192.165.148 with SMTP id m20csp4613752imm; Tue, 8 May 2018 11:13:36 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrTA446YyEdJpiSR3rQw6tXPQRuiFdlGLPjefAulKgbNEijd+sEpZsf7XQXfdqABiaRFVbi X-Received: by 2002:a17:902:5602:: with SMTP id h2-v6mr43218572pli.115.1525803216140; Tue, 08 May 2018 11:13:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525803216; cv=none; d=google.com; s=arc-20160816; b=hLYEkkq2vyIPbCDcIy/ZnEqw9JaosarePfaVT6ONj20qsHnvWrQCCau2TE54efpBOG zh2W0ptheub1wfzDq4yETOnW/kVwR6f7X82bIS0wp94HixMMHHsyyjmGCbmmKFKYdniv qdo/eXAHZJpAufO5hEiACLVXssG6P72zehOtGF34dFT5BLBn6+rTR7xDJbzFlNNqte6N sbLQ1H4BbuSrHuQezHdrgT8EQVPrDC4p4kTJF0UEwaTiCq1EATvmFQp/BWZDZEHM25ON +HK16c5s6eDAWU5tiet90lU8RTBylhrKKta0p+eAKbYUkVS4vMpSPNRA2RgQFyCl3FF9 HwuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature:arc-authentication-results; bh=iT9+ExdEWud7Mw0vf3Fr6BrUX16fYlapg6l0+BnYnAU=; b=N1yZyuFdL2sxkyya+npaI7dVxXhlOuVU00EEIwc0AB6GJOiIp97slCL5Q4B+qiGrju MZrGEZ3Ru0qNzh7/jwV6Yo8eyvxnaYO1RN+hYLCWClFvq0Tu16iGmUxH5SeldIho+TIu VqJ8tBkNYcqLEiKj8qpOrUPoDyxyYRE9ghBmyJs34i9juURbbL2Hz8WhuOwH5Nf7q5wV AE3EJ/67T6E2Kz18mnE1Ahp9/kzW4pUZwAEWmBYgLzB/+Ge5y8sTl6H4F0tZUpWXafEM bA+Sfs7jhyRGP8sRWQlVsLTL2LSIbxloX2gVfkglGGefIVJVs/tjOQp06X99zcCsq3Rh au9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DDt8SD2i; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k85si24934471pfb.321.2018.05.08.11.13.21; Tue, 08 May 2018 11:13:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DDt8SD2i; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933223AbeEHSMg (ORCPT + 99 others); Tue, 8 May 2018 14:12:36 -0400 Received: from mail-pl0-f67.google.com ([209.85.160.67]:37208 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933026AbeEHSMd (ORCPT ); Tue, 8 May 2018 14:12:33 -0400 Received: by mail-pl0-f67.google.com with SMTP id f7-v6so2696806plr.4; Tue, 08 May 2018 11:12:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=iT9+ExdEWud7Mw0vf3Fr6BrUX16fYlapg6l0+BnYnAU=; b=DDt8SD2iS1oxpfIoI4hAPpYb5InLxI2KMOMf3ELPx7pNl6IHA5KYWuCqiEgJBHNyNV +FmGRVIOCX/nb4XlyrP6c1KvQahGzod1WI2ioK4wvmfY0hReYxnHBWNlvDSll1X9U91o e4atjXYfrhMRMCJgKyXtyp5jxwC/d4hX0Q/SRmvmcDiYa3UYktgw4JK5GEkGDT5YSkJy 9ImaSb4wMTvJOmNYp7djitL/bpNBOMlqs2a7FCCOn1O2Q7QGK48rBKsrOhb6jZ2hAFRv TdhRXlNLB9QPcYcZICW+z6sb5EnRtOyxDOfd/GZWFdvezER3DLQGlHWpmBCce2C5n2dN QjRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=iT9+ExdEWud7Mw0vf3Fr6BrUX16fYlapg6l0+BnYnAU=; b=exCEj6q+L2yyJ3YnEKLp8WCNmyix/2optbULr5SOytmjkveJvlH2PwHEDC2FwptWiK 2LKeZ39ZDV00uVcFFpmlI5EsDbdfvaQX6mrigEXGoe3BH9tYjPI8+OSpWFavSW86Q9s+ lhmXnu5dXXbHfG4eLw7np0gn0F09wghqJ2oGlmm/N0C8sxlxqBMcXP5KulbyCXoW/nLC 3K+MXpDt/4ooQGfbCK2VsnwQmoqdGQbRoyaGKU10mLpJ9zm+wXFUAfzkjpYQOa0sckmX N+hG7TQCzL2nmSYV0mUEz1+AYD49LOTeSMaUru7iXMkiF8jjh5+jamXAqBxcNZs93LE0 CUlg== X-Gm-Message-State: ALQs6tD8o0i8hBaDnsyrZSsShA3cdGlRIcJT1C41BPHmCa9b8B1Kf5oc DZ8TnzvfeFRKmjFgfd7dknA= X-Received: by 2002:a17:902:b40f:: with SMTP id x15-v6mr41329044plr.167.1525803152335; Tue, 08 May 2018 11:12:32 -0700 (PDT) Received: from [10.2.101.129] ([208.91.2.2]) by smtp.gmail.com with ESMTPSA id w85sm51346800pfa.35.2018.05.08.11.12.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 May 2018 11:12:31 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: [PATCH] compiler-gcc: disable -ftracer for __noclone functions From: Nadav Amit In-Reply-To: <86f2fb42-b0eb-46d2-0aed-7efdb306bfe0@redhat.com> Date: Tue, 8 May 2018 11:12:30 -0700 Cc: Linux Kernel Mailing List , kvm list , lkml@tlinx.org, Andrew Morton , Michal Marek , stable@vger.kernel.org Content-Transfer-Encoding: quoted-printable Message-Id: <6E5A36F3-F83E-4022-BE3A-88F1BADA3EEF@gmail.com> References: <1459410252-15531-1-git-send-email-pbonzini@redhat.com> <6BAD64FE-CC59-40C3-9C42-90BB8EEE5453@gmail.com> <86f2fb42-b0eb-46d2-0aed-7efdb306bfe0@redhat.com> To: Paolo Bonzini X-Mailer: Apple Mail (2.3273) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Paolo Bonzini wrote: > On 05/05/2018 19:22, Nadav Amit wrote: >> Paolo Bonzini wrote: >>=20 >>> -ftracer can duplicate asm blocks causing compilation to fail in >>> noclone functions. For example, KVM declares a global variable >>> in an asm like >>>=20 >>> asm("2: ... \n >>> .pushsection data \n >>> .global vmx_return \n >>> vmx_return: .long 2b"); >>>=20 >>> and -ftracer causes a double declaration. >>>=20 >>> Cc: Andrew Morton >>> Cc: Michal Marek >>> Cc: stable@vger.kernel.org >>> Cc: kvm@vger.kernel.org >>> Reported-by: Linda Walsh >>> Signed-off-by: Paolo Bonzini >>> --- >>> include/linux/compiler-gcc.h | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>=20 >>> diff --git a/include/linux/compiler-gcc.h = b/include/linux/compiler-gcc.h >>> index 22ab246feed3..eeae401a2412 100644 >>> --- a/include/linux/compiler-gcc.h >>> +++ b/include/linux/compiler-gcc.h >>> @@ -199,7 +199,7 @@ >>> #define unreachable() __builtin_unreachable() >>>=20 >>> /* Mark a function definition as prohibited from being cloned. */ >>> -#define __noclone __attribute__((__noclone__)) >>> +#define __noclone __attribute__((__noclone__, = __optimize__("no-tracer"))) >>=20 >> [ Bringing the thread back from the dead for context ] >>=20 >> Setting different optimization attributes to certain functions = apparently >> prevents gcc from inlining functions with different = =E2=80=9Coptimizations=E2=80=9D. This >> results in poor compilation - most notably of vmx_vcpu_run() - and = causes >> short functions such as to_vmx() not to be inlined. >=20 > Hmm, I suppose we need to disable -fno-tracer globally... Has this > changed in recent versions of GCC? I don=E2=80=99t think so. I played with optimization attributes of gcc = some time ago and saw the same behavior. Unfortunately, I don=E2=80=99t easily find = the place in gcc that implements this behavior.