From patchwork Thu Nov 17 00:20:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 21345 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp134756wrr; Wed, 16 Nov 2022 16:22:41 -0800 (PST) X-Google-Smtp-Source: AA0mqf5P3f2yQj4PhRAxYDdC3aBQLxggGVGh0QdPBBtkNolXzlSX4HRXhK1ZpOPuFuE1lmeMx0F7 X-Received: by 2002:a17:90b:a15:b0:212:8f7:acf with SMTP id gg21-20020a17090b0a1500b0021208f70acfmr276186pjb.13.1668644561312; Wed, 16 Nov 2022 16:22:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668644561; cv=none; d=google.com; s=arc-20160816; b=VBOXlo2TykHz60g4bGqjcSxINWp7uzaLfKsKPFq9PUy+qaTEuuIUcke1e6hPYR0TuI jKS7Cx73ZnwTa3rt1P97IkYl6wFX1qmzse0NBWsNckyzj+dgEoU6vlDRDHhJms+0V9bo eW8K+837zaFlGy7A3KZs9AZhtdXYmQGedExYyZxMAep2cvzdfZGwHLJicD5vWWDoYWWS dwSZRrC1XaUzDX0ks9XftLxs1DczWuux8Y42gBRXNKZq/Kq+yBORL45woY9ur0pXwu1O 3jf+skhR04kWSsrSLmpt2itOznFbPfQPX4QsUGzMa6ubktmrPEiXXe8gglzBXUHc8Xrx n70Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=oYrGcKZ90fvfsXSmxF4aK7/kvJ4eaidpI88a5ZAW7vs=; b=SzJqS5X4/5IwyXUiYXZVYDXtompyz3dc7a6t54utA0sF5+h9v1fd+KCJlYwSsz/DSE oz+kXsZobYKbYRvfmOMMgXJWuCZgvO1xBu8/oBhdAFSoEK5MnDKOVfmfzKujUONQHvpo LURX9UG9A5ADpv5xAQuZJSMGzCNmZNgt/+lR7FGLZgpDRNffez5DeBXuBsqrnp9qly0C UMDmDqtuprHN7Mb08T89cff4ysZ2pq8fuHizHReIMJo51SkIYJ07qlF5mIRDd+oBmRC/ 4TTY8xjDvniUi01b4BfFfeC0dSMwyqU+kB74vYAKBjujMSpI8dKN38XC1t2zxp+G5bfu 4MDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="qwy/1FEz"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n12-20020a170902d2cc00b0017f9db0233fsi18435726plc.448.2022.11.16.16.22.28; Wed, 16 Nov 2022 16:22:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="qwy/1FEz"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S234230AbiKQAUe (ORCPT + 99 others); Wed, 16 Nov 2022 19:20:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54126 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234166AbiKQAUb (ORCPT ); Wed, 16 Nov 2022 19:20:31 -0500 Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 17B264730C for ; Wed, 16 Nov 2022 16:20:30 -0800 (PST) Received: by mail-io1-xd29.google.com with SMTP id p141so241722iod.6 for ; Wed, 16 Nov 2022 16:20:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=oYrGcKZ90fvfsXSmxF4aK7/kvJ4eaidpI88a5ZAW7vs=; b=qwy/1FEzGt4fj7T2IyliiuYzYT/y/jniUSkgNGUXxB9xhsBPLzotbdGrENzUTLXf7x RJB4utHxjzAr5t2Rhp/XzN40Wf6TNKfz7HOtk2Izc5Xr4E6WyBH1fxO1CB9tCh2Xkf/n t7m1fDRkQOpeebwotn03PTV9Ei1Jzy4mTfZCrMH00SjR0xUTLa1JxKkeXhrhvq80mMBU AQaSXgSH8GP9Hq/vYdmBmd8o1GRPyVKM09TKTCkKXI9vBV2OwEov/Izuzlb+EXQI1968 JYfbC3rz54rYvb4EOSJS/YltrSYcpk+oziYnuHfVGUN8Et8HWOYom7TTsKRnKbd41Hvv yF5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=oYrGcKZ90fvfsXSmxF4aK7/kvJ4eaidpI88a5ZAW7vs=; b=xcTY2aT3rTRObLlK3GqiWAbjifUxsRROnv64zMhkOr7/RI2m0waa1Pyw2rIyIjiLwE 3IXx2/VrFEyFCrbu63vapq6rKxStra4zYUzpkJVVdwZzfDecDYnOPE3BdwHRLbvZpUZV q4nh7bAmKL+lYlgbduk4CgkpJ04wzH6372/WwRali+I7Q0Je6usUsNpyR9owIsfMu/87 68UBOFqIdpFPF6lP+dFRfGZeZi7M+7B1V7cpn5ieBntoAOTMvqto1kwQ6MWWtxGmGz7G lCcUCWXrV2EU5lZLK1noHsFhiKPbMS5vsdEYubGQBGHDfZZf5uPQi5mxpSl8VmLDfELe A/ZA== X-Gm-Message-State: ANoB5pk/ofsQmQqPr53v+Njr4oYjwTi0k/1gF8s2immlpQti+UVjxGA7 tM7cuNuUlZz/VN6IBD/bnPI= X-Received: by 2002:a05:6602:4190:b0:6a4:9ae9:1303 with SMTP id bx16-20020a056602419000b006a49ae91303mr353818iob.43.1668644429402; Wed, 16 Nov 2022 16:20:29 -0800 (PST) Received: from frodo.. (c-73-78-62-130.hsd1.co.comcast.net. [73.78.62.130]) by smtp.googlemail.com with ESMTPSA id o194-20020a0222cb000000b0037556012c63sm6119777jao.132.2022.11.16.16.20.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Nov 2022 16:20:29 -0800 (PST) From: Jim Cromie To: jbaron@akamai.com, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org Cc: Jim Cromie Subject: [PATCH 1/2] vmlinux.lds.h: fix BOUNDED_SECTION_(PRE|POST)_LABEL macros Date: Wed, 16 Nov 2022 17:20:21 -0700 Message-Id: <20221117002022.860237-2-jim.cromie@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221117002022.860237-1-jim.cromie@gmail.com> References: <20221117002022.860237-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749700639121493682?= X-GMAIL-MSGID: =?utf-8?q?1749700639121493682?= commit foo added BOUNDED_SECTION_(PRE|POST)_LABEL macros, encapsulating the basic boilerplate to: KEEP/pack records into a section, and to mark the begin and end of the section with linker-symbols. But it tried to do extra, adding KEEP(*(.gnu.linkonce.##_sec_)) to optionally reserve a header record in front of the data. It wrongly placed the KEEP after the linker-symbol starting the section, so if a header was added, it would wind up in the data. Putting the KEEP in the "correct" place proved brittle, and too clever by half. The obvious safe fix is to remove the KEEP, and provide separate macros to do the extra work. While here, the macro var-names: _s_, _e_ are nearly invisible, change them to more obvious names: _BEGIN_, _END_ Signed-off-by: Jim Cromie --- include/asm-generic/vmlinux.lds.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 50851425b229..85d5d5b203dc 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -199,17 +199,15 @@ # endif #endif -#define BOUNDED_SECTION_PRE_LABEL(_sec_, _label_, _s_, _e_) \ - _s_##_label_ = .; \ - KEEP(*(.gnu.linkonce.##_sec_)) \ +#define BOUNDED_SECTION_PRE_LABEL(_sec_, _label_, _BEGIN_, _END_) \ + _BEGIN_##_label_ = .; \ KEEP(*(_sec_)) \ - _e_##_label_ = .; + _END_##_label_ = .; -#define BOUNDED_SECTION_POST_LABEL(_sec_, _label_, _s_, _e_) \ - _label_##_s_ = .; \ - KEEP(*(.gnu.linkonce.##_sec_)) \ +#define BOUNDED_SECTION_POST_LABEL(_sec_, _label_, _BEGIN_, _END_) \ + _label_##_BEGIN_ = .; \ KEEP(*(_sec_)) \ - _label_##_e_ = .; + _label_##_END_ = .; #define BOUNDED_SECTION_BY(_sec_, _label_) \ BOUNDED_SECTION_PRE_LABEL(_sec_, _label_, __start, __stop) From patchwork Thu Nov 17 00:20:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jim Cromie X-Patchwork-Id: 21346 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp134858wrr; Wed, 16 Nov 2022 16:22:58 -0800 (PST) X-Google-Smtp-Source: AA0mqf65URO+RCEm6zmQQvOPy3OUVB+IKMMkHLm3F0ywRlAaiF3/fIalyCcbR0HYOETi37LeifFL X-Received: by 2002:a63:ce04:0:b0:46b:2493:14ad with SMTP id y4-20020a63ce04000000b0046b249314admr23150080pgf.274.1668644578446; Wed, 16 Nov 2022 16:22:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668644578; cv=none; d=google.com; s=arc-20160816; b=Toc14TcmMP2TS/DvNx3z4NhwBbsMXELoDR95oTncVtzhlASsgYFQHY1UnWukN0a1/v zn0lkSawnSC3p+I/gOJ/JXEezRcTHHvNfW1uC4c+lhMD+95ZhiJAqQSqguA5qNmO7yRp /h8T8viCG4hqrdQlB9o/00gXTEMzxUoEd6COkxDyT1DCke95lLrbHp0liAMx77myAwnt fdtyEbNHFxZ1GWOea8wjm9fKUHl2ymGYh8yGn3M9GGRt8LARuJsKSID3JPibxKLUXy2r NuisXnmB93kzt+Qf9y4kHA6DB+TIWH/JnkM4pL12+vD+TcJfY8OV1plRosehXuCuaKXe xDHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=141E8a1mmNxybFT5cH+5JL9cg+6l3MIV4pAtA/MvRqQ=; b=KfVh5le/TfPDHG8Hku5an+rjK4V08OTb52MjuP8ANbdIBw6s59yPMZustmtLGkK5qC YubUM+wjzowy0bTB7frxN5dJeLkRmxE8IWs/4z07kdfMV2M+k/71clonfYis6Q8zIL6i +wbnoL/3YmuDT7k6xS4+Ltc1rDj0RGDGuyavZTJs1FTmCvHWphwAxErDF2TRN4jZ64AB cWm2nq1BuoXPgmRS1EpZVXUtTCZTY/IeyUvKHF4V5CJ5Dowj1FKGZSekNuncuIoay1mL VU5cfsck35y+8fEouXqLpjp+x7cAoF2jnZ8g8HrRdt83c6DhrV9wymRypZ+T0iklRTaz DGCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JnoZCHba; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b17-20020a63d311000000b00439f026cf5dsi15511028pgg.612.2022.11.16.16.22.45; Wed, 16 Nov 2022 16:22:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JnoZCHba; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S234327AbiKQAUh (ORCPT + 99 others); Wed, 16 Nov 2022 19:20:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54148 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234039AbiKQAUb (ORCPT ); Wed, 16 Nov 2022 19:20:31 -0500 Received: from mail-io1-xd31.google.com (mail-io1-xd31.google.com [IPv6:2607:f8b0:4864:20::d31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E94E247328 for ; Wed, 16 Nov 2022 16:20:30 -0800 (PST) Received: by mail-io1-xd31.google.com with SMTP id r81so259906iod.2 for ; Wed, 16 Nov 2022 16:20:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=141E8a1mmNxybFT5cH+5JL9cg+6l3MIV4pAtA/MvRqQ=; b=JnoZCHbaJPOhGVTuemL+ScxeKtbkZnan1wtVEUSLnu05vIZ3/P/1HBtlP58/Davzef rLU7tVevOsHOzCHBr7SddlcOfHj0ItgmLsoSDJJ2xJPZr1vZzRf/3sIMPniZAjqpvaao 0aK9QXxP9POHj6FKJrdAsYgleSxiexWzIXbDd56jQysagDswcPJ+o6JBRoxT4lI0R62+ Gui+kbdXxNnMgEV2xnDCAihshpreiV/OzzVOSlfNcg931WjafaKrqigwrh4NDC4tX24I XxjS/8je6m1zneyaOjIlHbWm6tvy1SQsASLOvvIYzdKUBRVPEltNUZPY5ObFX0zW0r13 74ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=141E8a1mmNxybFT5cH+5JL9cg+6l3MIV4pAtA/MvRqQ=; b=EdvjaoJOWJBLgW+pQ/Pa+wCBNu9wkzNN97RnkbzQp66da7k2fm5id+jgr2uPy2H38h bNnxGznt3iw+eQzOCXbHNL4XwhVvop3hKRng10kY61qFEDG2wy6rwXeLhLnBRj+Syh3V r6qVrl54cm9pcjbSnao0k9eXIoToxDDJYI8u4UPTLyGeyWXhYd/W3nRXgZABpkDolx6j 2ql0fVVsG4XiKjglCwwP40wfLyBgQlbOzRXgWasFXjgaU+qYnY5U7EDAl+r4ymcQ1nOJ 02fAZaPp9HCfx7p3bDlm4UFFTbtcwzv9UtaC+MRcqRm5z9Z9bMFaYgnX+xVD51GZu98J mSpg== X-Gm-Message-State: ANoB5pl3wl1l5Lf87rZOd5M+qkwWHisdpZ3sbRxZncMv5NJg7LT/lKGF TVykmNPh6VcQ93myY3b1t5g= X-Received: by 2002:a05:6602:736:b0:6bc:b2ee:a61e with SMTP id g22-20020a056602073600b006bcb2eea61emr319815iox.195.1668644430279; Wed, 16 Nov 2022 16:20:30 -0800 (PST) Received: from frodo.. (c-73-78-62-130.hsd1.co.comcast.net. [73.78.62.130]) by smtp.googlemail.com with ESMTPSA id o194-20020a0222cb000000b0037556012c63sm6119777jao.132.2022.11.16.16.20.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Nov 2022 16:20:29 -0800 (PST) From: Jim Cromie To: jbaron@akamai.com, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org Cc: Jim Cromie Subject: [PATCH 2/2] vmlinux.lds.h: add HEADERED_SECTION_* macros Date: Wed, 16 Nov 2022 17:20:22 -0700 Message-Id: <20221117002022.860237-3-jim.cromie@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221117002022.860237-1-jim.cromie@gmail.com> References: <20221117002022.860237-1-jim.cromie@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749700657712464005?= X-GMAIL-MSGID: =?utf-8?q?1749700657712464005?= These macros elaborate on BOUNDED_SECTION_(PRE|POST)_LABEL macros, prepending an optional KEEP(.gnu.linkonce##_sec_) reservation, and a linker-symbol to address it. This allows a developer to define a header struct (which must fit with the section's base struct-type), and could contain: 1- fields whose value is common to the entire set of data-records. This allows the header & data structs to specialize, complement each other, and shrink. 2- an uplink pointer to an organizing struct which refs other related/sub data-tables header record is addressable via the extern'd header linker-symbol Once the linker-symbols created by the macro are ref'd extern in code, that code can compute a record's index (ptr - start) in the "primary" table, then use it to index into the related/sub tables. Adding a primary.map_* field foreach sub-table would then allow deduplication and remapping of that sub-table. This is aimed at dyndbg's struct _ddebug __dyndbg[] section, whose 3 columns: function, file, module are 50%, 90%, 100% redundant. The module column is fully recoverable after dynamic_debug_init() saves it to each ddebug_table.module as the builtin __dyndbg[] table is parsed. Given that those 3 columns use 24/56 of a prdbg record, a dyndbg=y kernel with ~5k callsites could save substantially. Signed-off-by: Jim Cromie --- --- include/asm-generic/vmlinux.lds.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 85d5d5b203dc..a3b6aa30a525 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -214,6 +214,21 @@ #define BOUNDED_SECTION(_sec) BOUNDED_SECTION_BY(_sec, _sec) +#define HEADERED_SECTION_PRE_LABEL(_sec_, _label_, _BEGIN_, _END_, _HDR_) \ + _HDR_##_label_ = .; \ + KEEP(*(.gnu.linkonce.##_sec_)) \ + BOUNDED_SECTION_PRE_LABEL(_sec_, _label_, _BEGIN_, _END_) + +#define HEADERED_SECTION_POST_LABEL(_sec_, _label_, _BEGIN_, _END_, _HDR_) \ + _label_##_HDR_ = .; \ + KEEP(*(.gnu.linkonce.##_sec_)) \ + BOUNDED_SECTION_POST_LABEL(_sec_, _label_, _BEGIN_, _END_) + +#define HEADERED_SECTION_BY(_sec_, _label_) \ + HEADERED_SECTION_PRE_LABEL(_sec_, _label_, __start, __stop) + +#define HEADERED_SECTION(_sec) HEADERED_SECTION_BY(_sec, _sec) + #ifdef CONFIG_TRACE_BRANCH_PROFILING #define LIKELY_PROFILE() \ BOUNDED_SECTION_BY(_ftrace_annotated_branch, _annotated_branch_profile)