Received: by 2002:a05:6358:7058:b0:131:369:b2a3 with SMTP id 24csp6670667rwp; Tue, 18 Jul 2023 04:16:51 -0700 (PDT) X-Google-Smtp-Source: APBJJlHeZPF2joVG2ShHrEtnxqRyWD2zlMSfFhiz7sKFQ3MxkF01YYXCWt2oKjjmgnvcK57TWG8t X-Received: by 2002:a05:6a21:585:b0:134:1aac:630a with SMTP id lw5-20020a056a21058500b001341aac630amr7891472pzb.29.1689679011227; Tue, 18 Jul 2023 04:16:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689679011; cv=none; d=google.com; s=arc-20160816; b=nOPhBg3d0U6V43nXo1yV7KimvXEUunbyijkZRn1taF8kRNU98Vi0xqkGXrSz36s/mm Lnh8MRo73qkUN7stm+5VGgU4JyY9sCo660VYYkmtPSWRUPNY7ruKww6zody0PiyoNaae nkCPhFrcN0L4MfJ+A6QwiwgcxuvNVM1Ijf0QtKFrN+Vl3g9zT1eyC81At0ZWyu/+jNKg 6xyagChedlLBVb9mGvYqutu0XxJ63LoiZtlLoLPTqDFYExS5N/WG7acMeIky8eYCgIsD BzH7k4N64In4FXB6GFymrXlY4hHhiA0GHJrEfHj34FhwQhZof3V3ZLLrDobuB5tm4LEW ysZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=cYSPPJQnROQbUy1Pjj2qdruexKLfeAOlY4k9OqiPSDI=; fh=NjU55UhhgJ2L/XKqSkXQusgn9AYELDiKrWtbOrflqP0=; b=j/OqS23JL83sNOK+8cRVkmNf1qzxQX5VhcBwM0wPxyW8KH68ywKyLEIvubKs81ZNy2 hsC8XAc5PUcxERsNQtNo69Sh9LrXEhC09chw5OWo0SCVP9VpDXpYNb9I7hL3BA2fug14 Ih1XCUDosA1aMtHLAb/CtFWGqD/2YI6oOWLdJR24cJdUPJzSDkUbhv6UX5FwON/wUuUQ v+YD1rk8vruURAi3itCPr8qN1QlWsMNa7mIkrD2TLBjyk6CbwnkEEsqx5O+ipE4XAw0m DXVFfV0MNYhAVuICDxUL+z/Z85xao3MY4WRwlWa4r2XAsIQh/F8PL0WQ829Db/xPFU5g RiEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=upKnMj9O; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o17-20020a056a0015d100b0068285516e43si1397972pfu.321.2023.07.18.04.16.38; Tue, 18 Jul 2023 04:16:51 -0700 (PDT) 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=@google.com header.s=20221208 header.b=upKnMj9O; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230228AbjGRKsj (ORCPT + 99 others); Tue, 18 Jul 2023 06:48:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229872AbjGRKsh (ORCPT ); Tue, 18 Jul 2023 06:48:37 -0400 Received: from mail-io1-xd2c.google.com (mail-io1-xd2c.google.com [IPv6:2607:f8b0:4864:20::d2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3079394 for ; Tue, 18 Jul 2023 03:48:37 -0700 (PDT) Received: by mail-io1-xd2c.google.com with SMTP id ca18e2360f4ac-7835971026fso237228639f.3 for ; Tue, 18 Jul 2023 03:48:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1689677316; x=1692269316; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=cYSPPJQnROQbUy1Pjj2qdruexKLfeAOlY4k9OqiPSDI=; b=upKnMj9OHGor0jAw0lwQddx4TNrZLQVqwdQ0yIgg0HvCXIIREeO/bEmETgaU+byIzb 8yJloVzfCEgDNhMi3OLALyDcCEnxCymXYhbgbowQ8WuUDl6Rl/plSVfly+t+YuoDbtY7 +/FjKlTMK6nhF+2TO+byewub2QjZc83GiX+xRThvbG3u3xBGkV4XhzZEYNZA1U8YZ3wd T3YuBSYZ9K++LmnJS3MFi6ukJeONUM9EmiNtyF6Cch36UyEvqvuQGzvktAjlKxhXqBgw 1OTuCkSvgJoQ5RMEUwY6drQAg9jVcJRdOQ/nW4lL6/i9yIrDLA684CJraQt05jtFqOLI wPDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689677316; x=1692269316; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cYSPPJQnROQbUy1Pjj2qdruexKLfeAOlY4k9OqiPSDI=; b=i5Ovx3crDT0GLjxJ9ndVhosd/7gtdLwoZt8MSlP5uCoVMwDt1uxM5IEtMYGfiwsz9M zZPLrrsRRWVALY/fQxBF9f1WkfJ6mtqBftH+Kz6t7Sko6qTifFGq/BdANcQZVyr0JPnM Y2Ne5RoCKJkN0BxqPBT48RVG6v2eB1PglyaYdbX1jfarMesUzrkSxTRscF1rPmpLdrCl 1t217qV31X4v+mqda+ZKTYQZF/RFs6tNegu2AfavhgSZinp10rFWrZcODRyHittg45Aq vjpnfjQqehQPxLQGn2mzE/FvoLvD2WIImDJF4tc7WkzZpYMT3AXSJYqI7f9NjIXb0mf0 oK5Q== X-Gm-Message-State: ABy/qLaISgi8XGw9R+jJL1dkTWeZYTwezx8WbPI4WVWtsn9vbdak1STq rdUEQW4sNMInWwmVqaNtIoIpFLnralLQvRgv6PQn3A== X-Received: by 2002:a05:6602:2292:b0:787:a73:b411 with SMTP id d18-20020a056602229200b007870a73b411mr1776776iod.17.1689677316443; Tue, 18 Jul 2023 03:48:36 -0700 (PDT) MIME-Version: 1.0 References: <20230717113709.328671-1-glider@google.com> <20230717113709.328671-6-glider@google.com> In-Reply-To: From: Alexander Potapenko Date: Tue, 18 Jul 2023 12:48:00 +0200 Message-ID: Subject: Re: [PATCH v3 5/5] arm64: mte: add compression support to mteswap.c To: Andy Shevchenko Cc: catalin.marinas@arm.com, will@kernel.org, pcc@google.com, andreyknvl@gmail.com, linux@rasmusvillemoes.dk, yury.norov@gmail.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, eugenis@google.com, syednwaris@gmail.com, william.gray@linaro.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL 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 > > +#include > > But you actually don't use that. > > struct page; > > forward declaration is enough. Fair enough. > > > +void *_mte_alloc_and_save_tags(struct page *page); > > +void _mte_free_saved_tags(void *tags); > > +void _mte_restore_tags(void *tags, struct page *page); > > + > > +#endif // ARCH_ARM64_MM_MTESWAP_H_ > > ... > > > +void _mte_free_saved_tags(void *storage) > > +{ > > + unsigned long handle = xa_to_value(storage); > > + int size; > > + > > + if (!handle) > > + return; > > Perhaps > > unsigned long handle; > > handle = xa_to_value(storage); > if (!handle) > return; I don't have a strong preference and am happy to change this, but, out of curiosity, why do you think it is better? This pattern (calling (even non-)trivial functions when declaring variables) is widely used across the kernel. Or is it just for consistency with how `handle` is used in the rest of the file? > > +void _mte_restore_tags(void *tags, struct page *page) > > +{ > > As per above. Ack > > + if (try_page_mte_tagging(page)) { > > + if (!ea0_decompress(handle, tags_decomp)) > > + return; > > + mte_restore_page_tags(page_address(page), tags_decomp); > > + set_page_mte_tagged(page); > > + } > > I think you may drop an indentation level by > > if (!try_page_mte_tagging(page)) > return; > > > +} Ack > ... > > > +void _mte_restore_tags(void *tags, struct page *page) > > +{ > > + if (try_page_mte_tagging(page)) { > > + mte_restore_page_tags(page_address(page), tags); > > + set_page_mte_tagged(page); > > + } > > Ditto. Thanks!